Unity で鍵を使ってドアを開けるチュートリアル

多くのゲーム シナリオでは、doors をキーでロック解除して開くことが一般的なゲームプレイ要素です。この Unity チュートリアルでは、鍵を使用して開けることができる単純なドアを作成するプロセスを説明します。スクリプト作成、イベントのトリガー、応答性の高いドア システムの作成といった基本的な Unity 概念について説明します。

前提条件

ステップ 1: シーンとアセットを作成する

  1. Unity を開き、新しい 3D プロジェクトを作成します (まだ作成していない場合)。
  2. 単純な door モデル (またはプレースホルダーとしてキューブを作成) とキー モデルをプロジェクトにインポートします。

ステップ 2: ドアと鍵をセットアップする

  1. doorkey をシーンに配置します。
  2. Box Collider コンポーネントをドアの親オブジェクトに追加し、必要な領域をカバーするようにスケールアップして、その "Is Trigger" パラメーターを確認します。
  3. キーゲームオブジェクトを追加して衝突検出を有効にします。

ステップ 3: DoorScript を作成する

'DoorScript.cs'

using UnityEngine;

public class DoorScript : MonoBehaviour
{
    public GameObject key;

    private bool isLocked = true;

    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject == key && isLocked)
        {
            OpenDoor();
        }
    }

    private void OpenDoor()
    {
        // Add door opening animation or simply change the door's position.
        transform.Translate(Vector3.up * 2f); // Adjust the value based on your door's size.
        isLocked = false;
    }
}

説明:

  • 'OnTriggerEnter' を使用してキーとの衝突をチェックします。
  • 衝突したオブジェクトが鍵で、ドアがロックされている場合、'OpenDoor' メソッドが呼び出されます。
  • 'OpenDoor' メソッドには、アニメーションの再生やドアの位置の変更など、カスタムのドア開閉ロジックを含めることができます。

ステップ 4: キー ゲームオブジェクトを設定する

  1. の Rigidbody コンポーネントをキー GameObject にアタッチして、物理インタラクションを有効にします。
  2. Sphere Collider (またはキーに適合する任意のコライダー) をキー GameObject に追加します。

ステップ 5: テスト

  1. Unity で Play を押してインタラクションをテストします。
  2. ドア Box Collider 内でキーを移動します。

結論

Unity のキーを使用した単純なドアロック解除システムの作成に成功しました。このチュートリアルでは基本を説明します。さらに機能やアニメーションを追加したり、ゲームの要件に基づいてゲームプレイの仕組みを調整したりして、さらに拡張することができます。

おすすめの記事
Poppy Playtime からインスピレーションを得て Unity で GrabPack を作成する
Unity でバレットタイムエフェクトを作成する
Unity でインタラクティブなオブジェクトを作成する
Unity でのキネティック インタラクションの実装
Unity で特定のキーを使用して引き出しや食器棚を開ける
Unity のインベントリを使用しないピック アンド ドロップ システム
Unity で車にプレーヤー エントリを追加する