MA Bone Proxy コンポーネントは、主に小物等をアバターのボーンに追従させたい場合に使うコンポーネントです。
このコンポーネントを使用した場合としなかった場合での、発生する作業手順の差異は以下の表のようになります。
MAを使用しない場合 | MAを使用する場合 |
---|---|
小物を追従させたい箇所のアバターのボーンの中に、小物を入れる。 | アバター直下に小物を置き、MA Bone Proxy コンポーネントを付けて追従させたいボーンを指定する。 |
正直な所、これだけ見るとあんまり手間が変わらない様に思えるかもしれません。実際、作業の手間という意味では殆ど大差はないでしょう。
では、なぜあえてこのコンポーネントを使用するかといえば、今後の改変における分かりやすさの為、というのが大きいと思います。たとえば
髪型を従来の手法で導入する場合、Headボーンの中に入れる必要がありました。そしてもし、頭髪のPB設定を修正したくなったとしたら、値を変える為にわざわざArmature/Hips/Spine/Chest/Neckと順番に開いていき、階層の深い場所で作業をしなくてはいけません。
ですが、MA Bone Proxyを使用すればアバター直下から作業が開始できるので、ボーンの中を探す必要がなくなるのです。
これが髪だからまだHeadで済んでますが、指輪などであれば入れるためのボーンの箇所まで行くだけで一苦労です。
そして、おそらくこれが最大のメリットだと思いますが、複雑なギミックを配布する、という状況で真価を発揮すると思います。
複雑なギミックでは、数多くの部品をアバターの様々な場所に移動させないといけない状況があるかもしれません。
その様な時に、MA Bone Proxyによって予め設定がなされていれば、購入者の導入難易度を大幅に低減できるのは明らかでしょう。
さて、このコンポーネントがどのような処理を行っているのかというと、従来の処理と同じ事をしているだけです。つまり、指定したボーンの子に、小物を移動させているだけなのです。
なお、このコンポーネントは Unity Editorを再生する時とアバターをビルドする時に、小物をアバターのボーンの中へ移動する処理を行います。
このコンポーネントは、小物のオブジェクトに付けます。
参考例として、桔梗のアバターに眼鏡をかけさせてみた例の画像です。この参考画像では、眼鏡プレハブにMA Bone Proxyコンポーネントを付与しています。
ターゲットの欄に、桔梗のHeadボーンを指定し、配置モードを「子として・ワールド位置を向きを維持」に設定しています。
最低限の設定は以上です。細かい設定項目については、次項で解説します。
ターゲット | 追従先として設定したいアバターのボーンを指定します。 ※注 後述のBoneReferenceから設定する場合は不要(自動で入力されます) |
配置モード | 子として・ルートに配置 – オブジェクトは、ターゲットのボーンをの子になり、位置と回転がターゲットのボーンと同一になります。 子として・ワールド位置と向きを維持 – オブジェクトは、ターゲットのボーンの子になりますが、位置と回転はそのままです。 子として・ワールド位置を維持 – オブジェクトは、ターゲットのボーンの子になります。位置のみ維持され、回転はターゲットのボーンと同一になります。 子として・ワールド向きを維持 – オブジェクトは、ターゲットのボーンの子になります。回転のみ維持され、位置はターゲットのボーンと同一になります。 |
詳細設定/BoneReference | ターゲットのボーンが、どのHumanoidボーンであるかを指定します。指先などの階層が深いボーンに追従させたい場合は、ここから指定するのもアリです。 |
詳細設定/SubPath | ターゲットのボーンがHumanoidボーンではないボーンだった場合、一番近いHumanoidボーンがBoneReferenceに設定され、そこからの相対パスがSubPathに設定されます。 |
複数の髪型を入れた場合などは、一つの髪型に対してMA Bone Proxyを設定した後に、そのMA Bone Proxyコンポーネントをコピペしてしまう手法がおすすめです。同じボーンに追従させたい物は、設定が流用できるのもいいですね。
ちなみに、MA Marge Armature等で衣装を着せている場合、その衣装のボーンをターゲットにする事ができません。
ターゲットは必ずアバター本体のボーンを指定するようにしてください!
なお、他のコンポーネントについてはモジュラーアバターカテゴリーから閲覧可能です。
ではまた~~!