Unityで土台を作り、上から落ちてくるオブジェクトを受け止める方法

IT

オブジェクトに当たり判定を作り、下のオブジェクトを動かないようにして上から来るオブジェクトを停止させます。

スポンサーリンク

成果物

rd4
土台を作り、その上にオブジェクトを落下させ、ぶつかった時点でストップさせます。

コライダーとリジッドボディの設定

unityride1
とりあえず、オブジェクトには質量を表すリジッドボディと、当たり判定を表すコライダーのふたつのコンポーネントが必要です。
コンポーネントの追加からふたつを追加します。
unityride2
落下速度を少し速くしたいので、リジッドボディの重力スケールを少し大きくし、
unityride3
オブジェクトを1マスのサイズにしてるので、コライダーは半径0.5に設定しておきます。
rd1
1回実行してみると、オブジェクトが落下していくのが確認できます。
unityride4
土台をなんでもいいので作り、コライダーを設定します。動かしたくないので、土台はリジッドボディを設定しません。
rd4
以上です。実行すれば、目標が達成できているのが確認できます。
rd2
土台にリジッドボディを設定した場合、何もしなければこういう感じになりますが、
unityride6
「位置を固定」で全てチェックを付ければ全く動かなくなります。のっかって少ししてからY軸のチェックを外せば、「崩れる床」を作ることができます。
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。

コメント