MA Marge Armature コンポーネントは、主に服のアーマチュアをアバターのアーマチュアに結合する際に使われるコンポーネントです。
このコンポーネントを使用した場合としなかった場合での、発生する作業手順の差異は以下の表のようになります。
MAを使用しない場合 | MAを使用する場合 |
---|---|
衣装プレハブをアバターの子にした(中に入れた)後、衣装プレハブを展開(Unpack Prefab)する。 次に、衣装アーマチュアのボーン(Hip, Spine, Chest …)等を、全てアバターアーマチュアの同部位のボーンの子にする(中に入れる)。 | 衣装プレハブをアバターの子にする(中に入れる)。 次に、衣装アーマチュアのオブジェクトに、MA Marge Armatureコンポーネントを付ける(必要に応じて「ボーン名を統合先に合わせる」ボタンを押す)。 |
最終的なアバターの動作は同じになるのですが、MA Marge Armature がアップロード時やエディタ再生時に生成しているデータは、完全には同じではありません。アバターと同部位の衣装ボーンは、アバター側のボーンと統合され、一つになります。
たとえば、これまでの作業手順で作業を行った場合、アバターのHipsボーンの子には衣装の数だけHipsボーンが存在しましたが、MA Marge Armatureを使用した場合ではアバターのHipsボーン一つだけになります。これは、衣装のメッシュが参照しているボーンを、アバター側のボーンに置き換える処理を行っている為なのです。
この処理を行うメリットとしては、アバター全体のボーン数の削減による、パフォーマンスの向上があります。総ボーン数はアバターパフォーマンスにも影響のある項目なので、少ないに越したことはないですね。
では、同名ではないボーンがどうなるのかというと、こちらはいつも通りにアバター側のボーンの子になるように移動されています。但し、完全にそのままではありません。元々の衣装ボーンの名前の後ろに識別用のID名が付与されています。
なお、このコンポーネントは Unity Editorを再生する時とアバターをビルドする時に、アバターと衣装のアーマチュアを統合する処理を行います。
- 衣装ボーンの座標がアバター側と一致していない場合でも大丈夫?
- 大丈夫です!
MA Marge Armatureを使用した場合、実はメッシュも調整されています。アバター側のボーンと、本来の衣装ボーンの座標ずれを考慮したメッシュが作成されています。
このコンポーネントは、衣装のアーマチュアに付けます。
参考例として、桔梗のアバターに公立学校制服を追加した例の画像です。この参考画像では、公立学校制服のプレハブのArmatureに MA Marge Armatureコンポーネントを付与しています。
統合先の欄に、桔梗のArmatureを指定したら、「ボーン名を統合先に合わせる」のボタンを押します。
最低限の設定は以上です。細かい設定項目については、次項で解説します。
統合先 | ここはアバターのアーマチュアを指定します。 大抵、アバタープレハブの中にあるArmatureという名前のオブジェクトが該当します。 |
前置詞 | 衣装のプレハブが、全てのボーンに同名の接頭辞を設定していた場合に記入されます。あまり手動での入力はしません。 |
後置詞 | 上記の接尾辞の物です。 |
位置を固定 | Unity Editorを再生していない時でも、衣装のボーンがアバターのボーンと連動するようになります。 ※注 衣装側のボーンを動かしてもアバター側のボーンが動かされます。 |
ボーン名を統合先に合わせる | このボタンをクリックする事で、衣装のボーン名がアバター側のボーン名と同一になります。この時、一定の接頭辞や接尾辞がボーンに設定されていた場合、上の前置詞と後置詞の箇所に入力されます。 ※注1 衣装側が特殊な命名規則を利用している場合は自動的に調整されないので、そのボーンは手動での名前の変更が必要です。 ※注2 Humanoidボーン以外のボーン(バスト用のボーンや四肢の補助ボーン等)は処理の対象外の為、こちらも手動で名前の変更が必要です。 |
バストボーンにPBを設定しているアバター用の衣装では、衣装側のバストボーンにもPBが設定されている場合があります。このようなPB設定が競合しそうな場合でも、問題なく動作するようになっています。
挙動としては至ってシンプルで、アバター側のPB設定に従う、です。
表にすると以下の感じになります。
アバターにPBあり・衣装にPBなし | アバター側PB設定を使用する |
アバターにPBあり・衣装にPBあり | アバター側PB設定を使用する |
アバターにPBなし・衣装にPBあり | PBは設定されない |
では、PB Collider の方はどうなるかと言うと、こちらは同名ボーンの統合処理を行いません。同名のアバター側ボーンの子にするだけです。(より正確には、元々の衣装ボーンの名前の後ろに識別用のID名が付与されますが。)
個人的には、大変面倒だったボーンの入れ子作業から解放されたので、もう戻る事が出来なくなりました。
便利な時代になってとても喜ばしいですね!
ちなみに、衣装のプレハブをそのまま置くだけで使えるというのには、もう一つ利点があったりします。
それは、衣装の削除が簡単という事です。もう使わなくなった衣装を取り外すのに、メッシュだけではなく不要なボーンやPB情報も衣装のプレハブをヒエラルキー上から消すだけで簡単に撤去できるのです。
最初の改変の時にはあんまり実感できないかもしれませんが、後々の事を意識すると、これが意味する所をわかっていただけるのではないかと思います。
なお、他のコンポーネントについてはモジュラーアバターカテゴリーから閲覧可能です。
ではまた~~!