見出し画像

【VRChat】【Unity】10分で着替えるModular Avatar+AvatarOptimizerお着換え法

 Modular AvatarとAvatar Optimizerは難しくないよ、というか今までの着せ替え作業に比べて圧倒的に楽で速いし最低限の軽量化もできるよ、というお話


1. 準備するもの

VCC(最新版にする。執筆時点ではv2.2.3)
Modular Avatar(以下MAと略す)(VCCに入れて最新版にしておく。執筆時点では1.8.4)
・Anatawa12's AvatarOptimizer(以下AAOと略す)(これもVCCに入れて最新版にしておく。執筆時点では1.6.4)

なお記事に使用したUnityのバージョンは2022.3.6.f1、SDKバージョンは3.5.0(Unity2019.4.31f1&SDK3.4.2の組み合わせでも問題なくできる)。

2. お着換え作業(要点のみ)


ヒエラルキーにお着換え前のアバターを置く(Prefabのまま(Unpackしない)
①服をヒエラルキーに置く(Prefabのまま
②服を左ドラッグしてそのままアバターのRoot(VRC Avatar Descriptorと同じ一番上の階層)へ入れる
入れるとこうなってるはず(アバターのRootに服が入ってて青字(Prefabのまま)になっている)
服の上で右クリック→Modular Avatar→Setup Outfit
「服の」Armatureを選択
服のArmatureにMA Merge Armature(服のArmatureとアバター本体のArmatureを合体させるスクリプト)が追加されていればOK
設定はとりあえずデフォルト値(片方向)で
お着換え前の服のメッシュのチェックボックスを外し、TagをEditorOnlyにする
貫通防止の体型調整シェイプキーがあるならここで調整
お着換え前の服のPhysbone,PhysboneColliderもここでEditorOnlyにする(これは場合によってはAAOで自動消去してくれるらしいが筆者はここで切っている)
説明は↓

 アバターのRoot(VRC Avatar Descriptorの最下段)のAdd Comopnentから「MA Mesh Settings」「AAO Trace And Optimize」を追加する。

MA Mesh Settings」…アバターのAnchor OverrideとBoundsの設定を、アバター全体で統一してくれる。設定モードを「設定」、黄色の枠に「アバター本体のArmatureにあるHips(服ではない)」をドラッグ&ドロップ、Boundsの設定はお好み(特になければ画像の通りのデフォルト値でOK)

Bounds設定がデフォルト値ならこうなるはず(白い立方体がBounds)

「AAO Trace And Optimize」…アバターのRootにつけるだけで色々軽量化してくれる。体型調整用のシェイプキー(未使用)等の、存在しているだけでアバターが重たくなる要因になるが実際の動作には使用していない物を見つけ出して、アップロードの時だけ一時的に消去してくれる役割を持つ。つけ得。

ここまでやったら一旦保存。

3. 動作確認

・VCC経由で「Gesture Manager」を入れる
・上のメニューバーで「Tools」→「Gesture Manager Emulator」と選択するとヒエラルキーにGesture Managerが入る
「プロジェクトを保存してから」Enter Play-Modeを押す(経験上このボタン押した直後にUnityがエラー落ちするパターンが多い)
Backup your projects!★

お着換え前の服が消去されててお着換え後の服がちゃんとアバターに追従していれば成功
アバター座標を動かしてみて服の貫通チェックも忘れずに

 あとはBlueprint IDを消して別アバターとしてアップロードすればひとまずお着換え作業は完了。慣れれば10分程度でできるはず。


4. (応用編)色々最適化する

 ここまででお着換えだけなら終了だが色々と最適化できる要素があるので興味ある方は以下の記事を参考にすると良いかもしれない(筆者が2024.2現在行っているアバター着せ替え実装法になります)


この記事が気に入ったらサポートをしてみませんか?