MA運用していたVRC向けアバターのVRM1.0対応(概要編)
とまぁ、たいそうなネーミングですねぇ~
はい、年末のこの忙しいときに始めてしまったので止まらずにやってました。(あっ、フィジカルの方の大掃除の合間でね)
きちんとしたことは後々書くので、今日はどういうことをやったのかのアウトラインです。
私が、VRChatで使っているアバターは、UnityのModularAvatarと言うツールを使って、プレファブと言う機能を使って管理しています。
この利点は、元となるアバターを直すと、そこから派生しているすべてのアバターに反映してくれるので手間がかからないんですね。ただ、服を着せたりアバターごとにアレンジする場合は通常のプレファブだとできないので、ModularAvatarと言うツールで、一時的に生成したアバターをVRChatへアップロードしている仕組みです。
さて、わたしはClusterでもヴァーチャル世界を楽しんでいるので、そちら側にも同様のアバターをと思ったら、結構ハードルが高いんですね。
ClusterはVRMファイルでないといけなくて、VRMをいじるためには、VroidStudioぐらいしかツールが世に出回っていません。
単に、単一のVRChatアバターを出力するだけなら、UniVRMでUnityから直接出しちゃえばいい(MAで作ったそれぞれのアバターを出力もできる)けど、そのあとでClusterで動かすためにはマテリアルの再設定と、揺れ物の設定、それにBlendshapeの再設定が必要なってしまうので、ものすごく手間。
ここを、VRM専用のプロジェクトでMAみたいにできないかなーと言うのが今回のメインテーマでした・・・
今日は時間の関係でここまでで、細かいのは後日と言う私の悪い癖だけど、やったことメモです!ちなみに、今回はVRM1.0で出しました!
基本アバターの作成
1:VRChatのUnityプロジェクトから素体となるアバターをUniVRMでVRM1.0として出力
2:Cluster向けの専用プロジェクトを新規作成して1のVRMをインポート
3:マテリアルのMToon10対応・・・・結構てこずる
4:SpringBoneの設定・・・・・・・・揺れるものにSpringJoint、コライダーは同じ位置に。これらは、VRChatで設定したのものをそのまま参考で甘虎ちゃんはPBと言うゲームオブジェクトでまとめられていたのでそこを参考にしたよ。あと、secandaryにコライダーグループも設定。
5:VRM1_と言うオブジェクトの設定・・ここが癖ある~
(1)目の場所の設定・・ここが結構ムズカシイ。・設定間違えてClusterで青玉のままになる。
(2)BlendShapeの設定・・表情とか髪型とかはこちらから~あと干渉に注意ね
(3)SpringBoneの設定・・4のJointとコライダーグループを紐づけ
6:Unity上で動かして変じゃないかなって確認~
マテリアルの色設定とか、揺れ物の設定
7:VRM1.0で出力してClusterへGO!
8:アバターをプレファブ化
ここまでが、ベースのアバターです。
着せ替えアバター
このあと、甘虎ちゃんに自力で対応させた服をUnityの中に持ってきます。(この時の前提が、事前にBlenderで甘虎ちゃん対応しているBoneとウエイト設定済の衣装です。あっ、これね、VRChat向けに作っていたので、今回はそれをそのまま持ってきます。・)
1:基本アバターのプレファブバリアントを作成・・・これで、基本アバターを直すとすべてに対応できる。
2:着せかアセットを基本アバター配下に持ってくる。
3:着せ替えアバターのボーンを基本アバターの同じ名前の所へ移植(これだけだと、プレファブのままで可能)
4:余計な基本アバターの衣装を非表示にする
5:着せ替えアバターのマテリアルと揺れ物を設定
6:Unity上で動かして変じゃないかなって確認~
マテリアルの色設定とか、揺れ物の設定
7:VRM1.0で出力してClusterへGO!
8:アバターをプレファブバリアントを更新
これを繰り返せば、すべてのアバターが基本アバターの子供で行ける、ゆれものもうまくいくよ~
今日はメモなので詳細は今後ね~