---
title: Choice Template ガイド
slug: world-sdk-guide-ja/choice-tower-template-guide
docTags: 
createdAt: 2026-07-31T00:00:00.000Z
---

| 概要             | 質問に合ったゲートを通過して好みを選択し、Sharing Zoneで他のプレイヤーと結果を比較できるクリエイター向けテンプレートです。 |
| -------------- | ------------------------------------------------------------------- |
| 難易度            | 中級者 (コード修正不要)                                                       |
| ジャンル           | 性格診断、バランスゲーム、記録ベースのソーシャル共有                                          |
| シングルプレイ/マルチプレイ | マルチプレイ                                                              |

:::hint{type="info"}
**📘 Choice Template ダウンロード**

[https://studio.zepeto.me/console/download/6ace135ae8211029e121b383](https://studio.zepeto.me/console/download/6ace135ae8211029e121b383)
:::

:::hint{type="success"}
**🎥 Choice Template 動画ガイド**
テキストよりも**動画の方がわかりやすい場合は、以下の動画**に沿って進めてください。
言語別の字幕に対応していますので、**字幕をオンにして**ご視聴ください！
:::

::embed[]{url="https://www.youtube.com/embed/FS4XEyo_eas"}

# Choice Template でバランスゲームワールドを作る

**Choice Template** は、質問に合ったゲートを通過しながら自分の好みを選択していくワールドを作成できるクリエイター向けのテンプレートです。

クリエイターは、コードを修正することなく、質問や選択肢、ステージ数、結果ボードの画像を変更することができます。

プレイヤーがすべてのステージを完了すると、自分の選択結果を確認し、Sharing Zoneで他のプレイヤーの結果と比較することができます。

:::hint{type="success"}
**このガイドを順番通りに進めると、以下の機能が含まれた選択型ワールドを作成できます！**

- 質問と選択肢の画像が表示される選択ゲート
- 複数のステージが順番に続く進行方式
- プレイヤーの過去の選択記録の保存と復元
- リアルタイムの選択割合が表示されるHUD
- 自分と他のプレイヤーの結果を確認できるSharing Zone
- 選択結果を画像として保存したり、ZEPETOフィードにシェアする機能
:::

:::BlockQuote
📌 **以下の順番でテンプレートを設定してみましょう！**
:::

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
[1. テンプレートを配置する](docId\:VNZVKPuFWqCEXCyFwUC4r)

[2. 質問と選択肢を設定する](docId\:VNZVKPuFWqCEXCyFwUC4r)

[3. 質問を追加・管理する](docId\:VNZVKPuFWqCEXCyFwUC4r)

[4. ゲームの進行方式を設定する](docId\:VNZVKPuFWqCEXCyFwUC4r)

[5. Sharing Zone](docId\:VNZVKPuFWqCEXCyFwUC4r)
:::

:::VerticalSplitItem
[6. ワールドをテストする](docId\:VNZVKPuFWqCEXCyFwUC4r)

[7. FAQ](docId\:VNZVKPuFWqCEXCyFwUC4r)

[8. 活用アイデア](docId\:VNZVKPuFWqCEXCyFwUC4r)

[9. Sample Sceneを活用する](docId\:VNZVKPuFWqCEXCyFwUC4r)
:::
::::

# 1. テンプレートを配置する

## Choice Template を追加する

**Choice\_Template** Prefabには、選択ゲート、HUD、結果ボード、Sharing Zoneなど、Choice Template を実行するために必要なオブジェクトが含まれています。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/id26L9TvJjz0OtETrQluC_choice-template-prefab.png" size="80" isUploading="false" width="636" height="449" darkWidth="636" darkHeight="449" alt="ChoiceTemplatePrefab" showCaption="false"}

1. Unityの **Project** ウィンドウで `Assets/Choice_Template/Choice_Template.prefab` を探します。
2. `Choice_Template.prefab` を **Scene** または **Hierarchy** ウィンドウにドラッグします。
3. **Hierarchy** ウィンドウに `Choice_Template` オブジェクトが1つ作成されたことを確認します。

:::hint{type="success"}
Sample Sceneを活用して手軽に始めたい場合は、[9. Sample Sceneを活用する](docId\:VNZVKPuFWqCEXCyFwUC4r) をご利用ください！
:::

## Choice Template チュートリアル

初めて `Choice_Template` を Scene に配置すると、**Choice Template チュートリアルウィンドウ**が自動的に開きます。チュートリアルウィンドウは、以下の順序でテンプレートの主要な設定場所を案内します。

1. テンプレートの構成を確認する
2. 質問と回答を入力する
3. Scene に適用する
4. 質問を追加して管理する
5. ゲームの進行方法を設定する
6. Sharing Zone をカスタマイズする
7. ワールドをテストする

**Inspector で開く** ボタンをクリックしてみてください。Hierarchy ウィンドウで該当オブジェクトが自動的に選択され、Inspector ウィンドウですぐに設定を進めることができます。

**チュートリアルウィンドウをもう一度開きたい場合は？**

Hierarchy ウィンドウで `Choice_Template` を選択した後、Inspector ウィンドウで **Open Choice Template Tutorial** ボタンをクリックしてください。

:::hint{type="danger"}
**注意事項**

- 1つの Scene には `Choice_Template` を1つだけ配置してください。
- 機能を正確に理解するまでは、テンプレート内のオブジェクトを削除したり、接続を解除したりしないことをお勧めします。
- すべての設定は Play モードではなく、**Edit モード**で行ってください。
:::

## テンプレートの基本構成

`Choice_Template` は、大きく以下の3つの部分で構成されています。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/QvcHCgyREVmi2gHNZVkrf_choice-template.png" size="50" isUploading="false" width="266" height="66" darkWidth="266" darkHeight="66" alt="Choice_Template" showCaption="false"}

- **Choice\_UI**
  - HUD（自分の選択・進行度・選択割合）、トースト通知、結果画面など、プレイヤーに見えるUIの集まりです。
- **Choice\_GameManager**
  - 質問の進行順序、選択記録、データの保存と復元を管理します。
  - 各質問（`Choice_Stage`）と選択ゲートがこのオブジェクトの下に配置されます。
- **Choice\_SharingZone**
  - すべての選択を完了したプレイヤーが、自分の結果と他のプレイヤーの結果を確認する空間です。

:::hint{type="success"}
**TIP**

最初はテンプレートの位置やサイズを大きく変更せず、デフォルトの状態で一度テストしてみてください。
基本的な動作を確認した後、ステージの間隔や周辺環境を装飾すると、より簡単に理解できます。
:::

# 2. 質問と選択肢を設定する

## Stage Manager を活用する

**Choice\_Template オブジェクト** 内の **StageManager** を使用すると、各ステージに表示される質問と選択肢を1箇所で編集できます。

Hierarchy ウィンドウで **Choice\_Template オブジェクト** を選択してください。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/vFCySiuFBVdjMdb5r-H1P_group-3.png" size="80" isUploading="false" width="767" height="686" darkWidth="767" darkHeight="686" alt="StageManager" showCaption="false"}

:::hint{type="success"}
**TIPs**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/M5eJ10m-gM_V50sm7OiXg_group-44.png" size="60" isUploading="false" width="428" height="123" darkWidth="428" darkHeight="123" showCaption="false"}

質問と回答を編集している間に他のオブジェクトの Inspector に切り替わらないようにするには、Inspector ウィンドウの右上にあるロック（Lock）ボタンを有効にしてください。
:::

:::hint{type="info"}
Inspector の項目名は、PCの言語設定によって異なる表示になる場合があります。このガイドでは、日本語 Editor 画面の **質問一覧**、**Scene に適用** などを基準に説明します。
:::

- **Scene で表示**
  - 該当する質問オブジェクトを選択し、Scene View の視点をその位置に移動させます。
  - この機能を使用して、質問の位置とゲートの位置を確認・修正できます。
- **⋯ メニュー**
  - **この質問を複製して追加** したり、**質問を削除** することができます。
- **すべて折りたたむ / すべて展開**
  - すべての質問項目を一度に折りたたむか、展開します。

各項目の名前や矢印をクリックして展開すると、以下のプロパティを設定できます。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/3VpmEFDw-Mm7jo1G2kF7g_group-39.png" size="80" isUploading="false" width="767" height="897" darkWidth="767" darkHeight="897" alt="StageManager" showCaption="false"}

- **質問テキスト**
  - 該当するステージでプレイヤーに表示する質問を入力します。
    - 例：好きな服のスタイルは？
- **質問の背景 (任意)**
  - 質問パネルに表示する背景画像を接続します。
  - 画像を使用しない場合は空のままで構いません。
- **回答 1、回答 2 …**
  - 各ゲートに対応する項目です。展開すると以下の2つのプロパティが表示されます。
  - **回答テキスト**
    - 各ゲートに表示する選択肢の名前を入力します。
    - 例：ラブリースタイル
  - **回答画像 (任意)**
    - 選択肢を画像と一緒に表示したい場合に使用します。
    - 画像を使用しない場合はテキストのみが表示されます。

### 回答を追加および削除する

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/qIeJ4vmqiKCRrYc9TuWgf_group-42.png" size="60" isUploading="false" width="767" height="897" darkWidth="767" darkHeight="897" alt="Answer" showCaption="false"}

質問ごとに回答（ゲート）の数を直接増やしたり減らしたりできます。ゲートオブジェクトを直接コピーする必要はありません。

- 回答リストの下にある **+ 回答 N を追加** ボタンを押すと、その質問にゲートが1つ追加され、回答データ項目も一緒に追加されます。
- 各回答の右側にある削除ボタンを押すと確認ウィンドウが表示され、削除後に残った回答の番号が自動的に振り直されます。
- 回答は質問ごとに **最低2つ** 必要です。2つだけ残っている場合は、削除ボタンが無効になります。

### 質問と回答を適用する

Inspector で内容を修正した後は、**必ず** **Scene に適用** を押してください。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/dp9md17s48dkl-_-3VBQ7_group-40.png" size="80" isUploading="false" width="767" height="686" darkWidth="767" darkHeight="686" alt="Apply To Scene" showCaption="false"}

1. 質問と回答のテキスト・画像を入力します。
2. リストの下にある **Scene に適用** ボタンを押します。
   - 入力した内容と Scene の内容が異なる場合、ボタンがオレンジ色で表示され、「(変更あり)」というメッセージが表示されます。
3. Scene View の質問パネルと選択ゲートに変更内容が反映されたか確認します。

Scene の内容と入力データが異なる場合、ボタンが **オレンジ色** に表示され、「(変更あり)」というメッセージが表示されます。

適用ボタンを押すと、質問テキスト、質問の背景、回答テキスト、回答画像、質問オブジェクト名、および Localization csv ファイルのローカルキーが一緒に更新されます。

:::hint{type="success"}
**多言語の質問・回答の設定**
**Scene に適用** を押すと、`ZW_LOCALIZATION_CHOICE_TOWER` シートに以下のキーが自動的に追加されます。

- 質問: `STAGE_{Scene 名}_{順序}_QUESTION`
- 回答: `STAGE_{Scene 名}_{順序}_GATE_n` (`n` は回答番号)

他の言語の質問と回答は、該当するシートに言語ごとに入力してください。Unity Inspector では質問・回答の基本内容を設定し、他の言語の文言はシートで管理します。
:::

:::hint{type="danger"}
**注意事項**

- 1つの質問にゲートが最低2つあるか確認してください。
- 質問一覧で検出された質問数とデータ項目数が異なるという案内が出た場合は、欠落している質問やデータ項目がないか確認してください。互いに対応する項目のみが Scene に適用されます。
- 回答画像を接続すると、画像の表示に合わせてテキストのサイズが自動調整されます。
:::

# 3. 質問を追加・管理する

## 新しい質問を追加する

質問の数を増やしたい時、オブジェクトを直接コピーする必要はありません。

Inspector の下部にある **新しい質問** エリアで、ボタン1つで最後の質問の後ろに新しい質問を作成できます。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/L9VqAl9jM0hBor0DtqQ9A_group-42.png" size="70" isUploading="false" width="767" height="897" darkWidth="767" darkHeight="897" showCaption="false"}

- **配置方法**
  - **間隔を繰り返す:** 最後の2つの質問間の間隔をそのまま使用して配置します。質問の間隔が一定な基本構成に推奨します。
  - **手動で指定:** 下の **移動量** に入力した値の分だけ離して配置します。
- **配置の基準**
  - 現在どのような基準で位置が決定されているかを示します。
    - 例：Question 2 → Question 3 間隔を繰り返し
  - 質問が2つ未満の場合は間隔を測定できないため、**手動で指定** のみ使用できます。
- **移動量**
  - 最後の質問を基準とした `X`、`Y`、`Z` の移動値です。
  - **間隔を繰り返す** を選択した場合、測定された値が表示され、直接修正することはできません。
- **Scene View で生成位置をプレビュー**
  - チェックを入れると、新しい質問を作成する位置が Scene View に四角形で表示されます。
- **+ 質問 N を追加**
  - 最後の質問を複製し、質問・回答のデータ項目と番号を自動的に追加します。

:::hint{type="danger"}
質問を追加した後、**質問テキストと回答を希望の内容に修正し、Scene に適用** を押してください。
:::

## 質問を複製・削除する

- ⋯ メニュー
  - **この質問を複製して追加**: 質問一覧の ⋯ メニューから選択します。該当する質問の構成をコピーして、最後の質問の後ろに追加します。
  - **質問を削除**: ⋯ メニューから選択し、確認ウィンドウで確定します。残った質問の番号は自動的に再整理されます。
    - 質問が1つしか残っていない場合は削除できません。

:::hint{type="danger"}
**注意事項**

- 質問オブジェクトの番号と名前は自動的に管理されます。Hierarchy で **質問オブジェクトの名前を任意に変更しないでください。**
:::

## 質問・回答の画像を入れる

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/NDrOdkrh8I1-DJEATItvS_imagesetting.png" size="70" isUploading="false" width="580" height="637" darkWidth="580" darkHeight="637" alt="ImageSetting" showCaption="false"}

1. 画像ファイルを Unity の **Project** ウィンドウに追加します。
2. 該当するファイルを選択し、Inspector で **Texture Type** を **Sprite (2D and UI)** に設定します。
3. StageManager の **質問の背景** または **回答画像** スロットに画像を接続します。
4. **Scene に適用** を押して、実際の表示状態を確認します。

:::hint{type="success"}
**Tips**

選択肢の画像は、ゲート内で区別しやすいように **正方形** またはそれに近い比率を推奨します。

テキストのみを使用する場合は性格診断に、テキストと画像を一緒に使用する場合はファッションや食べ物など **視覚的な比較が重要なコンテンツに適しています**。
:::

# 4. ゲームの進行方式を設定する

## Choice GameManager の設定

Hierarchy で `Choice_Template > Choice_GameManager` を選択します。

Inspector の **Game Rules** で、進行ルールを設定できます。

**Game Rules**

- **Allow Revote**
  - **有効にする**と、すでに選択した質問で他のゲートを再選択できます。
  - **無効にする**と、進行記録を初期化するまで、プレイヤーは質問に対する回答を変更できません。
- **Enforce Stage Order**
  - **有効にする**と、前の質問を完了しなければ次の質問を選択できません。
  - 質問番号の順に進行するワールドに使用します。
- **Keep Choices On Rejoin**
  - **有効にする**と、再入場時に以前の選択が復元され、最後に通過したゲートの後ろから続けて開始します。
  - **無効にする**と、まだすべての質問を完了していないプレイヤーは最初の質問からやり直すことになります。すべての質問を完了したプレイヤーの結果は維持されます。

# 5. Sharing Zone

## Sharing Zone とは？

すべての質問を完了したプレイヤーは、**Choice\_SharingZone** で自分の選択結果を確認できます。同じ空間に他のプレイヤーがいれば、お互いの選択結果を比較することもできます。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/aa4vjVL1oi5_WO-lz_8VK_07-sharingzone-resultboards.png" size="80" isUploading="false" width="1920" height="1080" darkWidth="1920" darkHeight="1080" alt="SharingZone" showCaption="false"}

- 自分の選択結果を確認できます。
- 同じ空間にいる他のプレイヤーと選択結果を比較できます。
- 自分の結果を画像として保存したり、ZEPETO フィードにシェアすることができます。

:::hint{type="danger"}
**Enforce Stage Order** が有効な場合、すべての質問を順番に完了しなければ Sharing Zone に入ることはできません。
:::

## Sharing Zone のデザインを変更する

テンプレートにはデフォルトのUIデザインが適用されています。**ワールドのコンセプトに合わせてデザインを変更したい場合**は、以下の項目を設定してください。

Hierarchy で `Choice_Template > Choice_SharingZone` を選択します。

Inspector ウィンドウの **Sharing Display Style Manager** で、以下の画像を変更できます。

- **Result Board Container Background**
  - Sharing Zone に表示される全体の結果ボード領域の背景です。
- **My Board Background**
  - 自分の結果カードであることを区別するための専用背景です。
- **Choice Result Board Background**
  - 他のプレイヤーの結果カードに使用する基本背景です。

:::hint{type="danger"}
**注意事項**

- 画像を入れた後は、必ず **Apply Sharing Zone Images** を押してください。
- 結果カードのテキスト、プロフィール画像、選択結果は Play モードで確認できます。
- `Result_Board_Container`、`Choice_ResultBoard`、`My_Background` のオブジェクト名は変更しないことをお勧めします。
:::

# 6. ワールドをテストする

## Play モードで確認する

設定を終えた後、Unity 上部の **Play** を押して、実際のプレイ順序に従ってテストしてください。

テストする際は、マルチプレイを有効にしてからプレイしてください！
[もうすぐ完了です！プログラムの基本設定を確認しましょう。](docId\:KpG7FasTgN_3Gbp2Dp8Wk)

::::WorkflowBlock
:::WorkflowBlockItem
**最初の質問を確認する**

- 開始位置、質問・回答の表示有無、ゲート通過時のHUD表示の動作有無
:::

:::WorkflowBlockItem
**ワールドの進行を確認する**

- 次の質問への進入が可能か、HUDに自分の選択および選択割合が表示されるか、**Enforce Stage Order** および **Allow Revote** の設定が意図した通りに動作しているか
:::

:::WorkflowBlockItem
**Sharing Zone を確認する**

- すべての質問を完了した後に Sharing Zone へ進入できるか
- 自分の結果カードと詳細結果の確認、画像保存・フィードシェア機能が動作するか
:::

:::WorkflowBlockItem
**進行の初期化を確認する**

- 結果画面またはHUDからのReset実行後、記録・HUDが初期化され、開始位置に戻るか
:::
::::

## リリース前のチェックリスト

:::hint{type="success"}
**以下の項目をすべて確認してからワールドを公開してください！**

- [ ] Scene に `Choice_Template` が1つだけ存在しているか。
- [ ] すべての質問に回答（ゲート）が2つ以上あるか。
- [ ] 質問・回答を修正した後、**Scene に適用** を押したか。
- [ ] 質問の配置と **Allow Revote**、**Enforce Stage Order**、**Keep Choices On Rejoin** の設定が企画と一致しているか。
- [ ] Sharing Zone の画像を修正した後、**Apply Sharing Zone Images** を押したか。
- [ ] 必要な言語の質問・回答を `ZW_LOCALIZATION_CHOICE_TOWER` に入力したか。
- [ ] すべての質問を完了した後、Sharing Zone と結果ボードが表示されるか。
- [ ] Reset 実行後、最初の質問から再度進行できるか。
- [ ] リリースした Scene ファイルを複製したり、別の名前で保存せずにそのまま維持しているか。
:::

:::hint{type="danger"}
**注意事項**

**リリース済みのワールドをアップデートする際、** Scene ファイルを複製したり、別の名前で保存してアップデートすると、既存のワールドの選択記録が初期化されます。**リリースした Scene はそのまま使用してください。**
:::

# 7. FAQ

### 質問と回答を変更したのに Scene に反映されません

1. Hierarchy で Choice\_Template オブジェクトを選択してください。
2. Inspector の **質問一覧** で、修正した質問と回答が正しく入力されているか確認してください。
3. **Scene に適用** ボタンをクリックして変更事項を反映させてください。
4. ボタンに **(変更あり)** というメッセージが表示され続ける場合は、修正内容を再度確認した後、もう一度 **Scene に適用** ボタンを押してください。

### 追加した質問がリストに表示されません

1. Hierarchy で、新しく追加した質問オブジェクトが Choice\_Template の下位にあるか確認してください。
2. 該当する質問オブジェクトを選択し、Inspector に **Stage スクリプト** が接続されているか確認してください。
3. Play モードが実行中の場合は終了した後、Hierarchy で質問オブジェクトが正常に追加されているか確認してください。
4. Choice\_Template を再度選択し、Inspector の **質問一覧** の右側に表示されている数字バッジで、質問数が正しく反映されているか確認してください。

### 選択記録が保存・復元されません

- `Choice_GameManager` の **Keep Choices On Rejoin** の設定を確認してください。無効になっている場合、すべての質問を完了していないプレイヤーは、再入場時に最初の質問から開始します。
- リリース後の **アップデート** 時に、Scene を複製したり別の名前で保存したりした場合、新しい保存領域が指定されるため、既存の記録は表示されません。**既存の記録を維持するには、リリースした Scene をそのまま使用してください。**

### 次の質問のゲートを選択できません

- **Enforce Stage Order** が有効になっているか確認してください。
- 前の質問をすべて完了しているか確認してください。
- StageManager の質問順序と、Scene に配置したゲートの順序が一致しているか確認してください。

### Sharing Zone に入れません

- 完了していない質問が残っていないか確認してください。
- HUDの進行数と実際の質問数が一致しているか確認してください。
- 以前の選択を変更した場合は、必要な質問をすべて再度完了してください。

### Sharing Zone の画像が変わりません

- `Choice_SharingZone` の **Sharing Display Style Manager** に画像が接続されているか確認してください。
- **Apply Sharing Zone Images** を押したか確認してください。
- 画像の **Texture Type** が **Sprite (2D and UI)** になっているか確認してください。

### BGMを変更したいです

- BGMとして使用するファイルを Project ウィンドウに追加した後、リリースする Scene と同じ名前に変更してください。

# 8. 活用アイデア

質問内容やゲート画像、ステージ周辺の空間を変更することで、同じテンプレートを多様なワールドに活用できます。

- 食べ物、旅行先、ファッションを比較する **好み選択ワールド**
- 複数の質問を通じて結果を導き出す **性格診断テスト**
- 友達と選択結果を比較する **バランスゲーム**
- ブランドの製品やキャラクターを選択する **ファン参加型コンテンツ**
- 物語の分岐点を選択する **ストーリー型ワールド**

:::hint{type="success"}
**TIPs**

質問のテーマに合わせて空間も一緒に飾ってみましょう。
選択ゲートの周辺に関連する小道具を配置すると、プレイヤーが選択肢をより直感的に理解しやすくなります。
:::

# 9. Sample Sceneを活用する

Choice Template には、テンプレートをどのように拡張できるかを示す Sample Scene が同梱されています。

`Assets/Choice_Template/SampleScenes` フォルダから確認できます。

| **Scene**      | **構成**                              | **詳細**                   |
| -------------- | ----------------------------------- | ------------------------ |
| **BasicScene** | テンプレートの基本機能 + ジャンプマップ               | 質問の間に移動・プレイ区間を追加         |
| **PickMarket** | テンプレートの基本機能 + ショッピングモール、カート機能、案内NPC | 質問の結果に応じたオブジェクト演出とNPCの案内 |

:::hint{type="danger"}
**🚨 注意事項**

- Sample Scene には **Choice\_Template** がすでに配置されています。
- Sample Scene をコピーして使用する際は、該当 Scene の Choice\_Template で [4. ゲームの進行方式を設定する](docId\:VNZVKPuFWqCEXCyFwUC4r) がワールドに合わせて設定されているか確認してください。
- Sample Scene をプレイする際は、マルチプレイを有効にしてからプレイしてください！
  [もうすぐ完了です！プログラムの基本設定を確認しましょう。](docId\:KpG7FasTgN_3Gbp2Dp8Wk)
:::

## BasicScene: バランスゲームにジャンプマップを結合する

**BasicScene** は、バランスゲームに **ジャンプマップ** を追加した例です。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/rjbZgQrVhYXT5U8hNzEMP_image-43.png" size="70" isUploading="false" width="917" height="516" darkWidth="917" darkHeight="516" alt="BasicScene" showCaption="false"}

1. 既存のコース区間を複製したり足場を追加して、移動経路を拡張します。
2. **+ 質問 N を追加** で質問を作成し、**配置方法** の **手動で指定** でコースに合わせて位置を調整します。
3. 各質問の **Scene で表示** を使用して位置を確認し、Play モードで全体のコースを完走してみます。

## PickMarket: テーマと創作要素を追加する

**Choice\_Template** を活用すると、多様な創作要素を追加して自分だけのワールドを制作できます。

**PickMarket** を自由に変更・拡張して新しいワールドを制作したり、提供された Sample Scene を通じて機能と活用方法を学ぶ用途として使用しても構いません。

**PickMarket** は、Choice\_Template の選択ゲートをショッピングモールの商品選択に繋げたサンプルです。プレイヤーは案内NPCに付いて店舗を回りながら商品を選択し、選択した商品をカートに集めます。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/LZb_CD6OupgXOwlLBIt-8_08-pickmarket-entrance.png" size="80" isUploading="false" width="1920" height="1080" darkWidth="1920" darkHeight="1080" alt="PickMarket" showCaption="false"}

### プレイの流れ

1. **ショッピングモール入場**: 入口を見上げるカメラ演出が再生され、NPCがカートエリアに案内します。
2. **カートを受け取る**: カートを掴んで移動します。カートを持たずに最初の店舗に行くと、NPCがカートエリアに再度案内します。
3. **店舗ごとの選択**: NPCの説明を聞いて商品ゲートを通過します。選択した商品は手に持ったり体に装着され、店舗の出口でカートに入ります。
4. **最終エリア**: 5つの店舗での選択を終えると、`FinalZone` でカートが消え、選択した商品がプレイヤーの周囲に浮かび上がります。その後、結果ボードや写真撮影スペースに移動できます。

### 創作要素を見てみる

**1. 入場および商品のカメラ演出**

ワールド入場時に再生されるカメラ演出と、商品選択時に着用した姿を見せるカメラ演出が含まれています。

カメラ演出の詳細設定を変更するには、**Hierarchy ウィンドウで System > SpawnPoint を選択した後**、以下の項目を希望通りに調整してみてください。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/apuB3T6sRkeu4oz5ykwaw_group-53.png" size="80" isUploading="false" width="796" height="684" darkWidth="796" darkHeight="684" alt="Camera" showCaption="false"}

- **Look Up Angle / Shot Distance / Hold Time**: 入場カメラの見上げる角度、距離、維持時間。
- **Rejoin after finishing**: すべての質問を完了したプレイヤーが再入場した際、Sharing Zone のディスプレイ前に移動させます。
- **Disable Item Show**: 有効にすると、商品着用時に商品を映すカメラ演出をオフにします。
- **Item Show Hold / Blend / Distance / Pitch**: 商品表示カメラの維持時間、切り替え時間、距離、角度。

**2. カートシステム (Zones)**

選択した商品は、着用演出を見せた後にカートに入ります。

Hierarchy ウィンドウで **PickMarket > Zones > 01\_Shoes > LoaferZone** の順に移動します。

**LoaferZone** を選択すると、Inspector ウィンドウに **Zepeto Script (CartItemZone)** の設定項目が表示されます。

希望の Zone を選択して設定を修正できます。既存の Zone をコピーして新しい Zone を作成したり、必要に応じて名前を変更して使用しても問題ありません。

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/ZOd46_lAZirIwVi0pwdCo_group-49.png" size="80" isUploading="false" width="779" height="506" darkWidth="779" darkHeight="506" alt="CartItemZone" showCaption="false"}

**CartItemZone の設定**

- **Item Prefab:** プレイヤーに見せる商品 Prefab を指定します。
- **Item Object Name:** `Item Prefab` が空の時、Scene 内から同じ名前のオブジェクトを探してコピーするために使用します。
- **Choice Group**: 同じ質問の商品に共通して入力するグループ名です。このグループから1つを選択すると、他の商品は選択できません。
- **Wear Slot**: 商品を着用する位置です。

| **Wear Slot**                  | **着用方式**                    | **サンプルで使用した商品**                                                        |
| ------------------------------ | --------------------------- | ---------------------------------------------------------------------- |
| Head                           | 帽子のように頭のサイズに合わせて着用          | Cap                                                                    |
| Eyes                           | メガネのように目の位置に合わせて着用          | Sunglasses                                                             |
| Ears                           | ヘッドフォンのように耳を覆うように着用         | Music (ヘッドフォン)                                                         |
| Feet                           | 靴の片方を左右対称に両足に着用             | Sneakers, Loafer                                                       |
| Left Hand / Right Hand         | カートのハンドルから手を離し、手のひらの上に乗せて持つ | Donut, Cake, Boba, MiniBag, Book, Game, Art, TeddyBear, Light, Speaker |
| Chest / Back / Hips / Shoulder | 体の該当する位置に付着                 | (サンプルでは未使用)                                                            |

- **着用位置の調整**
  - **Wear Offset / Wear Rotation / Wear Size Multiplier**: 着用位置、回転、サイズを微調整します。商品が逆に見える場合は、Wear Rotation の Y を 90 / 180 / 270 に変更してみてください。

:::hint{type="success"}
**💡 TIP**

Play モードで着用位置を調整すると、より簡単に確認できます。
変更した値は Play 終了時に元に戻るため、最終的な値を記録した後、**Edit モードで再度入力** してください。
:::

**CartStowZone の設定**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/cStkGe9Z_1DBVDfE_UW_9_group-52.png" size="80" isUploading="false" width="779" height="634" darkWidth="779" darkHeight="634" alt="CartStowZone" showCaption="false"}

- **Choice Group**: 該当する店舗の `CartItemZone` と全く同じ値を入力します。選択した商品がカートに入ると、同じグループに属する店舗の出口が閉じます。
- **Stow On Exit**: オフにするとエリアに **入る時** に、オンにするとエリアから **出る時** に商品をカートに入れます。オンにした場合は、店舗全体が含まれるようにエリアを広く配置してください。

**頭上の商品 (CartHalo)**

最終エリアでカートを完成させると、実行中に `CartHalo` が自動的に追加され、選択した商品がプレイヤーの頭の周りに浮かび上がります。

**3. 案内スタッフNPC**

Scene の PM\_Staff\_Concierge は、ショッピングモールを案内するNPCです。ワールドを紹介し、カートや店舗の入口まで先導して案内し、プレイヤーの選択に反応します。

**スタッフのアバターと会話 (DepartmentStoreStaff)**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/ss6eQ00NR-9dK10_zMDhT_group-50.png" size="70" isUploading="false" width="796" height="858" darkWidth="796" darkHeight="858" showCaption="false"}

- **Zepeto Id**: NPCの外見として使用する ZEPETO アカウントIDです。ニックネームではなく、プロフィールの ZEPETO ID を入力します。[2. NPC オブジェクト](docId\:YS6zO0WwDusLtu_LT0ldK) を確認してください。
- **Typing Interval**: セリフが1文字ずつ表示される速度（秒）です。デフォルト値は 0.032 です。
- **Auto Advance Delay**: 次のセリフに自動的に進むまでの時間（秒）です。デフォルト値は 2.4 です。
- **Stop Player While Guiding**: 有効にすると、案内のセリフ中にプレイヤーの動きを止めます。
- **Lead Player / Lead Distance**: NPCが先頭を歩き、この距離（デフォルト 3.5m）だけ離れると立ち止まって待ちます。

**ショッピング案内の流れ (ShoppingGuideController)**

::Image[]{src="https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/iKOX-Jf-k7MmJinl6Z5of_group-51.png" size="70" isUploading="false" width="796" height="858" darkWidth="796" darkHeight="858" showCaption="false"}

- **Store Entrances / Store Areas**: NPCが待機する店舗の入口と店舗内の領域です。空にしておくと、マップにある店舗のアンカーを使用します。
- **Final Point / Final Area**: NPCが最後に案内する位置と到着判定の領域です。空にしておくと FinalZone を使用します。
- **Show Floor Route**: 目的地までの床に矢印の道を表示します。
- **Show Goal Glow**: 次に行くべき場所（カート、店舗の入口、出口、最終エリア）の床をほのかに光らせます。ゲートには光を置かず、選択に影響を与えないようにします。
- **No Cart Block Distance**: カートを持たずに最初の店舗の入口にこの距離（デフォルト 1.5m）まで近づくと、NPCがブロックしてカートへ案内します。

### PickMarket を自分だけのテーマに変えてみる

PickMarket の構造をそのままにして内容だけを変更すれば、多様なテーマに応用できます。

1. **質問を変える**
   - StageManager で質問と回答をカフェのテーマに変更し、**Scene に適用** を押します。（例：「今日のドリンクは？」→ ラテ / エード / スムージー）
2. **商品を変える**
   - 各 CartItemZone の **Item Prefab** または **Item Object Name** を新しい商品に変更します。
   - 商品に合わせて **Wear Slot** を決め、Play モードで着用位置を合わせます。
3. **商品（回答）を増やす**
   - ゲートを追加した場合は、既存の商品エリア（CartItemZone）と出口エリア（CartStowZone）を複製し、新しいゲートに合わせて配置します。
   - 新しい商品の **Choice Group** は、同じ店舗の他の商品と全く同じように入力します。
4. **NPCのセリフを変える**
   - NPCのセリフを変更したい場合は、**ZW\_LOCALIZATION\_PICKMARKET.csv** を使用してください。
5. **NPCの外見を変える**
   - DepartmentStoreStaff の **Zepeto Id** を、自分が作成したスタッフ用アカウントのIDに変更します。

**PickMarket 修正時の注意事項**

:::hint{type="danger"}
**💡 PickMarket 修正時の注意事項**

- **Choice Group の統一**: 同じ店舗の `CartItemZone` と `CartStowZone` には、大文字・小文字やスペルが全く同じ値を入力する必要があります。サンプルのグループ名は `Shoes`、`Food`、`Fashion`、`Hobby`、`Home` です。
- **回答とNPCの連携**: StageManager で回答テキストを変更した場合、`ShoppingGuideController` の **Reaction Choices** も同様に修正してください。セリフは `ZW_LOCALIZATION_PICKMARKET.csv` のみで修正します。
- **残っている項目**: `ShoppingGuideController` の **Sneakers Zone**、**Loafers Zone** は現在使用していませんが、Inspector には表示されます。任意に削除したり順序を変更しないでください。
- **マップの移動・サイズ変更**: マップの外に別途配置された `SpawnPoint`、`PM_EntranceForecourt`、`PM_Staff_Concierge`、`PM_CitySkyline`（都市の背景）、`PM_Guide_*Space`、`Zone` の下にあるエリア、`PM_ReflectionProbe_Cart` も一緒に確認し、位置を合わせてください。
- **重複マップの防止**: 同じアンカー名を持つマップを同時に2つ有効にしないでください。NPCが誤ったアンカーを参照する可能性があります。
- **サーバーモジュール**: 他のプレイヤーのカート表示は `World.multiplay/ServerModule/Modules/CartModule.ts` が担当しています。PickMarket の機能を他のプロジェクトに移行する際は、該当のモジュールも一緒に持っていく必要があります。
- **テンプレートスクリプト**: PickMarket の創作要素は Choice Template の公開機能を使用しています。`GameManager` などテンプレートの基本スクリプトを任意に修正しないことをお勧めします。
:::

