あなたの世界を作りなさい
プレイヤーとキャラクター: 上級
カスタムアニメーションを適用する方法
10 分
外部アニメーションファイルをインポートし、それをzepetoキャラクターに適用する方法を学びましょう。 ステップ 1 アニメーションの設定 アニメーションをダウンロードしたいサイトにアクセスします。 このガイドはmixamoサイトの使用例です。 📘 mixamo https //www mixamo com/ https //www mixamo com/ 希望のヒューマノイドアニメーションをクリックします。 アニメーションをダウンロードし、「fbx for unity ( fbx)」オプションを選択します。 ダウンロードしたファイルをunityプロジェクトパネルにドラッグアンドドロップします。 リグタブをクリックし、アニメーションタイプをヒューマノイドに変更します。 ❗️ 注意 ヒューマノイド設定がないと、zepetoキャラクターと互換性がありません。 設定を確認してください。 アニメーション > モーション > ルートモーションノードオプションを\<root transform>に変更して、キャラクターのアニメーションをよりスムーズでリアルにします。 📘 unity ルートモーションノードの選択 https //docs unity3d com/560/documentation/manual/animationrootmotionnodeonimportedclips html https //docs unity3d com/560/documentation/manual/animationrootmotionnodeonimportedclips html ステップ 2 アニメーターの設定 zepetoplayersコンポーネントインスペクター内のアニメーター変数に関連付けられたアニメーターオブジェクトをクローンします。 ファイルパス packages/zepeto character controller/runtime/ resources/animatorcontroller/zepetoanimatorv2 controller アニメーターをアセットフォルダーにドラッグします。 コピー後、zepetoanimatorv2 customに名前を変更します。 階層 > zepeto > zepetoplayersをクリックして作成し、zepetoplayersコンポーネントのanimation controllerフィールドに作成したアニメーターのコピーをドラッグします。 zepetoanimatorv2 customをダブルクリックしてアニメータータブを開きます。 新しいアニメーションをアニメーターにドラッグ&ドロップしてアニメーションステートを作成します。 作成したアニメーションステートを右クリックし、次に「遷移を作成」をクリックしてidleステートに戻る遷移を作成します。 ステップ 3 カスタムアニメーションファイルの使用例 ボタンをクリックしたときにアニメーションを再生する例を作成しましょう。 ステップ 3 1 uiの設定 階層 > ui > ボタンを追加します。 ステップ 3 2 スクリプトを書く 階層を作成 > 空のオブジェクトを作成し、charactercontrollerに名前を変更します。 プロジェクトを作成 > 作成 > zepeto > typescriptを選択し、charactercontrollerに名前を変更します。 以下のようにサンプルスクリプトを書きます: import { zepetoscriptbehaviour } from 'zepeto script'; import { button } from 'unityengine ui'; import { animator, animationclip } from 'unityengine'; import { spawninfo, zepetoplayers, localplayer, zepetocharacter } from 'zepeto character controller'; import { worldservice } from 'zepeto world'; export default class charactercontroller extends zepetoscriptbehaviour { public customanimationclip animationclip; public playcustomanimationbutton button; private localplayeranimator animator; start() { this playcustomanimationbutton onclick addlistener(() => { this localplayeranimator play(this customanimationclip name); }) zepetoplayers instance createplayerwithuserid(worldservice userid, new spawninfo(), true); zepetoplayers instance onaddedlocalplayer addlistener(() => { const player localplayer = zepetoplayers instance localplayer; this localplayeranimator = player zepetoplayer character getcomponentinchildren\<animator>(); }); } } スクリプトの流れは次のとおりです: start() playcustomanimationbuttonにリスナーを追加し、クリック時にアニメーションを再生します。 zepetoplayers instance createplayerwithuserid()関数を呼び出してローカルプレイヤーを作成します。 ローカルプレイヤーのアニメーターコンポーネントを取得し、localplayeranimator変数に格納します。 カスタムアニメーションクリップに設定されたアニメーションクリップを割り当てます。 ボタンをドラッグして、カスタムアニメーションボタンに割り当てます。 6\ アニメーションを再生するためにボタンをクリックします。 👍 zepetoキャラクター以外のカスタムキャラクターを使用する場合、 ヒューマノイドキャラクターであれば、zepetoアニメーションを適用できます。