Unity事例ノート

UNITY

触れると開くドア

ぶつかると開くドアを作ってみましょう。

Cubeを操作し、ドアに触れたタイミングで、扉が開きます。

1秒間だけ開いた後、扉は閉まります。

関連記事:
【Unity C#】自動ドアのしくみ
【Unity C#】パスワード付きドアの作成
【Unity C#】HingeJointを使ってドアを作成

ドア側のスクリプト

PlaneとCubeを作成し、Cubeの位置とサイズを変更します。

Cubeの名前をDoorに変更し、色をつけます。

シーンビューではこのように配置されています。

空のオブジェクトを作成します。

GameObjectをDoorManageという名前に変更。

位置を1にして、Doorに右端まで持ってきます。

DoorManageの位置は、このように右端に配置されています。

DoorManageの中にDoorを入れて、親子関係をつくります。

DoorOpen.csを作成し、DoorManageに追加します。

DoorOpen.csを記述します。

プレーヤー側のスクリプト

次に、プレーヤーとしてCubeを作成して、位置を変更します。

判別しやすいように、Cubeに色をつけます。

Cubeにリジッドボディを追加します。

CubeMove.csを作成し、Cubeに追加します。

CubeMove.csを記述します。

ゲームプレイして、ドアに触れてみましょう。

ドアに接触すれば開き、1秒後に元に閉まります。

OnCollisionEnterを使ってドアの当たり判定つけ、当たったタイミングで、ドア側のDoorMove()を実行。

コルーチンを使用し、ゆっくり90°回転した後、1秒待ってから再び-90°回転していきます。

関連記事:
【Unity C#】自動ドアのしくみ
【Unity C#】パスワード付きドアの作成
【Unity C#】HingeJointを使ってドアを作成