3. Build it Unity Plug-in でワールドを飾る
以下のビデオを見ながら操作すれば、コーディングなしでさまざまな機能をワールドに追加できます!
多言語字幕が用意されているので、字幕をオンにしてご覧ください。
Zepeto ID を入力することで、NPC キャラクターを作成できます。NPC オブジェクトを Scene に配置し、Inspector で設定を変更してみましょう。
編集モードでは NPC は表示されません。再生(Play)を押したときに NPC が登場します。
- Zepeto id:使用する Zepeto アカウントの ID を入力してください。
- Has Speech Bubble:オンにすると、キャラクターが NPC に近づいたときに吹き出しが表示されます。
- Speech Bubble Text:NPC の吹き出しに表示させるテキストを入力します。
- 複数のテキストを登録できます。
- 「+」ボタンで新しいテキストを追加、「–」ボタンで既存のテキストを削除できます。
- Randomize Dialogue:吹き出しの表示順をランダムに設定できます。
- この項目のチェックを外すと、Element 0 から順にテキストが表示されます。

Interactionオブジェクトは、ユーザーがアイコンをクリックすることで、キャラクターが特定のジェスチャーを行うようにするものです。
- Interaction_bed:キャラクターがベッドに自然に横たわるジェスチャーを再生します。
- Interaction_chair:キャラクターが椅子に自然に座るジェスチャーを再生します。
- Interaction_dance:キャラクターが踊るジェスチャーを再生します。
Interactionオブジェクトはカスタマイズしてさまざまな用途に応用できます:
- アニメーションクリップの変更:子オブジェクト「InteractionPoint」に設定されたアニメーションファイルを変更すると、異なるジェスチャーを再生できます。
- Is Snap Bone:キャラクターの位置を特定のBoneに固定します。例:Boneを「Foot」に設定すると、再生中にキャラクターの足がInteractionPointの位置に固定されます。オフにすると、距離を取って動作します。
- Body Bone:Is Snap Boneがオンのときに固定するBoneを指定します。
- オブジェクトの見た目を変更:見た目を担当する子オブジェクトを削除し、マップ内の別オブジェクトを同じ位置に置くことで見た目を変更できます。
- アイコン位置の調整:見た目を変更した場合、子オブジェクト「IconPos」の位置も調整してください。

SpawnPointオブジェクトを使うことで、ZEPETOキャラクターがワールド開始時に生成される位置を設定できます。
- SceneにSpawnオブジェクトが存在しない場合、ZEPETOキャラクターは x=0, y=0, z=0 に生成されます。
- Spawnオブジェクトが複数ある場合、ZEPETOキャラクターはランダムでいずれかの位置に生成されます。

SFXオブジェクトは、ユーザーがアイコンをクリックしたときに指定されたサウンドを再生します。Sceneに配置して、Inspectorで設定を変更しましょう。
- AudioClip:Inspectorで.mp3や.wav形式の音声ファイルを設定できます。
- IconPos:ユーザーがクリックするボタンの位置を調整できます。

TimerオブジェクトはタイマーのUIを表示し、ユーザーが「開始」オブジェクトをクリックするとタイマーがスタートします。「ゴール」オブジェクトをクリックすると、UIが非表示になり、成功メッセージが表示されます。
Timerオブジェクトの見た目やインタラクションアイコンの位置も、オリジナルのコンセプトに合わせてカスタマイズできます。
- オブジェクトの見た目を変更:見た目を担当する子オブジェクトを削除し、マップ上の別オブジェクトを同じ位置に置くと見た目が変わります。
- アイコンの位置を変更:オブジェクトの見た目を変更した場合は、「IconPos」の位置も調整してください。

Rouletteオブジェクトを使えば、ユーザーがアイコンをクリックしたときにランダムな数値を生成し、その結果がZepetoのチャットに表示されます。
- 数値の範囲設定:Rouletteオブジェクトを選択し、Inspectorウィンドウで最小値と最大値を設定できます。
Rouletteオブジェクトの見た目やインタラクションアイコンの位置も、自分のワールドに合わせて変更できます。
- オブジェクトの見た目を変更:見た目を担当する子オブジェクトを削除し、同じ位置に別のマップ内オブジェクトを置いて見た目を変えられます。
- インタラクションアイコンの位置を変更:見た目を変更した後は、子オブジェクト「IconPos」の位置も調整しましょう。

Teleportオブジェクトを使うと、ユーザーがアイコンをクリックしたときに指定された場所へ瞬時にワープできます。
- 目的地の設定:子オブジェクト「destination」の位置を移動させることで、ワープ先を指定できます。
Teleportオブジェクトも見た目やアイコンの位置をカスタマイズ可能です。
- オブジェクトの見た目を変更:見た目を担当する子オブジェクトを削除し、マップ上の別のオブジェクトを同じ位置に配置して外観を変更できます。
- インタラクションアイコンの位置を変更:見た目を変更した後、「IconPos」の位置も調整しましょう。

MovingPlatformオブジェクトは、ジャンプマップでよく使われる動く足場です。キャラクターが乗ることができ、動きのルートやスピードも細かく設定できます。 このオブジェクトは自動的にマルチプレイ同期されるため、同じルームにいる他のプレイヤーとも動きが共有されます。
設定は、子オブジェクト「MovingPlatformManager」で行います。
- Sync Type:同期設定のプロパティです。
- Sync:マルチプレイ同期を使用します。
- NoneSync:同期を使用しません。
- Tween Type:動き方のタイプを指定します。
- Circulation:円状に循環します(1 → 2 → 3 → 4 → 1…)
- Linear:直線的に往復します(1 → 2 → 3 → 4 → 3 → 2 → 1)
- TeleportFirstPoint:最後の地点に到達すると、最初の地点へテレポートして循環します。
- Loop Type:繰り返し回数のタイプを指定します。
- Repeat:無限に繰り返します。
- JustOneWay:片道一回のみ動作します。
- JustOneRoundTrip:往復一回のみ動作します。
- Sync Extrapolation:サーバー遅延時間を考慮して位置を補間します。
- default:true
- Tween Position
- 動くルートとして使いたいlocalPositionの座標を入力します。
- 最低2点以上必要です。
- Move Speed:オブジェクトの移動速度を設定します。
MovingPlatformオブジェクトの見た目もカスタマイズ可能です:
- オブジェクトの見た目を変更:担当する子オブジェクトを削除し、別のマップ上のオブジェクトを同じ位置に配置してください。

BGMオブジェクトをSceneに配置すると、バックグラウンドミュージック(BGM)が再生されます。SceneにはBGMオブジェクトを1つだけ配置してください。
- AudioClip:Inspectorウィンドウで.mp3または.wav形式の音声ファイルを割り当てることができます。

ユーザーは、右側に表示されるBGM アイコンをクリックして、音楽の再生をオンまたはオフにすることができます。

Popupオブジェクトは、ユーザーがワールドに入場したときに表示されるポップアップウィンドウです。 ウィンドウ内のボタンをクリックすると、自動的に閉じられます。
このポップアップを使って、ワールドの紹介やイベント情報を表示してみましょう!
注意事項
- Popupウィンドウは地面に設置するものではありません。
- UIの画面領域に表示され、「Game」ビューで確認できます。
HierarchyでPopupを選択し、Inspectorで各種プロパティを変更できます。変更内容はPlayモードで確認してください。
- Background Image:2Dスプライト画像をドラッグ&ドロップで変更できます。
- Message:表示されるメッセージテキストを編集します。
- Message Color:メッセージの文字色を変更します。
- Message Shadow:文字の影のオン・オフを切り替えます。
- Button Title:ボタンに表示されるテキストを変更します。

あなたの世界にReward Chestを置くことで、プレイヤーはイベントに応じてZEMまたはコインを獲得することができます.
ユーザーがReward Chestのあるワールドに入ると、そのワールドにあるReward Chestの数を知らせるポップアップが表示されます。

秘密の場所にReward Chestを隠すか、ジャンプマップの目標に置いてプレイヤーに報酬を与えるようにしてみましょう!

- 動作ロジック
- ワールドのクリエイターたちは、自分たちのワールドにReward Chestを置いています。
- あまり簡単に見つかる場所には置かないようにお願いします。
- あまりにも簡単にReward Chestを配置すると、レビューに合格できなかったり、予告なしにワールドがダウンする可能性があります.
- ワールドのクリエイターは、自分のワールドから報酬を得ることもできます.

- Timeout
- Reward Chest を使ってワールドの滞在時間を伸ばしたい場合は、報酬を獲得する前に短いカウントダウンを追加してみてください。
- Timeout フィールドにカウントダウン時間(秒)を入力してください。デフォルトは60秒です。
- 0を入力すると、カウントダウンなしで即座に報酬を獲得できます。
- Activated Icon Color
- カウントダウンが始まる前は、インタラクションアイコンは白色で表示されます。カウントダウンが完了すると、アイコンの色が設定された Activated Icon Color に変わります。
- Group Id
- 同じ Group Id を持つチェストの中では、1つだけが表示されます。
- 異なる Group Id が指定されている場合、それぞれのグループで1つずつチェストが表示されます。
注意事項
- ZEM/コイン獲得イベントはZEPETOで行われ、ワールドクリエイターが設定できません。
- 一人当たりのイベントで獲得可能な報酬には制限があり、制限に達した場合、これ以上報酬を獲得することはできません。
- イベント期間でない場合は、Reward Chestが表示されず、報酬を獲得することができません。
以下の動画を参考に、ジャンプマップに様々なオブジェクトを追加してみましょう!
複数言語の字幕が用意されていますので、字幕をオンにしてご視聴ください。
BombTrapはキャラクターが触れると爆発するトラップオブジェクトです。
爆発時にキャラクターが爆発範囲内にいる場合、直前のチェックポイントまたはSpawnPointに移動します。
- Fuse Duration: 爆弾に着火してから爆発するまでの時間(秒)
- Explosion Range: 爆発が適用される範囲
- Show Timer: チェックすると、オブジェクト上に爆発までの残り時間が表示されます。

BuffPanelは、キャラクターが上に乗ったときに移動速度やジャンプ力を変更するオブジェクトです。
マップの様々な場所に配置して、特定区間でキャラクターの能力を強化したり制限したりするなど、多様な演出に活用できます。
- Walk Speed: オブジェクト上でキャラクターが歩く速度
- Run Speed: オブジェクト上でキャラクターが走る速度
- Jump Power: オブジェクト上でキャラクターのジャンプ力
✏️ Tip
- キャラクターの歩く・走る速度を速くしたい場合は10や20などの正の値を、遅くしたい場合は-3などの負の値を入力してみましょう。
- 区間ごとに速度を調整して、ミッション区間やパズル要素など自由に応用してみてください。

ScaleTrapは一定周期で大きくなったり小さくなったりを繰り返すプラットフォームです。
ジャンプマップやタイミングが重要なコースに配置して、多彩な難易度を演出してみましょう。
- Timeout: オブジェクトが最大サイズに拡大された状態を維持する時間(秒)
- Speed: オブジェクトが拡大縮小する速度

SpringPlatformは一定時間ごとにキャラクターを自動的にジャンプさせるプラットフォームで、キャラクターが何もしなくても跳ね上がります。
- Jump Power: キャラクターを上に跳ね上げる力
- Delay Jump Timer: 各ジャンプの間隔(秒)

BlinkingPlatformは一定時間で現れたり消えたりを繰り返すオブジェクトです。
- Visible Time: オブジェクトが表示されている時間(秒)
- Invisible Time: オブジェクトが消えている時間(秒)
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

Conveyorオブジェクトは、キャラクターがまるでコンベアベルトの上に立っているように動かすことができるオブジェクトです。
キャラクターがConveyorの上に立つと、設定された速度で前進します。
キャラクターが矢印方向に動くと歩くまたは走る速度が速くなります。
反対に、矢印と逆方向に動くと速度が遅くなります。
- Conveyor Speed: コンベアが動く速度を変更できます。
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

(1) キャラクターが一緒に回転する場合
RotatingPlatformはキャラクターが乗ることのできる回転するプラットフォームです。
- x Speed: RotatingPlatformがx軸方向に回転する速度
- y Speed: RotatingPlatformがy軸方向に回転する速度
- z Speed: RotatingPlatformがz軸方向に回転する速度
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

(2) キャラクターは回転せず、オブジェクトのみ回転する場合
Rotatorは単純に回転するオブジェクトです。キャラクターが乗ってもキャラクターを固定できないため、装飾用として使用できます。
- x Speed: Rotatorがx軸方向に回転する速度
- y Speed: Rotatorがy軸方向に回転する速度
- z Speed: Rotatorがz軸方向に回転する速度
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

FallingPlatformはキャラクターが触れて一定時間が経過すると下に落下するオブジェクトです。
- Duration: キャラクターが触れた後、落下せずに留まる時間(秒)
- Falling Speed: FallingPlatformが落下する速度
- Falling Distance: FallingPlatformが落下する距離
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

TrapObjはキャラクターが触れたときにキャラクターを移動させます。
有効なCheckpointPlatformがある場合は直近のCheckpointに移動し、ない場合はSpawnPointに移動します。
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

TrapMovingCubeはstartPointからendPointまでの往復運動を繰り返し、キャラクターが触れたときにキャラクターを移動させます。
有効なCheckpointPlatformがある場合は直近のCheckpointに移動し、ない場合はSpawnPointに移動します。
- startPoint: HierarchyウィンドウでstartPointオブジェクトを選択し位置を変更すると、移動経路の始点を変更できます。
- endPoint: HierarchyウィンドウでendPointオブジェクトを選択し位置を変更すると、移動経路の終点を変更できます。
- Speed: TrapMovingCubeが動く速度をInspectorウィンドウで調整できます。
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

TrapPendulumは振り子のように左右に揺れるオブジェクトです。
- Amplitude: TrapPendulumが動く高さを調整できます。
- Speed: TrapPendulumが動く速度を調整できます。
- Enable Kill: このフィールドにチェックを入れると、キャラクターがTrapPendulumの下部の球体に触れた際、移動させることができます。 有効なCheckpointPlatformがある場合は直近のCheckpointに、ない場合はSpawnPointに移動します。
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

TrapRotatingHorizontalは水平方向に回転するオブジェクトです。 キャラクターが白いバーに触れると、キャラクターを移動させます。
有効なCheckpointPlatformがある場合は直近のCheckpointに、ない場合はSpawnPointに移動します。
- Rotation Speed: TrapRotatingHorizontalの回転速度を調整できます。
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

TrapRotatingVerticalは垂直方向に回転するオブジェクトです。 キャラクターが白いバーに触れると、キャラクターを移動させます。
有効なCheckpointPlatformがある場合は直近のCheckpointに、ない場合はSpawnPointに移動します。
- Rotation Speed: TrapRotatingVerticalの回転速度を調整できます。
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

SpikeTrapは設定した周期に合わせてトゲが飛び出す障害物です。
緊張感を与える障害物としてマップに配置してみてください。
- Spike Active Duration : トゲが外で待つ時間
- Spike Cooldown Duration : トゲの中で待つ時間

- オブジェクト外見の変更: 足場の形の変更は、Plateの下位にある外形オブジェクトを削除し、希望する外形オブジェクトを追加すればいいです。
- その他の要素は修正せずに使用することをお勧めします。

CheckpointPlatformはキャラクターが触れるとチェックポイントとして設定される足場です。 ジャンプマップ制作時はステージの途中に配置しましょう。
- Index: CheckpointPlatformの動作順序を決定するフィールドです。
- デフォルトのIndex値は0です。0より大きい値を必ず入力してください。負の値を入力すると正しく動作しません。
- キャラクターが訪れたCheckpointPlatformの中で、Index値が最も大きい位置でリスポーンします。
- Indexを活用すると、プレイヤーが高いレベルをクリアして再度低いレベルを訪れた場合、チェックポイントが低いレベルに戻るのを防げます。
- CheckpointPlatformは、キャラクターが初めて訪れた際にアクティブになります。Index値が同じであれば、最も最近アクティブになったCheckpointPlatformの位置でリスポーンします。
- 例)キャラクターが1番 → 2番 → 3番 → 2番の順でチェックポイントを訪れた場合、最後に訪れた2番ではなく、最後にアクティブになった3番のチェックポイントでリスポーンします。
- オブジェクト外見の変更: 外見を担当する子オブジェクトModelを削除し、マップ上の別のオブジェクトを同じ位置に配置すると外見が変更されます。外見を変更した場合は、変更された外見に合わせて、InspectorウィンドウでColliderのサイズと位置を修正してください。

壊れるガラス足場
Yongheeはワールドに配置すると、簡単なミニゲームをプレイできるオブジェクトです。
基本動作 オブジェクトを配置してPlayを押すと自動で動作します。 ヨンヒキャラクターがこちらを見ているときに動くと、レーザーが出て倒れます(倒れるモーションだけで実際には死亡しません)。 ヨンヒキャラクターが後ろを向いている時間はInspectorで設定できます。
- Min Counting Time: ヨンヒが後ろを向いている最小時間
- Max Counting Time: ヨンヒが後ろを向いている最大時間
- Paused: ヨンヒの動作をON/OFFします。機能のないオブジェクトとして使いたい場合は、Paused Onに設定して配置してください。

Votingはワールドに配置すると、OとXのエリアに立っている人数をカウントしてくれるオブジェクトです。
床に配置するだけで、追加の設定なしですぐに使えます。
- O、Xの床にあるColliderのエリアがカウントを認識する領域です。サイズを調整して範囲を変更できます。

Timedisplayはカウントダウンが可能なディスプレイオブジェクトです。
デフォルトのカウントダウン時間は5分に設定されています。
Inspectorで自由に時間を設定できます。
- MaxValue: カウントダウンの開始時間(秒)
- MinValue: カウントダウンの終了時間(秒)
- Interval: カウントダウンの間隔(秒)

breakable_glassは踏んだり触れたりすると消える足場です。
ジャンプマップの障害物として使ってみましょう。
- Is Breakable: 触れると壊れる性質をON/OFFします。ONのときのみ、以下のプロパティが機能します。
- Auto Reset Delay: 触れると、設定された時間の後に自動的に再生成されます。
- Has Auto Reset: 足場を再生成させたくない場合は、Has Auto ResetをOFFにしてください。
