スポンサーリンク
Unityゲームの作り方メモ脱出ゲーム

Unity3D脱出ゲームの作り方②「鍵アイテムの作成と取得」

Unity

1. はじめに

こんにちは!今回は 「Unity3D脱出ゲームの作り方」 シリーズ第2弾です。前回は基本的な部屋のセットアップを行いましたが、今回は 「鍵アイテムの作成と取得」 に挑戦します。脱出ゲームでは、鍵やアイテムを集めてドアを開けるのが定番の仕掛けですよね。

そこで、この記事では以下のことを学びます。

鍵オブジェクトをシーンに配置する方法
クリックしたら鍵を取得(消去)できるスクリプトの作成
Unityの「EventTrigger」を使ってクリックイベントを設定
鍵を取得できるようにするためのカメラとEventSystemの調整

初心者の方でも理解しやすいように、画像やコードを交えながら解説していきます。Unityの基本的な操作ができる方なら、この記事を読めば クリックでアイテムを取得する仕組み が作れるようになります!

では、さっそく鍵を作ってみましょう!


2. 準備: 鍵モデルを用意する

脱出ゲームでは、プレイヤーが鍵を見つけてドアを開ける仕組みが重要になります。今回は、Unityで鍵の3Dモデルを準備し、ゲーム内に配置する方法を紹介します。

2-1. 鍵の3Dモデルを入手する

まず、鍵の3Dモデルを用意しましょう。以下の方法で簡単に入手できます。

方法①: Unity Asset Store からダウンロード
Unity Asset Storeには、無料・有料の鍵モデルがたくさん公開されています。検索バーに「key」「鍵」と入力すると、様々な種類の鍵を探せます。


✅ 高品質な鍵アセットを活用しよう!

鍵のデザインにこだわりたいなら、Unity Asset Store から高品質な3Dモデルを入手するのがオススメです。以下のアセットは、どんな脱出ゲームにもぴったりのリアルな鍵が揃っています。

🔑 Keys and Locks Pack (おすすめ度★★★★★)

このパックには、さまざまなデザインの鍵と南京錠が含まれており、シンプルな現代風の鍵から、レトロな鍵まで幅広く揃っています。
🔹 特徴

  • 高品質なPBRテクスチャでリアルな見た目
  • モダンな鍵・錠前も揃っていて、どんなゲームにも適用可能
  • 複数の鍵を使い分けることで、ゲームに「鍵の使い分け」の仕掛けを追加できる

「シンプルだけどリアルな鍵を使いたい!」という方にオススメです!


🔑 Medieval Keys(おすすめ度★★★★★)

中世風の鍵で、ファンタジーやホラー系の脱出ゲームにぴったり!錆びた鍵や装飾の入った鍵が含まれており、ダンジョンや古い館の雰囲気を演出できます。
🔹 特徴

  • 中世風デザインで、ホラーやファンタジー系ゲームに最適
  • 6種類の鍵と錠前がセットになっているので、バリエーション豊富
  • 低ポリゴンで最適化されているため、軽量なゲーム開発にも◎

「雰囲気のある鍵を使って、ゲームの世界観を強化したい!」という方は必見です。


方法②: 立体屋さんなどの外部サイトから入手
立体屋さん」などの3Dモデル配布サイトから鍵のモデルをダウンロードできます。無料で商用利用OKなモデルもあるので、自分のゲームに合ったものを探してみましょう。

インポート手順

  1. ダウンロードしたファイルが .fbx.obj 形式なら、そのままUnityへドラッグ&ドロップ。
  2. Materials フォルダ内で適切なマテリアルを設定すれば、見た目も調整可能。

3. 鍵をクリックで取得する機能を作る

脱出ゲームでは、鍵を見つけて取得することが重要な要素になります。ここでは、Unityで鍵アイテムをクリックすると消える(取得する)機能を作っていきます。


1. 鍵オブジェクトをシーンに配置

まず、ゲーム内に鍵のオブジェクトを配置しましょう。

  1. Hierarchyウィンドウで右クリック
    • 「3D Object」→ 鍵のモデルを追加します。(アセットストアや「立体屋さん」で用意した鍵モデルを使いましょう)
  2. 鍵の位置を調整
    • Sceneビューでドラッグして、鍵を適切な位置に配置します。
  3. カメラの位置を調整
    • 鍵が見える位置に Main Camera を配置。
    • Game ビューで確認しながら、ちょうど良い角度に調整。

2. スクリプトを作成

次に、鍵をクリックすると消えるスクリプトを作成します。

  1. スクリプトの作成
    • Projectウィンドウで右クリックし、「Create」→「C# Script」を選択。
    • スクリプト名を 「PickupObject」 にします。
  2. スクリプトを編集
    • PickupObjectスクリプトを開き、以下のコードを入力してください。
    • gameObject.SetActive(false); を使って、クリックされたオブジェクト(鍵)を非表示にする仕組みです。
using UnityEngine;

public class PickupObject: MonoBehaviour
{
    //クリックしたら消える(取得)
    public void OnClickObject() 
    {
        gameObject.SetActive(false);
    }
}
  • スクリプトを鍵オブジェクトにアタッチ
    • Hierarchyウィンドウの鍵オブジェクトを選択
    • 作成した PickupObj スクリプトを、Inspector にドラッグ&ドロップ してアタッチします。

3. Event Triggerを設定

鍵をクリックしたときにスクリプトの OnClickObj() を実行するように設定します。

  1. Inspectorで「Add Component」ボタンをクリック
    • 「Event Trigger」コンポーネントを追加。
  2. イベントを追加
    • Add New Event Type」をクリックし、「Pointer Click」を選択。
  3. スクリプトを適用
    • 「+」ボタンをクリック して、新しいイベントを追加。
    • 「None(Object)」の部分に 鍵オブジェクト をドラッグ&ドロップ。
    • 「No Function」→「PickupObject」→「OnClickObject」を選択

これで、マウスで鍵をクリックすると OnClickObj() が実行され、鍵が消えるようになります。


4. Colliderを追加

クリック判定を正しく動作させるために、Collider(当たり判定)を設定します。

  1. 鍵オブジェクトを選択
  2. Inspectorで「Add Component」ボタンをクリック
  3. Box Collider」を追加。
  4. 必要に応じて、Colliderのサイズを 「Edit Collider」 を使って調整。

ここまでで、鍵をクリックして取得(消去)する機能が完成しました!
次は、カメラとイベントシステムを設定して、実際にクリックを判定できるようにしていきます!




4. カメラとEventSystemの設定

鍵をクリックしたときに反応するようにするために、Physics RaycasterEventSystemを設定します。この設定がないと、マウスのクリックがUnityに認識されず、アイテムを取得できなくなるので忘れずに行いましょう。


① Main Camera に Physics Raycaster を追加

まず、カメラがクリックイベントを認識できるようにするために、「Physics Raycaster」を追加します。

  1. Hierarchyウィンドウで「Main Camera」をクリック。
  2. Inspectorウィンドウの「Add Component」をクリック。
  3. 「Physics Raycaster」を検索して追加。

ポイント💡
Physics Raycaster は、クリックしたオブジェクトの情報を取得するためのコンポーネントです。これを設定しないと、クリック判定が正しく動作しません。


② EventSystem が存在するか確認

クリックイベントを処理するために、EventSystemが必要です。通常は自動で作成されますが、もしシーン内にない場合は手動で作成します。

EventSystemがすでにあるか確認する方法

  1. Hierarchyウィンドウを見て、「EventSystem」というオブジェクトがあるか確認。
  2. ない場合は、次の手順で作成します。

EventSystem を作成する手順

  1. Hierarchyウィンドウで右クリック。
  2. 「UI」→「EventSystem」を選択。
  3. EventSystemがHierarchyに追加される。

ポイント💡
EventSystem は、UIやクリックイベントを管理する重要なオブジェクトです。シーン内に1つだけあればOKです!


③ カメラの位置を調整

鍵を正しくクリックできるように、カメラを適切な位置に配置します。

  1. Main Cameraをクリック。
  2. Inspectorウィンドウで「Transform」タブを開く。
  3. 「Position」の値を調整し、鍵が画面内に見えるようにする。



5. 動作確認

ここまで設定ができたら、実際にゲームを再生して動作を確認しましょう。

  1. Unityを「再生」ボタンでスタート。
  2. 鍵がカメラに映る位置にあることを確認。
  3. 鍵をクリック。
  4. 画面から鍵が消えたら成功!

トラブルシューティング🛠️

  • クリックしても鍵が消えない場合 → EventSystem があるか確認する。
  • クリックが認識されない場合 → Main Camera に Physics Raycaster が追加されているかチェック。

鍵以外にも、脱出ゲームではさまざまなアイテムを配置し、プレイヤーが取得できるようにすることが重要です。たとえば、ドアを開けるためのパスコード、懐中電灯、手がかりとなるメモなどがあります。それらのアイテムも、鍵と同じような方法で設定できます。


まとめ

今回の記事では、Unityで脱出ゲームを作るために「鍵アイテムをクリックして取得する仕組み」を作成しました。

この方法を応用すれば、鍵だけでなく、他のアイテムを作成して同じように取得可能です。例えば、メモやヒントアイテムなどを用意すれば、より本格的な脱出ゲームを作ることができます。

次回の記事では、取得した鍵を使ってドアを開ける仕組みを作成します。アイテムを取得するだけでなく、ゲームの進行に影響を与えるシステムを追加することで、脱出ゲームの完成に一歩近づきます!

それでは、引き続きUnityでのゲーム開発を楽しんでいきましょう!


あわせて読みたい


よくある質問(FAQ)

Q
Colliderのサイズが合わない場合はどうすればいいですか?
A

Inspectorで「Edit Collider」を使ってサイズを調整できます。

Q
EventSystemがすでにある場合はどうすればいいですか?
A

新しいEventSystemを作成する必要はありません。既存のEventSystemをそのまま利用してください。

Q
他のアイテムもクリックで取得できるようにするには?
A

同じスクリプトと設定を適用すれば、他のアイテムにも対応できます。

※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。

※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。

スポンサーリンク