みなさんModular Avatarは使っていますか?
ただ衣装を着せるだけでも便利なModular Avatarですが、うまく使うと改変がもっと楽に、管理しやすくなる便利なコンポーネントが用意されています。
今回は、痒いところに手が届く2つのコンポーネント「MA Blendshape Sync」「MA Bone Proxy」について紹介したいと思います。

対象読者
ある程度改変がわかる方向けに書いているため、説明が少し簡素になっています。
まだあんまりわからない、あるいはModular Avatarを使った衣装の着せ替え方について知りたい方はまずはこちらの記事から目を通してみてください。
記事メンテ日:2024/10/10
豆知識
服をModular Avatarで着せないと使えないんでしょ?って思ってる方多いと思いますが、Modular Avatarの各コンポーネントはそれぞれ単体で利用できます。
つまり、服はキセテネ等をつかって着せつつ、別途Blendshape syncを使って胸シェイプキーを追従させたり、Bone Proxyで小物やアクセサリーを付けたり、Exメニューを組み立てたりと、必要に応じてピンポイントでModular Avatarで用意されたコンポーネントを使うことも可能です。
普段の改変の中で少しずつ取り入れていくことができるので、気が向いたときに気軽に試してみるといいかなーっと思います。
胸の大きさを変えたら衣装も追従させたい
おっぱいを頻繁に伸び縮みさせたいけど衣装を貫通しちゃう!
そんなあなたにはMA Blendshape Syncがおすすめです。
例えばマヌカちゃんのようにアバター自体に胸のサイズを変更するシェイプキーがあり、すでにExメニューから変更できるようになっている場合、

いちいち新しいアニメーションを作ることなく、衣装にMA Blendshape Syncコンポーネントを付与するだけで追従するようにできます。

MA Blendshape Syncの使い方
例としてマヌカちゃんに#Ene_Collectionさんのタクティカルメイドを着せてみましょう。
ぺったんこのマヌカちゃんに用意されているPrefabを置き、単にSetup Outfitで着せてみただけだとこのようにスカスカの状態になります。

可変にしたい胸のシェイプキーを除き、着せるのに最低限必要な素体のシェイプキーを合わせます。

胸のシェイプキーがついている衣装に対し、MA Blendshape Syncコンポーネントをつけていきます。
Hierarchyから服のメッシュを選択して、InspectorのAdd Component→MA Blendshape Syncを選択し追加

+ボタンから胸のシェイプキーである「Breast_big」「Breast_big_PLUS~」を一つずつダブルクリックで追加

右側のシェイプキーを対応する服側のシェイプキーに変更します。

するとこのように素体側の値とピタッと勝手に合わせてくれるようになります。

あとはこれをCopy Componentでコピーして、他のメッシュにもペタペタ貼り付けて設定していきます。

Paste Component As Newで貼り付けて、シェイプキーの名前が一致しなかった場合は変更します。

全部に設定できれば終わりです!
胸だけじゃなく、メッシュ間でシェイプキーの値を同期させたいときに便利に使えます。
胸シェイプキーが可変の販売衣装をMA対応させる場合、MA Blendshape Syncも設定してくれると大変うれしいです!
ボーンのScaleを変更している場合
胸や足などのボーンのScaleを変更してムチムチにしている場合、服側のボーンも同じように合わせて変更することで追従できます。

Setup Outfitで服を着せた後、服側のArmatureに付いているMA Merge Armatureコンポーネントの下のほうにある「位置を元アバターに合わせてリセット」をクリックします。

その後、素体の変更内容に合わせてチェックを入れ、実行をクリックすると、衣装側のScaleも素体と自動で揃えてくれます。
ボーンのScaleを変更しているからModular Avatarが使えないなんてことはないので挑戦してみてください。
シェイプキー固定で素体と胸のサイズが合わない衣装を着せる場合
衣装の中には「Breast big 100専用」のように、特定のシェイプキーが固定されていて、素体のシェイプキーと合わないものがあります。
このような衣装を着せた時、いざアバターを変更してみると、胸が飛び出してたり、スカスカになってたりして、あわててExメニューで胸サイズを調整した経験がある方も多いと思います。
いくらUnity上で胸シェイプキーを合わせていても、胸サイズを変えるアニメーションがある場合、そのアニメーションで変更される値で上書きされてしまうため、胸が飛び出したりスカスカになったりします。
このような場合、Expression Parametersを直接書き換える方法もありますが、MA Parametersを使うと、衣装毎に胸シェイプキーを変更するパラメーターの値を上書きできて便利です。
(あまり知られていませんが、MA Parametersは既存のパラメーターも上書きできるように作られています。)
Avatar Descriptorコンポーネントがあるアバターのルートに対して、MA Parametersコンポーネントを追加し、胸のシェイプキーを変更するアニメーションで使われているパラメーターを設定します。
この際、「自動リネーム」はオフにし、「アニメーターでの初期値を設定」はオンにします。

例えば、マヌカちゃんでは、「Breast size」というパラメーター名で胸サイズが変更されており、次のような値になっています。
- 0 : Breast_big 0
- 0.5 : Breast_big 100
- 1.0 : Breast_big 100 + Breast_big_PLUS 100
もし、「Breast_big 100」固定の衣装を着せたい場合、パラメーターの値を「0.5」と設定することで、アバターのアップロード直後から胸サイズが「Breast_big 100」となります。
胸サイズに限らず、他のパラメーターを上書きしたい場合も、MA Parametersで上書き設定すれば管理がすごく楽になります。
アクセサリーをつけたり髪型を変えたりしたい
たくさんアクセサリーを付けてるせいでどこのボーンにどのアクセサリーが付いてるかわからない!
そんなあなたにはMA Bone Proxyがおすすめです。
アクセサリーをつける際は付けたい対象のボーンへ入れるのが基本だと思いますが、それだと管理が大変です。
MA Bone Proxyを使うことでボーンに入れることなく、このように構造をキレイに保つことができます。

やることは簡単で、移動させたいオブジェクトに対してつけて、移動先のボーンを選んであげるだけです!
MA Bone Proxyの使い方
例としてマヌカちゃんにイヤリングをつけてみましょう。
イヤリングは両耳に付けたいとします。
両耳分入ってくると見にくくなってしまうので、わかりやすいようにこのように階層を分けようと思います。

Hierarchy上で素体を右クリック→Create Emptyで空のObjectを作ります。

改変で色々入れ込む場所としたいので、適当にCustomizeとか名前をつけておきます。
その更に下にEarring用のObjectも用意しておきます。

ここにイヤリングを入れ、それぞれ位置を調整します。

調整できたら入れ込みたいボーンをBone Proxyで設定していきます。
MA Bone Proxyは設定したオブジェクトを指定のボーンに移動させることができるものです。
イメージとしてはこんな感じで、Earringオブジェクトに対してHeadボーンを指定した場合、EarringオブジェクトがHeadのボーンに移動します。

今回は両耳ともHeadのボーンに入れることになるので、Earringオブジェクトに対してMA Bone Proxyコンポーネントを設定します。

HeadのボーンをHierarchy上からドラッグアンドドロップで設定します。

これでEarringオブジェクトがHeadボーンに追従するようになります。
ついでにMA Mesh Settingsも設定しておきましょう。
アクセサリー類はBoundsやAnchor Overrideが適切に設定されていることが少ないため、暗かったり視界からチラチラ消えたりしたりしがちです。
ひととおり設定するとこんな感じです。

Mesh Settingsについて詳しく知りたい場合はこちらを参照してください。
【初心者向け全部盛り】Prefab Variantで管理しつつModular Avatarで衣装の着せ替えをやってみよう - 一年中こたつ出てる
これで設定は終わりです!
アクセサリー類は散らばりがちなので、まとめておけると服毎につけるものを変えたりとか簡単にできるようになりますし、何がついてるかついてないかも確認しやすくなります。
MA Merge Armatureとの使い分け
「Setup Outfitでアクセサリーや髪型がうまくつかない…」というのをよく見かけます。その場合、MA Merge ArmatureとMA Bone Proxyをうまく使い分けるのがポイントです。
各機能の違い
- MA Merge Armature
アバターのボーンと衣装のボーンを統合し、アバターの複数のボーンに衣装のボーンを追従させます。 - MA Bone Proxy
アバターのボーンと統合せず、あくまでアバター内の指定したオブジェクト配下に移動させるだけのコンポーネントです。
選択の目安
衣装やアクセサリーのArmatureを確認して、
1. アバターのボーン構造と連続して一致する場合
- MA Merge Armatureを使う
- 例:
- Armature → Hips → Spine → Chest
- Armature → Neck → Head → HairRoot(この場合、MA Merge Armatureの統合先をNeckに設定)
2. アバターのボーン構造と一致しない場合
- MA Bone Proxyを使う
- 例:
- Armatureがない
- Armature → RibbonRoot → Ribbon1....
- Armature → Head → HairRoot → Twintail...(この場合、MA Merge Armature 統合先をHeadに設定しても、MA Bone ProxyでHeadに入れてもOK)
複数のボーン階層がアバターの構造と連続して一致する場合はMA Merge Armatureを使い、それ以外の場合はMA Bone Proxyを活用しましょう。
まとめ
Modular Avatarを使うことで単に衣装を着せるだけではなく、見通しのよい構造を保つことが可能となります。
さらにPrefab Variantと合わせることで継続的な改変や管理がしやすくなり、改変時に地獄のような単純作業を行うことが減っていくことでしょう。
非破壊で改変することに慣れてきたら、次はAvatar Optimizerなどを使って、アバターの軽量化にも挑戦していけるといいですね。
最適化についてはこちらの記事を見てみてください。