今日は講師が変わったので振り出し。
目次
玉転がしの作成
まずは床作成。
Create > Cube
Inspetorで
ScaleをX:1 Y:0.5 Z:5に設定
横と後ろに新しいCubeで壁をつける。
さらに新しいCubeをSlopeとして坂を作る。
ここからは各種操作
Cameraの設定
Seaneビューとカメラ位置を一致させたい場合は
GameObject > Align With View(Ctrl+Shift+F)
物体に色をつける
ProjectビューのCreate > Material > InspectorビューのMain Color > 好きな色を選択 > Assetsで作成したMaterialを物体にD&D
赤い玉の伝説(特に意味はない)
物体に剛体をつける
物体を選択 > InspectorビューからAdd Component > Physics > Rigidbody
重力はUse Gravityをチェック
質量はMassを数値入力(大きいほど重い)
プレイモード中の背景色を設定する
Edit > Preferences > Playmode tintの色を変更
物体の摩擦係数、反発係数を変える
ProjectビューのCreate > Physic Material
動的摩擦係数:Dynamic Friction(0~1)
静的摩擦係数:Static Friction(0~1)
反発係数:Bounciness(0~1)
D&Dで作成したPhysic Materialを物体に付与することを忘れないように。
雪だるま発生訓練(ぇ
物体に画像を貼る
Assets内で右クリック > Import New Asset > 画像選択 > 準備したMaterialのInspectorのSelect > インポートした画像選択
物体のPrefab化
作成した物体を再利用可能にする。
HierarchyビューからAssetビューにD&D
Jsファイルの作成
Projectビュー > Create > Javascript
ちなみにファイルの初期コード
1 2 3 4 5 6 7 8 9 |
#pragma strict function Start () { 一度だけ呼ばれるメソッド } function Update () { 毎フレーム呼ばれるメソッド } |
スクリプトファイルを開くエディタを変更する。
Monodevelopはさすがに使いづらい・・・・っていう方は。
Edit > Preferences > External Tools > External Script Editorを自分の好みのエディタを選択
空のオブジェクトを作る
GameObject > Create Empty
コンソールに文字を表示する。
Debug.Log("文字列");
表示確認は画面全体の左下かConsoleタブで。
物体を動かす
一軸のみ
transform.position.z += 0.1;
向きによってzをxやyに変えれば方向が変わる
三軸同時
transform.position += Vector3(0.1,0.1,0.1);
transform.Translate(0.1,0,0.1);
Vector3を指定するか相対位置の増減をさせる
入力情報の取得
1 2 3 |
if(Input.GetButtonUp("Jump")) { Debug.Log("Jumped!"); } |
もし(if)スペースキー(Jump)が離されたら(Input.GetButtonUp)コンソールにJumped!を出す。
何が取得できるか確認するには
Edit > Project Settings > Input > InspectorのAxesから確認
変数宣言
通常のJavaScriptと違って型の宣言が必要。
var 変数名 : 型名
軸を固定する
物体のRigidbodyのConstraints(拘束)で動いて欲しくない軸にチェックを入れる。
衝突してもその方向には動かなくなる
軸移動のScriptが入っていれば動いてしまうので注意
衝突判定
1 2 3 |
function OnCollisionEnter () { Debug.Log("Hit"); } |
何か(()に仮引数が入っていたらその指定物)に当たったら関数内の処理(Hitを表示)をする。
インスタンスの生成
Instantiate(Object,transform.position,transform.rotation);
引数は順に、生成したいオブジェクト、位置、角度
クリックする度にインスタンスを生成する
1 2 3 4 |
if(Input.GetButtonUp("Jump")) { Instantiate(Snowman,transform.position,transform.rotation); } } |
作成したjsファイルをイベントをつけたいオブジェクトにつける。
定義した変数がどのオブジェクトであるかをGUIから設定する。
↓
変数SnowmanにObjectであるSnowmanを設定した。
今日作ったもの。
snowman
Spaceキーで雪だるま出るよ。Cubeは左右で動くよ。
参考にしたページ
Rigidbodyに詳しいページ
GP11 チーム制作 03
摩擦係数やらに詳しい
ゲームオブジェクトをバウンドさせる。
衝突判定関連
GP11 チーム制作 05
コメント
No Trackbacks.