【VRChat】MAに既存MenuとParameterを移植する方法【Modular Avatar】

VRChat
スポンサーリンク

はじめに

今回はVRChatのModularAvatarに既存MenuとParameterを移植する方法を紹介します。

UnityやModula avatarの導入済み。
何かしらのアバターを1つはアップロードしたことを前提に進めます。
↓前提知識はこちらをご覧ください。

現状確認

ヒエラルキーでアバターを選択。
VRC Avatar Descriptorの「Expressions」を確認。
ここに「Nemu」や「Paramete」が刺さってることがあります。

ここに何かあるということはModular Avatarが使われてない設定があることを意味します。
こちらで紹介してるようなAvatar3.0の設定で動いてるという意味です。

Expressionsから「Menu」に入ってるモノをクリック。
するとプロジェクトで入ってる「Menuアセット」がある位置が表示されます。
こちらをクリックで選択。

インスペクターを確認。
すると「AFK、FacialEx、Costume」の3つが登録されてるのが分かります。
つまりこの3つはModular Avatarを使ってないです。

逆に言うとここにない項目はModular Avatarを使用して追加されてます。

以上が現状確認です。

Exp MenuをModular Avatarに移植

ヒエラルキーを右クリック。
アバター内にModular Avatar用の「空のオプジェクト」を作成。

Game Objectの名前を「ExpMenu」などに変更。
同じ操作でExpMenu中に空のオプジェクトを作成。
名前は「中身」に設定。

ここにMA Menu Installerのコンポーネントを追加。
プレハブ開発者向け設定を開きます。
そしてインストールされるメニューにプロジェクトから「移植したいMenu」をドラッグ&ドロップ

この状態でメニュー内容の表示の「左にある▶」を選択。

すると読み込んだメニューの内容が表示されます。

この状態だとヒエラルキーなどに何も変化が生まれません。
ただ中身が表示されてるだけです。

中身を確認したら「Extract menu to objects」を実行。

この時MA Menu Installer以外のモノがあれば「Extract menu to objects」は押せません。

MA Menu Itemなどが入ってましたら右側の3つの点を選択。
コンポーネントを削除で取り除き。

実行するとヒエラルキーの中に新たな階層が生まれます。

「Gesture Manager」などで動作を確認。
するとMenu移植した項目が新たに追加されたことが分かります。

「Gesture Manager」の導入方法はこちらで解説。

以上でExp MenuをModular Avatarに移植する工程が完了です。

移植したExp Menuを整理する

ヒエラルキーから生成した「中身」を選択。
するとMA Menu Installerの下に「MA Menu Group」が追加されてます。

こちらを開くと中にある「Menu」を参照してることが分かります。

MA Menu Groupは下の階層からヒエラルキーの参照先を設定してるだけです。
なので無くても大丈夫です。

Menuの中身を上の階層に移植。
ヒエラルキーのMenuを削除。
「中身」にあるMA Menu Groupコンポーネントを削除。

中身の直下に生成されたヒエラルキーを配置。
これだけで同じ設定が行えます。

MA Menu Installerは上の階層に1つあれば大丈夫のようです。
「中身」の中にあるオプジェクト1つ1つに設定しなくてOK。

次は生成物を使いやすくするようSub Menuにまとめます。

Sub Menuにまとめるのは任意です。
なのでやらなくても良いです。

生成物をSub Menu内にまとめる(任意)

「中身」オプジェクトを選択。
ここにMA Menu Itemコンポーネントを追加。

タイプを「Sub Menu」に設定。
すると生成されたMenuがこの中に格納されます。

ここまでの状況をまとめると下記。

・最上位階層(Exp Menu) → 何もなし
・下の階層(「中身」) → MA Menu Installer + MA Menu Item(Sub Menu)を追加
・一番下の階層(移植した項目) → MA Menu Itemが入る(Sub Menu)

この状態で「Gesture Manager」などを実行。
するとMenuが移植されたことが確認できます。

移植したSub MenuをさらにMAに移植する

移植したSub Menuはプロジェクト内の別のMenuを参照してます。
なので形的には「Sub Menu」となってます。

つまりSub Menu内のオプジェクトは移植できてません。

そこで生成された階層のSub Menuを選択。
インスペクターからMA Menu Itemの所にある「オプジェクトに展開」を押します。

すると中身を展開できます。
展開した中身もSub Menuであればこの処理を繰り返し。

これで繰り返せば全てのMenuを移植できます。

以上がExp MenuをModular Avatarに移植する工程です。

パラメーターをModular Avatarに移植する

次はMenuを動かしていたパラメーターを移植します。
Exp Parametersを選択すると中に様々な情報が入ってます。
これを移植します。

一番上の階層「Exp Menu」を選択。

MA Parametersを追加。
アセットからインポートするの所にAvatar3.0パラメーターをドラッグ&ドロップ。
これだけで移植が完了します。

あとは誤作動防止のためAvatar Descriptor側のExpressons MenuとParametersを消します。

ここに設定があると「MA設定」と「Avatar3.0設定」のMenuとParameterが2重に入ります。

バグの原因になるので注意。

以上がパラメータのMA移植方法です。

まとめ

今回はModula Avatarに既存MenuとParameterを移植する方法を紹介しました。

・Menuの移植はMA Menu Installerの「プレハブ開発者向け設定」で行える
・必要であれば「MA Menu Group」を消したりSub Menuにまとめたりして整理
・Sub Menuの移植はMA Menu Itemの「オプジェクトに展開」で行う
・パラメーターはMA Parametersの「アセットからインポート」で行う

また他にもModula AvatarやVRChatについて解説してます。

【VRChat】MAでExpressions Menuを作る方法【Modular Avatar】
MA Menu Installerを使うとアバターの既存メニューに新しい要素を差し込めます。そこにMA Menu Itemを使ってModula avatarでメニューの要素を追加。Exp Menuのボタンとトグル以外はMA Parametersでパラメーター設定が必要。

ぜひ、こちらをご覧ください。

コメント

タイトルとURLをコピーしました