VRoid製モデルでVRChatのアバターランクをMediumにする方法
※VRoidベータ版における記事です。10/31以降の正式版では内容が異なる場合があります
1.前書き
最近VRのクラブDJイベントに参加しました。
めちゃめちゃ楽しい!!!
リズムに乗ったり踊ったりするのはリアルだと恥ずかしいけど、VRなら可愛い女の子になってるので恥ずかしくない!
うお~~~~~~~
推しと俺の写真
飛び交う札束
ただここで1つ問題が。人がたくさん集まるとカクカクする!!
音楽を聴きに行く以上カクつくのはかなりのストレスです。
いや俺のPC、ちゃんとGTX1060だしなんでこんなカクつくんだ・・・?
このPC買う時に最低限VRはやれるようなスペックだって言って選んだはず。画質を落としても結構カクカクだし・・・。本当に1060だよなぁ・・・?
ということで、PCは新調するので解決なんですけども、クラブイベントみたいなとこに参加する時用にアバターランクがMediumになるものを作ろうと思います。
2.目的
今回のアバター作成の目的として“軽いアバターを目指す”ではなく、“アバターランクMediumを目指す”となっています。
Mediumにするメリットとしては、人が多いワールドでPCスペックの低いプレイヤーが表示するモデルの制限をした時に、アバターランクを高くしておくことで最後まで生き残ることができます。
逆にアバターランクPoorでも軽い、Mediumでも重いみたいなのはあるかもしれません。軽い重いの定義は色々あるみたいですね。今回はとりあえずMediumなら軽いでしょという感じで作ります。
3.VRoid出力
用意したのがこちら。
推しのパーカーを着たじゃく子Liteです。全員BOOGEY VOXXを聴け!!!
VRoidでのエクスポートは特に何もしていません。マテリアル数の削減もしない!・・・というのも、髪や肌といったメインのアバターと共通している部分は使いまわしたいからです。マテリアル削減を使うとテクスチャが合体するので、少々取り回しが悪くなります。
マテリアル数16個まではMediumなので、髪の色などでめちゃめちゃ増やしてる人は減らしておくか、マテリアル削減を使いましょう。
揺らせるものも最低限に限られるので、Dynamic Boneを使う予定の人は髪のボーン設定をシンプルにしておいた方が良いです。
また、スカートなど服自体が揺れるものは避けるか、動かせないことを覚悟の上で使いましょう。
4.Unityで調整
そうしたらいつものようにUnityでセットアップします。
ここでDynamic Boneを使わない選択をする場合はゴールです。
アバターランクはMedium以上になっています。おめでとう!
いやでも髪の毛揺らしたいな・・・という方、これから説明します。
まずは不要なDynamic Boneのコライダーを削除します。コライダーっていうのは何かというと、例えば胸にコライダーをセットすると、髪の毛が揺れた時に胸にめり込まなくなります。揺れる物のめりこみ防止機能です。
画像にある黄色の球体です。これが上半身全部に設定されています。今回は髪を少しだけ揺らす程度にするので、頭の1個を除いて全部消します。ロングヘアーの人は首も残してもいいかもしれませんが、コライダーが多いと揺らせる髪の本数が減りますので、バランスを取って決めてください。コライダーはモデルの中のRootに入っています。腕や足など細かく分かれて設定してあるので1つ1つ消していきましょう。
このColliderってとこを右クリックしてRemoveを選んで削除完了!ここでアバターアップロードのステータスを見てみると・・・。
あれ・・・?Dynamic Bone Collision Check Countってやつめちゃめちゃ多くてPoorになっとる・・・。なんで?
ここがUnityトラップでした。原因はこちら。
コライダー消してもDynamic Boneの方でコライダーの枠設定を減らさなきゃダメ!!!!!!!自動で消しとけや!!!!!!!!
というわけで、髪などのDynamic Boneの設定のところから、Colliderのタブを展開して、Sizeの数字を1とか2にすると、さっきのCountが減ります。このCountが8以下になると無事にMediumになります。
ついでにアバターのデータ容量が小さいと読み込み速度早くなるらしいですね。それぞれのテクスチャにCrunch圧縮というのを使うと、画像データの容量が劇的に小さくなります。これもしかしてヤリ得?
そしたらアップロードして完了!お疲れさまでした。
みんなも軽めのアバターでDJイベントに行こう!