パスワードを忘れた? アカウント作成
14292352 journal
日記

yumeの日記: Unity学習 #3

日記 by yume

コメントありがとうございます。

Unity

  2D UFO 4 of 9

●衝突(Collider)判定を作る
・コンポーネントにCollider 2Dがすでに用意されている。
・四角形ならBox Collider 2D
・円形ならCircle Collider 2D
>当然Boxの方が処理は軽いんだろうな。
・Rigidbody2Dコンポーネントを含むGameobjectがColliderを持っているとき、ほかのColliderに衝突したり、重なったりすると、
Rigidbodyを持っているやつにだけ力が働く(重なっていたら飛び出したりする)
>というか、Rigidbody2Dコンポーネントがないとそもそも力という概念が無いのか。
・Rigidbody2Dコンポーネントを持っていない衝突オブジェクトは、例え重なっていたとしても飛び出したりはしない
よって、空間に静置される壁などの静止オブジェクト同士を、力の影響を考えずに重ねたりできる。
・Wireframe表示モードがある。
>Unityは全体的にグラフィック編集ソフトっぽい雰囲気がある。
・Colliderコンポーネントは複数設定することができる。これを応用し、例えば中抜きの四角形Collider(部屋の四隅など)を作ることができる。

  2D UFO 5 of 9

●カメラ
・ヒエラルキー枠で、GameObjectにGameObjectを重ねると親子関係にできる。
・子は親に対する関係性を維持する。逆はしない
例えば親が動くと、子も同じだけ動く。親が回転すると同じだけ回転する。
・カメラが回転すると困るので、今回は親子関係は使わずに、カメラにNew Scriptで、playerオブジェクトのtransform.positionに追従する命令を追加する。
public GameObject player; という風に、空のGameObject型変数を定義しておけば、コンポーネント枠でUnity上で設定できる。そこで改めてPlayerを設定する。
・ただし、関数はUpdate()ではなく、LateUpdate()を使う。
フォローパンやプロシージャルアニメーション、最終ステートの取得にはその方が適切である。
>フォローパンはともかくプロシージャルアニメーションや最終ステートとはなんやろ。ともあれ後回し。
・LateUpdate()はUpdate()の処理の後に処理される。Update()でPlayerが動いた後に確実に更新できる。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...