あなたの世界を作りなさい
オブジェクトとの相互作用
ZEPETOキャラクターにオブジェクトを取り付ける
8min
ZEPETOキャラクターにオブジェクトを取り付けて、キャラクターが動くときにオブジェクトも一緒に動くようにします。
![Document image Document image](https://archbee-image-uploads.s3.amazonaws.com/fCt3n1oCa8rgNJ8fw9I2N-RVU1Pj2VnYVimqUgTc6-f-20240904-102420.gif)
まず、オブジェクトをプレハブに変換する必要があります。 オブジェクトを作成し、それをアセットフォルダーにドラッグしてプレハブにします。
![オブジェクトプレハブの例 オブジェクトプレハブの例](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-a1A3QEkz2EOYUKkkmWhU6-20240904-102418.png?format=webp)
オブジェクトプレハブの例
- シーンにZEPETOキャラクター作成コードをデフォルトとして実装します。
📘 以下のガイドを参照してください。 [ZEPETOキャラクターを作成]
1) 階層を作成 > 空のオブジェクトを作成し、AttachObjectに名前を変更します。
2) プロジェクトを作成 > 作成 > ZEPETO > TypeScriptを選択し、AttachObjectに名前を変更します。
3) 以下のようなサンプルスクリプトを書きます。
- スクリプトの流れは次のとおりです:
- Start()
- ZepetoPlayers.instance.OnAddedLocalPlayerイベントリスナーを登録します。これはローカルプレイヤーが追加されたときに発火します。
- ローカルプレイヤーを_localCharacter変数に設定します。
- _localCharacterのアニメーターコンポーネントを取得し、bodyBoneで指定された位置を取得し、prefItemで指定されたプレハブをその位置に作成します。
1) スクリプトの作成が完了したら、スクリプトをAttachObjectオブジェクトに追加します。
2) インスペクターで、Pref Item、Body Boneを割り当てます。
- Pref Itemはオブジェクトのプレハブです。
- Body Boneはオブジェクトが作成される場所です。
- 左手を選択して、オブジェクトを手に持っているように見せます。
![スクリプト設定画面の例 スクリプト設定画面の例](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-da9YMvrZkYu620CaOeWE0-20240904-102418.png?format=webp)
スクリプト設定画面の例
3) 再生ボタンを押して実行すると、ZEPETOキャラクターが左手にオブジェクトを持っているのが見えます。
同じ方法で、Body Boneの希望する位置に任意のオブジェクトを取り付けることができます。
📘 Unity HumanBodyBones https://docs.unity3d.com/ScriptReference/HumanBodyBones.html
以下は、BuildItからのネックピローオブジェクトをキャラクターの首に取り付けて、ZEPETOキャラクターがネックピローを着用しているように見せる例です。
![Document image Document image](https://archbee-image-uploads.s3.amazonaws.com/fCt3n1oCa8rgNJ8fw9I2N-NvEWim8bsEaTZfU8ZnIWz-20240904-102420.gif)
- オブジェクトの位置と回転を適切に調整して、望ましい外観を得ることができます。
![オブジェクトプレハブ設定の例 オブジェクトプレハブ設定の例](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-nQ0DQLTax73xt5ioGw0Hm-20240904-102418.png?format=webp)
オブジェクトプレハブ設定の例
- インスペクターで、ネックピローオブジェクトをプレファブアイテムに割り当て、ボディボーンとしてネックを選択します。
![スクリプト設定画面の例 スクリプト設定画面の例](https://images.archbee.com/fCt3n1oCa8rgNJ8fw9I2N-_Id79tFqG3jX3dvvG1Cjb-20240904-102418.png?format=webp)
スクリプト設定画面の例