Modular Avatarを使ってアバターのアニメーションをメニュー登録する方法。類似記事はいっぱいあるけど古いものが多く、Modular Avatarを使ったらどうなるのか?を書いてみたかったため執筆します。
ある程度は簡単なので初心者さんにもオススメです。みんながんばれ!!
ここではマヌカちゃんを用いてマテリアル(エプロンの色)を変えるアニメーションを作成します。
もし衣装やアイテムのオンオフ(非アクティブ化・アクティブ化)をアニメーションで行いたい場合、使いまわしできるように衣装やアイテムそのものをオン・オフしないよう留意しましょう(以前の記事)
シーン管理まで
1.新しいシーンを追加
File → New Scene → Add New Scene

確認画面でAdd New Sceneを選択
シーンがUntitledで作成されるのでCtrl+Sで名前をつけて保存しておく

最初はUntitled

保存後

Assetにシーンのファイルが置かれる
ポイント1:シーンから何も無くなってしまったときは、データが消えたのではなくシーンファイルが画面から消えてしまっただけなので、これらシーンファイルをドラッグ&ドロップすると復活します。
ポイント2:余分なシーンは右クリック→Unloadで消せます
2.シーンの準備
さきほど作成した「マヌカ テスト」のシーンにPrefabをドラッグ&ドロップ

これでシーンにアバターが出る
ポイント3:ヒエラルキーから全てのシーンをUnloadすることはできないので一番下に「ダミー」という何もないシーンを追加しています
このダミーシーンに
Tools→Av3Emulator→Enable より
Av3Emulatorの起動用オブジェクトを配置します。

これでEmulatorが起動可能
その他、シーンによらず必要なオブジェクト(高さをみるとき用いる床面など)はダミーに置いています。

Av3Emulatorが見つからないひとはUnityプロジェクトを開くときの横のボタン(ManegeProjest)押して入っているか確認してください

プロジェクトを再生してアバターをクリックするとリングメニューが出てたらひとまず成功
メニュー作成まで
アバターを右クリックしてModular AvatarからExtract Menu(メニュー抽出)

Avatar Menuを開いて右クリック→Creat emptyからGameobjectを作成してください

このゲームオブジェクトを「その他」みたいなメニューのまとまりに整形します。
そのためにMA Menu Itemというコンポーネントをアタッチします

タイプ→サブメニュー サブメニュー引用元→子オブジェクトから生成に変更
こうやって探してください↓

Add Componentからitemで検索
さいごに名前をGameobjectから変更します。

マヌカちゃんを再生▶ リングメニューがこうなったら成功↓

(アイコンなどは編集可能です)
アニメーション作成まで
今回はマヌカちゃんのエプロンの色を変更するアニメーションにします
アニメーションファイルをAssetsのどこかに新規作成してアバターのルートへドラッグ&ドロップ

アニメーションファイルをダブルクリックすると編集画面(Animationタブ)が開きます

ポイント:なかったら適当なタブを右クリック→AddTabから追加
この状態でアバターのルートをクリックすると録画ボタンがオンにできるようになります(儀式)

アバターをクリックしたときAnimationのファイルが変わって
それが目当てのファイルじゃなかったら▼ボタンを押そう

登録されているアニメーションファイルがこころから全部 閲覧・変更できる
ここから録画ボタンでアニメーション作成します。
裏技として通常状態を0フレーム目に、変化後の状態を1フレーム目に登録すると楽です。

0フレーム目

最終nフレーム目
アニメーターコントローラー作成まで
テンプレートを参考に組んでください

変数 1 float 値1
変数0 float 値0
切り替え用変数 Bool
StateのMotion timeに0をセットするとアニメーションファイルの0フレーム目、1をセットすると最終フレームが再生される仕組みです
今回はエプロンの色を変えるので、テンプレートからコピーして該当箇所を書き換えます

変数名は衝突しないよう変えましょう

motionをこの通りセット

motionをこの通りセット
Animatorコントローラーはこれで完成とします。
メニュー追加まで
アニメーターの統合
アバターのルートを右クリックしてCreate Empty→名前変更
「エプロン色変え」の空オブジェクトを作ります

エプロン色変えにMA Merge AnimatorとMA Parametersをアタッチ

統合されるアニメーターを先程のものに指定するとこうなるはずです
MA Parametersのプレハブ開発者向け設定を表示して

切り替え用の変数をAnimatorのみからBoolへと変更
これで同期する変数となりメニューに登録できます
メニューの登録
「ExpressionMenuファイル」を作成します

新規作成

このようにしておく
ひとつだけAddControlを追加して、Parameterを直接入力します。
先程Boolにした変数名です。
MA Menu InstallerをさっきのMA Parametersのさらに下にアタッチ

メニューを選択からその他を指定

プレハブ開発者向け設定を開いて
先程つくったメニューファイルを指定します

表示がこうなりましたか?
再生してみましょう▶

「その他」に設定項目ができ
エプロンの色が変わりました
注意点:今回作成した色変更アニメーションは、Light Limit Changerの「色温度調整」「再度調整」機能をオンにするとバッティング(衝突)して、色が変わらなくなる事があります
Prefabまで
先ほど色々なMAのコンポーネントをアタッチした「エプロン色変え」をAssets下にドラッグ&ドロップしてPrefabにします

つくったPrefabは、ほかのマヌカちゃん改変アバターに移植することができます
このときインストール先はMissingするためExpメニューのトップになりますが
「メニューを選択」から適切な場所へ再選択することができます

「ほかのアバターに使い回せる」といってもエプロンを付けたままのマヌカちゃんはそう多くなく、このようなアニメーションの再利用可能性は高くないのでは?と言いたいことでしょう。
しかし
①髪の色などの使いまわしやすいアニメーション(汎用性が高いもの)ではPrefabをつくったことが活きてくる
②つくったアニメーションのPrefabを他の人に譲渡することができる(メニューごと機能を譲渡できる)
という利点があります。
②は他人に作ってもらってこの形で納品してもらえば設定が一切(ほとんど?)要らないということです。Modular Avatarは便利ですね!
以上が紹介したい手順です。
よかったら参考にしてみてください
このクリエイターの記事をもっと読む

なんかやるhttps://twitter.com/efk2efk
見出し画像:
くわげ(https://note.com/kuwage)
えふか