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なモデルもあるので、自分のゲームに合ったものを探してみましょう。
インポート手順
- ダウンロードしたファイルが
.fbxや.obj形式なら、そのままUnityへドラッグ&ドロップ。 Materialsフォルダ内で適切なマテリアルを設定すれば、見た目も調整可能。
3. 鍵をクリックで取得する機能を作る
脱出ゲームでは、鍵を見つけて取得することが重要な要素になります。ここでは、Unityで鍵アイテムをクリックすると消える(取得する)機能を作っていきます。
1. 鍵オブジェクトをシーンに配置
まず、ゲーム内に鍵のオブジェクトを配置しましょう。
- Hierarchyウィンドウで右クリック
- 「3D Object」→ 鍵のモデルを追加します。(アセットストアや「立体屋さん」で用意した鍵モデルを使いましょう)
- 鍵の位置を調整
- Sceneビューでドラッグして、鍵を適切な位置に配置します。
- カメラの位置を調整
- 鍵が見える位置に
Main Cameraを配置。 Gameビューで確認しながら、ちょうど良い角度に調整。
- 鍵が見える位置に

2. スクリプトを作成
次に、鍵をクリックすると消えるスクリプトを作成します。
- スクリプトの作成
- Projectウィンドウで右クリックし、「Create」→「C# Script」を選択。
- スクリプト名を 「PickupObject」 にします。
- スクリプトを編集
- PickupObjectスクリプトを開き、以下のコードを入力してください。
gameObject.SetActive(false);を使って、クリックされたオブジェクト(鍵)を非表示にする仕組みです。
using UnityEngine;
public class PickupObject: MonoBehaviour
{
//クリックしたら消える(取得)
public void OnClickObject()
{
gameObject.SetActive(false);
}
}
- スクリプトを鍵オブジェクトにアタッチ
- Hierarchyウィンドウの鍵オブジェクトを選択。
- 作成した PickupObj スクリプトを、Inspector にドラッグ&ドロップ してアタッチします。
3. Event Triggerを設定
鍵をクリックしたときにスクリプトの OnClickObj() を実行するように設定します。
- Inspectorで「Add Component」ボタンをクリック
- 「Event Trigger」コンポーネントを追加。
- イベントを追加
- 「Add New Event Type」をクリックし、「Pointer Click」を選択。
- スクリプトを適用
- 「+」ボタンをクリック して、新しいイベントを追加。
- 「None(Object)」の部分に 鍵オブジェクト をドラッグ&ドロップ。
- 「No Function」→「PickupObject」→「OnClickObject」を選択。
これで、マウスで鍵をクリックすると OnClickObj() が実行され、鍵が消えるようになります。

4. Colliderを追加
クリック判定を正しく動作させるために、Collider(当たり判定)を設定します。
- 鍵オブジェクトを選択。
- Inspectorで「Add Component」ボタンをクリック。
- 「Box Collider」を追加。
- 必要に応じて、Colliderのサイズを 「Edit Collider」 を使って調整。


ここまでで、鍵をクリックして取得(消去)する機能が完成しました!
次は、カメラとイベントシステムを設定して、実際にクリックを判定できるようにしていきます!
4. カメラとEventSystemの設定
鍵をクリックしたときに反応するようにするために、Physics RaycasterとEventSystemを設定します。この設定がないと、マウスのクリックがUnityに認識されず、アイテムを取得できなくなるので忘れずに行いましょう。
① Main Camera に Physics Raycaster を追加
まず、カメラがクリックイベントを認識できるようにするために、「Physics Raycaster」を追加します。
- Hierarchyウィンドウで「Main Camera」をクリック。
- Inspectorウィンドウの「Add Component」をクリック。
- 「Physics Raycaster」を検索して追加。
ポイント💡
Physics Raycaster は、クリックしたオブジェクトの情報を取得するためのコンポーネントです。これを設定しないと、クリック判定が正しく動作しません。
② EventSystem が存在するか確認
クリックイベントを処理するために、EventSystemが必要です。通常は自動で作成されますが、もしシーン内にない場合は手動で作成します。
EventSystemがすでにあるか確認する方法
- Hierarchyウィンドウを見て、「EventSystem」というオブジェクトがあるか確認。
- ない場合は、次の手順で作成します。
EventSystem を作成する手順
- Hierarchyウィンドウで右クリック。
- 「UI」→「EventSystem」を選択。
- EventSystemがHierarchyに追加される。
ポイント💡
EventSystem は、UIやクリックイベントを管理する重要なオブジェクトです。シーン内に1つだけあればOKです!
③ カメラの位置を調整
鍵を正しくクリックできるように、カメラを適切な位置に配置します。
- Main Cameraをクリック。
- Inspectorウィンドウで「Transform」タブを開く。
- 「Position」の値を調整し、鍵が画面内に見えるようにする。
5. 動作確認
ここまで設定ができたら、実際にゲームを再生して動作を確認しましょう。
- Unityを「再生」ボタンでスタート。
- 鍵がカメラに映る位置にあることを確認。
- 鍵をクリック。
- 画面から鍵が消えたら成功!
トラブルシューティング🛠️
- クリックしても鍵が消えない場合 → EventSystem があるか確認する。
- クリックが認識されない場合 → Main Camera に Physics Raycaster が追加されているかチェック。

鍵以外にも、脱出ゲームではさまざまなアイテムを配置し、プレイヤーが取得できるようにすることが重要です。たとえば、ドアを開けるためのパスコード、懐中電灯、手がかりとなるメモなどがあります。それらのアイテムも、鍵と同じような方法で設定できます。
まとめ
今回の記事では、Unityで脱出ゲームを作るために「鍵アイテムをクリックして取得する仕組み」を作成しました。
この方法を応用すれば、鍵だけでなく、他のアイテムを作成して同じように取得可能です。例えば、メモやヒントアイテムなどを用意すれば、より本格的な脱出ゲームを作ることができます。
次回の記事では、取得した鍵を使ってドアを開ける仕組みを作成します。アイテムを取得するだけでなく、ゲームの進行に影響を与えるシステムを追加することで、脱出ゲームの完成に一歩近づきます!
それでは、引き続きUnityでのゲーム開発を楽しんでいきましょう!
あわせて読みたい
- Unity3D脱出ゲームの作り方①!部屋の作成からライトの配置まで
→ 本記事の前編にあたる内容で、基本的な部屋とライトの配置手順を解説しています。 - Unity3D脱出ゲームの作り方③ – アイテムボックスの作成
→ 鍵アイテムと連携する「アイテムボックス」の作り方を紹介。セットで読むのがオススメ! - Unity3D脱出ゲームの作り方⑤|ドアをクリックで開く&アイテム選択機能
→ 鍵アイテムでドアを開ける処理と、アイテム選択の仕組みを学べます。 - 脱出ゲーム制作に最適!Unityアセットストアのおすすめ鍵素材
→ 見た目も使い勝手も良い「鍵アイテム素材」を探しているならこちら! - 【初心者向け】Unity脱出ゲーム制作に使えるインテリアアセットまとめ
→ 脱出ゲームにぴったりな家具や部屋パーツ素材が満載。世界観作りに役立ちます。
よくある質問(FAQ)
- QColliderのサイズが合わない場合はどうすればいいですか?
- A
Inspectorで「Edit Collider」を使ってサイズを調整できます。
- QEventSystemがすでにある場合はどうすればいいですか?
- A
新しいEventSystemを作成する必要はありません。既存のEventSystemをそのまま利用してください。
- Q他のアイテムもクリックで取得できるようにするには?
- A
同じスクリプトと設定を適用すれば、他のアイテムにも対応できます。










※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。
※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。