# Key とDoor の使い方（上級編）

まずはじめにドアを設置してカスタムのメッセージを設定します。

* 「L」キーを押して、ライブラリからDoor を選択し、Door のビヘイビアを適用します。
* **Message Required（必要なメッセージ）**&#x306B;設定されているデフォルトのメッセージをすべて削除します。
* **Message Required（必要なメッセージ）**&#x306B;自分で作成したメッセージを入力します。ここでは**OpenDoor** と**CloseDoor** を使用します。

ここでは解説の際にわかりやすいように2つの異なるメッセージを設定していますが通常は1つでも問題ありません。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MQZzRB1yfl94rFBa04_%2F-MQ_VEI1VhWgzLtSIDDZ%2FDoor-and-keys-1.png?alt=media\&token=a7d99273-90be-4216-9b9e-3cc571ef68a7)

次にKey の設定を行います。拾うことが可能な設定にすることでDoor を開けることができるようにします。

* 鍵のアセットを配置してCollectible のコンポーネントを設定します。
* **Collect action required（拾うアクションが必要）**&#x3092;**Collision（コリジョン）**&#x306B;設定します。
* **Collect Message（拾うメッセージ）**&#x306F;**OpenDoor** を選択します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MQZzRB1yfl94rFBa04_%2F-MQ_WlfIDlNrnmPSl21C%2FDoor-and-keys-2.png?alt=media\&token=0644c5be-b5ef-4581-90a4-470f451b6eb9)

これで鍵を拾ってドアを開ける設定が完了しました。次はドアを開ける鍵を持ってくるプラットフォームまでたまごを運ぶ設定を行います。以下の設定方法で鍵をプリセットにします。

* 金色の鍵を選択し、画面左側のサイドバーにある**Preset（プリセット）のボタンをクリック**します。
* **Create New Preset（新しいプリセットを作成）**&#x3092;クリックします。
* 設定が終わったらポップアップ右上の三角をクリックして設定を終了します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MQ_XxmjmhQFcX7sFAtW%2F-MQ_YHm2qGH9dez6gNK0%2FDoor-and-keys-3.png?alt=media\&token=b0bff135-9a99-4358-a08d-23575291b646)

金色の鍵をプリセットとして設定し、Asset Spawner のビヘイビアで使用したり、Drop のコンポーネントでメッセージを使用して呼び出せるように設定します。

* 「L」キーを押してライブラリを開き、たまごのアセットを選択します。
* Pickable のコンポーネントを設定します。
* Tag（タグ）にEgg を追加します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MQ_XxmjmhQFcX7sFAtW%2F-MQ_ZGf-S1BikKk45Byj%2FDoor-and-keys-4.png?alt=media\&token=686119f1-2f74-472f-831a-29735256f3bf)

* 「L」キーを押してプラットフォームのアセットをライブラリから選択します。
* **Asset Spawner**のビヘイビアを設定します。
* **Use Preset（プリセットを使用）**&#x3092;**True**に設定してPreset はGold Key を選択します。
* **Message Required（必要なメッセージ）**&#x306F;**DetectEgg（たまごを検知）**&#x3092;選択します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MQ_XxmjmhQFcX7sFAtW%2F-MQ_bZIzhwHZnNAlzTOO%2FDoor-and-keys-5.png?alt=media\&token=06d313c4-f012-4da4-9e13-4084e2447e3c)

同じオブジェクトを使用してメッセージの送受信を同時に行うことはできないため別々に設定を行います。DetectEgg のメッセージを受信した時に金色の鍵をスポーンするプラットフォームを設定します。

\
まずたまごのタグを検知し、プラットフォームにメッセージを送るアセットを設定します。

* 「L」キーを押して**ライブラリを表示**してサイズの小さいアセットを選択します。ここではNumPad Switch を使用します。
* すべてのをビヘイビア削除してSpeaker のコンポーネントを追加します。
* **Display condition（表示条件）**&#x3092;**DetectEntity（エンティティを検知）**&#x306B;設定します。
* **Target Tags（ターゲットタグ）**&#x3092;Egg に設定します。
* **Message When Spoken（コンタクト時メッセージ）**&#x3092;DetectEgg に設定します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MQ_XxmjmhQFcX7sFAtW%2F-MQ_ixBEQLOhr87Q7M_Y%2FDoor-and-keys-6.png?alt=media\&token=c76d3a51-bf2f-4942-a2cc-0de85471fdd4)

* アセットの名前の左にある目のアイコンをクリックしてアセットを不可視の状態に設定にします。
* Physics（物理的設定）をNo collisions（コリジョンなし）に設定します。
* たまごを検知させるためにアセットをプラットフォームの下に移動させます。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MQ_XxmjmhQFcX7sFAtW%2F-MQ_jbyA1iNbqF-PAkgN%2FDoor-and-keys-7.png?alt=media\&token=103950f2-2328-4a22-a72a-1813088b719f)

これでたまごをプラットフォームまで運んだ際、見えないオブジェクトがたまごに設定したタグを検知した後、プラットフォームにAsset Spawner のメッセージを送り、さらにプリセットの鍵をスポーンする設定が完了です。これでプレイヤーは鍵を拾ってドアを開けることができます。

プレイヤーがドアを通った後にドアを閉めるための設定を行うこともできます。ただしその場合はもう一度メッセージを送る設定をしない限り再度ドアを開けることはできません。

* 「L」キーを押して**ライブラリを表示**して小さなアセットを選択します。ここではNumPad Switch を使用します。
* アセットの名前の左にある目のアイコンをクリックしてアセットを不可視の状態に設定にします
* Physics（物理的設定）をNo collisions（コリジョンなし）に設定します。
* すべてのビヘイビアを削除してSpeaker のコンポーネントを追加します。
* **Display condition（表示条件）**&#x3092;**DetectEntity（エンティティを検知）**&#x306B;設定し、**Detection Range（検知レンジ）**&#x3092;**4**に設定します。
* **Target Tags（ターゲットタグ）**&#x306F;Avatar のままにします。
* **Message When Spoken（コンタクト時メッセージ）**&#x306F;CloseDoor を選択します。

![](https://10474629-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MO_j99BJEXK4zHqxgqS%2F-MQ_XxmjmhQFcX7sFAtW%2F-MQ_kanpHTir2oBD5Ffz%2FDoor-and-keys-8.png?alt=media\&token=58fd9bbf-7a99-45a6-a8e6-e9d21a0d1c89)

これでプレイヤーがドアを通り抜ける時に見えない設定にしたオブジェクトがアバターを検知してCloseDoor のメッセージを送る設定が完了です。
