【Unity】プレイヤーが乗ったら垂直に落下する床の作成

アクションゲームを作成していると色々なトラップを作成したくなるものです。

今回は、プレイヤーが特定の床に乗ったらその床を垂直落下させたいと思います。

スポンサーリンク

【Unity】プレイヤーが乗ったら垂直に落下する床の作成

まずは、トラップとなる床を作成します。

垂直落下する床

今回は分かりやすいように、赤い部分が落下する床とします。私の場合は床というよりもブロックといった感じですね。オブジェクトもCubeを使って作成しています。

落ちる床のトリガー

Cubeを複製してMeshRendererのチェックを消しやや上に持ち上げます。

複製したCubeは元のCubeの子オブジェクトにしておきます。

子オブジェクトのインスペクタの設定

子オブジェクトのCubeを選択してIs Triggerにチェックを入れます。

スクリプトの作成

続いて、落下させるためのスクリプトを書きます。

落ちる床のスクリプト

自身が動かすキャラクターに「Player」等のタグを設定して、キャラクターが床に触れたらGravityをtrueにするというシンプルな内容です。

Rigidbodyの設定

子オブジェクトのCubeに先ほど作成したスクリプトをアタッチします。

Drop Floorには親オブジェクトのCubeを設定します。

親CubeにRigidbodyをアタッチします。

垂直落下させたいので親Cubeの「Constraints」は画像のように変更します。

すると、このようにCubeが垂直に落下します。