【VRChat】アバターのちょっとしたアニメーションをメニューに追加する方法 ~Modular Avatarより~

【VRChat】アバターのちょっとしたアニメーションをメニューに追加する方法 ~Modular Avatarより~

  • note
  • 更新日:2023/11/21

Modular Avatarを使ってアバターのアニメーションをメニュー登録する方法。類似記事はいっぱいあるけど古いものが多く、Modular Avatarを使ったらどうなるのか?を書いてみたかったため執筆します。
ある程度は簡単なので初心者さんにもオススメです。みんながんばれ!!

ここではマヌカちゃんを用いてマテリアル(エプロンの色)を変えるアニメーションを作成します。

もし衣装やアイテムのオンオフ(非アクティブ化・アクティブ化)をアニメーションで行いたい場合、使いまわしできるように衣装やアイテムそのものをオン・オフしないよう留意しましょう(以前の記事)

シーン管理まで

1.新しいシーンを追加

File → New Scene → Add New Scene

No image

確認画面でAdd New Sceneを選択

シーンがUntitledで作成されるのでCtrl+Sで名前をつけて保存しておく

No image

最初はUntitled

No image

保存後

No image

Assetにシーンのファイルが置かれる

ポイント1:シーンから何も無くなってしまったときは、データが消えたのではなくシーンファイルが画面から消えてしまっただけなので、これらシーンファイルをドラッグ&ドロップすると復活します。

ポイント2:余分なシーンは右クリック→Unloadで消せます

2.シーンの準備

さきほど作成した「マヌカ テスト」のシーンにPrefabをドラッグ&ドロップ

No image

これでシーンにアバターが出る

ポイント3:ヒエラルキーから全てのシーンをUnloadすることはできないので一番下に「ダミー」という何もないシーンを追加しています

このダミーシーンに
Tools→Av3Emulator→Enable より
Av3Emulatorの起動用オブジェクトを配置します。

No image

これでEmulatorが起動可能

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

No image

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

No image

プロジェクトを再生してアバターをクリックするとリングメニューが出てたらひとまず成功

メニュー作成まで

アバターを右クリックしてModular AvatarからExtract Menu(メニュー抽出)

No image

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

No image

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

No image

タイプ→サブメニュー サブメニュー引用元→子オブジェクトから生成に変更

こうやって探してください↓

No image

Add Componentからitemで検索

さいごに名前をGameobjectから変更します。

No image

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

No image

(アイコンなどは編集可能です)

アニメーション作成まで

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

No image

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

No image

ポイント:なかったら適当なタブを右クリック→AddTabから追加

この状態でアバターのルートをクリックすると録画ボタンがオンにできるようになります(儀式)

No image

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

No image

登録されているアニメーションファイルがこころから全部 閲覧・変更できる

ここから録画ボタンでアニメーション作成します。
裏技として通常状態を0フレーム目に、変化後の状態を1フレーム目に登録すると楽です。

No image

0フレーム目

No image

最終nフレーム目

アニメーターコントローラー作成まで

テンプレートを参考に組んでください

No image

変数 1 float 値1
変数0 float 値0
切り替え用変数 Bool

StateのMotion timeに0をセットするとアニメーションファイルの0フレーム目、1をセットすると最終フレームが再生される仕組みです

今回はエプロンの色を変えるので、テンプレートからコピーして該当箇所を書き換えます

No image

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

No image

motionをこの通りセット

No image

motionをこの通りセット

Animatorコントローラーはこれで完成とします。

メニュー追加まで

アニメーターの統合

アバターのルートを右クリックしてCreate Empty→名前変更
「エプロン色変え」の空オブジェクトを作ります

No image

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

No image

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

No image

切り替え用の変数をAnimatorのみからBoolへと変更
これで同期する変数となりメニューに登録できます

メニューの登録

「ExpressionMenuファイル」を作成します

No image

新規作成

No image

このようにしておく

ひとつだけAddControlを追加して、Parameterを直接入力します。
先程Boolにした変数名です。

MA Menu InstallerをさっきのMA Parametersのさらに下にアタッチ

No image

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

No image

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

No image

表示がこうなりましたか?

再生してみましょう▶

No image

「その他」に設定項目ができ
エプロンの色が変わりました

注意点:今回作成した色変更アニメーションは、Light Limit Changerの「色温度調整」「再度調整」機能をオンにするとバッティング(衝突)して、色が変わらなくなる事があります

Prefabまで

先ほど色々なMAのコンポーネントをアタッチした「エプロン色変え」をAssets下にドラッグ&ドロップしてPrefabにします

No image

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

No image

「ほかのアバターに使い回せる」といってもエプロンを付けたままのマヌカちゃんはそう多くなく、このようなアニメーションの再利用可能性は高くないのでは?と言いたいことでしょう。
しかし
①髪の色などの使いまわしやすいアニメーション(汎用性が高いもの)ではPrefabをつくったことが活きてくる
②つくったアニメーションのPrefabを他の人に譲渡することができる(メニューごと機能を譲渡できる)

という利点があります。
②は他人に作ってもらってこの形で納品してもらえば設定が一切(ほとんど?)要らないということです。Modular Avatarは便利ですね!

以上が紹介したい手順です。
よかったら参考にしてみてください

このクリエイターの記事をもっと読む

えふか

No image

なんかやるhttps://twitter.com/efk2efk

見出し画像:

くわげ(https://note.com/kuwage)

えふか

この記事をお届けした
グノシーの最新ニュース情報を、

でも最新ニュース情報をお届けしています。

外部リンク

  • このエントリーをはてなブックマークに追加