あなたの世界を作りなさい
オブジェクトとの相互作用
ZEPETOキャラクターにオブジェクトを取り付ける
8分
zepetoキャラクターにオブジェクトを取り付けて、キャラクターが動くときにオブジェクトも一緒に動くようにします。 ステップ 1 オブジェクトプレハブの準備 まず、オブジェクトをプレハブに変換する必要があります。 オブジェクトを作成し、それをアセットフォルダーにドラッグしてプレハブにします。 ステップ 2 オブジェクトをキャラクターの特定の部分に取り付けるスクリプト シーンにzepetoキャラクター作成コードをデフォルトとして実装します。 📘 以下のガイドを参照してください。 \[ zepetoキャラクターを作成する docid\ x3hpjvyg3lww0pu1r8k1s ] ステップ 2 1 スクリプトを書く 1\) 階層を作成 > 空のオブジェクトを作成し、attachobjectに名前を変更します。 2\) プロジェクトを作成 > 作成 > zepeto > typescriptを選択し、attachobjectに名前を変更します。 3\) 以下のようなサンプルスクリプトを書きます。 import { zepetoscriptbehaviour } from 'zepeto script'; import { zepetocharacter, zepetoplayers } from 'zepeto character controller'; import { transform, animator, gameobject, humanbodybones, object } from 'unityengine'; export default class attachobject extends zepetoscriptbehaviour { // 体に取り付けるオブジェクトのプレハブ。 public prefitem gameobject; // オブジェクトを取り付ける骨。 public bodybone humanbodybones; private localcharacter zepetocharacter; start() { zepetoplayers instance onaddedlocalplayer addlistener(() => { // ローカルプレイヤーを見つけて、 localcharacterに設定します。 this localcharacter = zepetoplayers instance localplayer zepetoplayer character; // localcharacterのアニメーターコンポーネントを取得します。 const animator animator = this localcharacter zepetoanimator; // オブジェクトを取り付ける骨の位置を取得します。 const bone transform = animator getbonetransform(this bodybone); // オブジェクトのプレハブを作成します。 object instantiate(this prefitem, bone) as gameobject; }); } } スクリプトの流れは次のとおりです: start() zepetoplayers instance onaddedlocalplayerイベントリスナーを登録します。これはローカルプレイヤーが追加されたときに発火します。 ローカルプレイヤーを localcharacter変数に設定します。 localcharacterのアニメーターコンポーネントを取得し、bodyboneで指定された位置を取得し、prefitemで指定されたプレハブをその位置に作成します。 ステップ 2 2 インスペクターでの取り付け位置の設定 1\) スクリプトの作成が完了したら、スクリプトをattachobjectオブジェクトに追加します。 2\) インスペクターで、pref item、body boneを割り当てます。 pref itemはオブジェクトのプレハブです。 body boneはオブジェクトが作成される場所です。 左手を選択して、オブジェクトを手に持っているように見せます。 3\) 再生ボタンを押して実行すると、zepetoキャラクターが左手にオブジェクトを持っているのが見えます。 ステップ 3 適用 同じ方法で、body boneの希望する位置に任意のオブジェクトを取り付けることができます。 📘 unity humanbodybones https //docs unity3d com/scriptreference/humanbodybones html https //docs unity3d com/scriptreference/humanbodybones html 以下は、builditからのネックピローオブジェクトをキャラクターの首に取り付けて、zepetoキャラクターがネックピローを着用しているように見せる例です。 オブジェクトの位置と回転を適切に調整して、望ましい外観を得ることができます。 インスペクターで、ネックピローオブジェクトをプレファブアイテムに割り当て、ボディボーンとしてネックを選択します。