オブジェクトの衝突時にチェックすべき collisionFlags についての話。
collisionFlags は以下の定数が使われます。
定数 | 説明 |
---|---|
None | 衝突無し |
Sides | サイド方向で衝突 |
Above | 上方向で衝突 |
Below | 下方向で衝突 |
Unity Script Reference – CollisionFlags
http://unity3d.com/support/documentation/ScriptReference/CollisionFlags.html
プログラムはこんな感じで書きます。
function Update () { if (controller.collisionFlags & CollisionFlags.Sides) { print("Side"); } else if (controller.collisionFlags & CollisionFlags.Above) { print("Above"); } else if (controller.collisionFlags & CollisionFlags.Below) { print("Below"); } }
カーソルキーで移動、スペースキーでジャンプします。
地面に立っている時に Below と None が切り替わるみたいだけどこれはキャラがアニメーションしてるからって事で良いのかなぁ?