Unity Tutorial 01 – physics

phiary に引っ越しました. 毎日プログラミングやWebに関する情報を発信しています! RSS 登録してたまに覗いたり, tweet やハテブして拡散してもらえると幸いです.

Pocket

前回に引き続き Unity について.

今回は前回作ったやつを少し修正して物理っぽく動かしてみます.

VIDEO

チュートリアル動画です. HD にすると見やすいです.

FLOW

ざっくりとした流れ, 動画中の注釈

  • Player に Physics → Rigidbody を適応
  • Floor にも適応
  • 「落ちた…」
  • Floor の Is Kinematic にチェック
  • Floor が固定されました
  • 「跳ねない…」
  • Player と Floor に Physic Material を適応
  • 「まだ跳ねない…」
  • Physic Material の Bounciness(反発係数)を設定
  • 物理っぽく動きました!!
  • 十字キーを押した時の挙動も物理っぽくしてみましょう
  • transform.position を動かしていたのを rigidbody.AddForce で動かすよう変更
  • 転がるようになりました!!
  • Force を調整

TIPS

rigidbody

rigidbody とは剛体のことです. ゲーム制作の現場でよく飛び交う言葉ですがあまり聞きなれない方も多いかもしれません.

ざっくり説明すると, 固体のことです.

Unity ではオブジェクトに rigidbody を追加することで物理的な意味で個体として扱うことができるようになります.

GameObject

Script Reference

Is Kinematic

Rigidbody のパラメータにある Is Kinematic にチェックを入れると外部からの力の影響を受けなくなります. 地面や壁, 固定したいオブジェクトなどに使用してください.

Bounciness

Physic Material を使えば摩擦係数や, 反発係数といった物理パラメータを設定することができます. 今回使用した Bounciness は反発係数のことで 1 で同じ力で反発し, 0 だと反発しません.

rigidbody.AddForce

これは, 剛体に力を加えます. 引数に 3次元ベクトル(x, y, z)を取りその方向から力を与えます.

オブジェクトを指定した (x, y, z) の方向に指でツンっと押すようなイメージですかね.

お次は, Web Player 用にビルドする方法について解説します.

TRACK BACK URL

POST COMMENT

メールアドレスが公開されることはありません。

COMMENT