概要
AvatarMenuCreater for Modular Avatarを使用することで、「複数あるオブジェクトのうち、1つだけを表示する」といった動作が簡単に実現できる。
本稿では使用例として、アバターに複数配置した髪型をExpression Menuで1つ選択して切り替えるギミックの作成手順を記す。
実行環境
Unity 2022.3.6f1
VRChat SDK 3.5.0
使用ツール
本稿作成時点の最新版を使用した。
Modular Avatar 1.8.4
AvatarMenuCreater for Modular Avatar 1.3.2
Gesture Manager 3.8.8
動作確認用。
環境のセットアップ
詳細は割愛。上記ツールをVCCなりunitypackage形式なりでプロジェクトにインポートする。
作成手順
任意のSceneを開き、アバターと追加の髪型をHierarchyに配置する。
詳細は割愛。髪型にModular Avatarを適用するか、髪型のボーンをアバターのボーン構造内に移動する。
プレイモード中にアバターのArmatureを移動した際に髪型が追従すればよい。
Unityのツールバー→Tools/Modular Avatar/AvatarMenuCreater for Modular Avatarを選択し、起動する。
Avatar欄に編集したいアバターを入力する。
Hierarchyから入力欄にD&Dする。
Hierarchyから、切り替えたいオブジェクトをすべて選択する。
Ctrl+クリックで複数選択できる。今回は髪型を切り替えたいので、デフォルトの髪型と、追加の髪型のメッシュに相当するオブジェクトを選択した。
AvatarMenuCreaterのAvatar欄の下にあるコンボボックスで「選択式」を選択する。
On/Off
独立したオブジェクトを単純に出し入れする場合に使える。
選択式
今回はこれを選択。複数のオブジェクトから1つだけ表示して、他を非表示にする場合に使える。
無段階制御
シェイプキーを0~100の間で連続的に制御する場合などに使える?
使ったことがないため詳細は割愛。
「選択肢の数」と選択肢のラベルを入力する。
ここで入力した選択肢がExpression Menuに表示される。
4.で選択した各オブジェクトについて、どの選択肢の時に表示するか設定する。
(オブジェクト名)>GameObjectを展開すると、6.で入力した選択肢が表示されるので、このオブジェクトを表示したい選択肢にチェックを入れる。※チェックボックスだが択一式なので、同じオブジェクトを複数の選択肢で表示させることはできない模様。
Create!ボタンを押して設定を出力する。
保存形式は、任意に選択する。
全て個別に保存
Expression Menu, Animator Controller, Animation Clip, prefabがそれぞれ個別のファイルで保存される。
prefabとanimator
Animation Clipを含んだAnimator Controllerと、Expression Menuを含んだprefabの2つがファイルに保存される。
全てprefabに保存
全てがprefabにまとめられて1つのファイルに保存される。
必要に応じて、メニューの項目表示を変更する。
出力したファイルからExpression Menuを選択して、Inspectorから親メニュー項目や選択肢のラベルを変更できる。
親メニュー項目のラベルは、8.で指定したファイル名と同じものが設定されている。また、選択肢のラベルは、6.で入力したものが設定されている。
出力したファイルのうち、prefabをHierarchyのアバター内にD&Dして配置する。
Gesture Managerなどで動作を確認する。
Expression Menuの末尾に、メニューが追加されていればOK
あとがき
アバターのプロジェクトをUnity 2022向けに作成しなおすついでにアバターの構成を見直していたところ、AvatarMenuCreaterで選択式のメニュー/アニメーションが作れることを知った。作成後のメニュー構成もいい感じだったので手順をまとめた。
みんなもModular Avatarでかんたん改変ライフを送ろう!