【VRChat】MAで服の全体と服一部のオンオフ切り替えの共存【Modular Avatar】
やりたいこと
たくさんのパーツがある服で、個別のパーツをオンオフできて、さらに全体をオンオフできるようにしたい。
前提とか
unityでVRChatのアバターをアップロードしている。
unityでVRChatのアバターを改変し、服のオンオフができる。
アニメーション、アニメーターを使って服をオンオフできる。
Modular Avatarを使ってメッシュのオンオフができる。
実現方法
服のプレハブを解凍し、服の1番親のオブジェクト直下に、空のオブジェクト(仮に「Mesh」とする)を作り、服の全てのメッシュオブジェクトを作った「Mesh」の子にする。
「Mesh」をオンオフすることで、パーツがどのような状態で全体をオンオフできる。
パーツごとのオンオフを用意すれば、服全体がオンの時のみ反映される。
できること
各パーツを個別にオンオフできる上に、一括でオフにできる。個別のオンオフはパラメータを保存するようにしておけば引き継がれる。
なぜそうするのか
MAでアニメーターマネージャーのコンポーネントをおいたオブジェクトはアニメーションで指定できないため
アニメーションで条件分けする手間より楽
注意点
服のオブジェクト構造を変更してしまうため、既存のアニメーションはmissingになります。
そのため、アニメーション作ってから構造を変えるとやり直しです。
つまり、元々アニメーターのついているものは、個別に調整が必要になる場合があるので、自己責任で。
おわりに
服全部オフにする必要性あるかな?