Unity事例ノート

UNITY

自動ドアのしくみ

Unityのオブジェクトで、自動ドアを作ってみましょう。

近づけばドアが自動オープン、通過した後は閉まります。

また、ドアが動いている途中でも、離れると閉まります。

OnTriggerを使って、プレーヤーの当たり判定から、ドアの開閉を制御しています。

関連記事:【Unity C#】触れると開くドア

オブジェクトの準備

平面(Plane)とCubeを作成して、色をつけます。

Cubeは、Playerという名前に変更し、座標を変更します。

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

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

続いて、ドアを作成します。

Cubeを作成。名前をDoorObjectにして、座標を変更します。

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

空のオブジェクトの名前をDoorに変更し、位置を0にします。

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

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

次に、当たり判定を作成します。

Cubeを作成し、名前をTouchAreaに変更。

位置とサイズを変更し、トリガーにするにチェックを入れます。

TouchAreaを透明にしましょう。

マテリアルを新規作成し、名前をToumeiにします。

Rendering ModeをFadeに変更し、Aの値を0にします。

作成して透明マテリアルを、TouchAreaに付けます。

自動ドアのスクリプト

PlayerMove.csを作成し、Playerに追加します。

PlayerMove.csを記述します。

続いて、ドアのほうのスクリプトを作ります。

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

DoorOpen.csを記述します。

Playerのフィールドに、Playerオブジェクトを入れます。

ゲームプレイしてみましょう。

近づけばドアが開きますが、開いている途中で離れた場合、ドアが閉まります。

関連記事:【Unity C#】触れると開くドア