Unityのコリジョンで迷ったときに見るアプリを作りました

最近仕事でUnityを触っているのですが、Collision(いわゆる当たり判定)の設定で迷うことが多く、グーグル先生の力をたびたび借りていました。しかし、UnityのCollisionは想像以上に自由度が高く、文章で説明しているブログなどではなかなか「完全に理解した」という気持ちにはなれずにいました。

そこで!このたびUnityのCollisionをさまざまな設定で試せるブラウザアプリを作成しました。興味のある方はこのリンクから試してみてください! → Collision Tester

使い方

neutral
最初の状態です。どのキューブにもBox Colliderがついていますが、Rigidbodyがついていないため OnCollision** 判定も OnTrigger** 判定も起きていません。

rigidbody
“Object B”の行の “Rigidbody”にチェックを入れると、青いキューブにRigidbodyがつきます。これにより“Object A”, “Object B”の間で OnCollision** 判定が発生し、それぞれの行に”Collision”と表示されます。

trigger
次にObject Aの行の”IsTrigger”にチェックを入れると、赤いキューブについているBox ColliderのIs TriggerフラグがONになります。これにより、Object AObject Bの間で OnTrigger** 判定が発生し、それぞれの行から”Collision”が消えて”Trigger”がつきます。

kinematic

Rigidbodyがついているオブジェクトに対しては、”Kinematic”チェックボックスを設定できます。Object BにRigidbodyをつけるとObject AObject Bの間で“Collision”が表示されますが、Object Bの”Kinematic”チェックボックスをONにすると、Object BのRigidbodyのIs KinematicフラグがONになり、Object AObject Bの間でCollisionがが起きなくなります。

parent

ピンク色のキューブは、ヒエラルキー上で言うと赤色のキューブの親オブジェクト(Object A Parent)です。Object AともObject Bとも重なっていないのでCollisionもTriggerも基本的に発生しませんが、Object A ParentにRigidbodyがついていて、かつ子オブジェクトであるObject AにRigidbodyがついていない場合には、子オブジェクトであるObject Aが重なっている相手ともCollisonやTriggerが検出されます。

ね?UnityのCollision、自由度高いでしょ?

まとめ

なんでこういうツールが出回ってないのかな~と思いながら作ったのですが、もしかしてもうあるんですかね?とりあえずこれで、「UnityのCollision、完全に理解した!」と言えるかもしれませんね。「Collision Tester」、お友達にも教えてあげてください!

あと宣伝!当サークルNumber-Animalでは、7/10の夏コミに向けて新作RPG「逃亡性痛み症候群」を制作中です!「痛みで怯ませ、逃げろ!」がキャッチコピーです!頒布場所は「金曜日 西地区 “ら” ブロック 37a」です!コミケに来られない方も、Steamなどで配信予定なのでお楽しみに~

Show24

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です