LQ El-Kyu

自分向け備忘録

Excellent(PC版) Avatarの用意

やること

人の多いinstanceに顔を出すことも出てきたので、VRCのAvatar Performance Rank(PC版)のExcellentを満たすAvatarを用意する

工程

要件確認

壁になってくるのは次の要素だと思う。少なくとも自分の場合はそうだった。

  • Polygons
    • 32,000
  • Skinned Meshes
    • 1
  • Material Slots
    • 4
  • Bones
    • 75
  • PhysBones Components
    • 4

これらに注意しつつ対応していく

Polygons

まずは選択中のObjectの情報を表示する設定をONにして現状を把握する

ビューポートオーバーレイの「統計」にチェックをつける

できれば顔・髪・手あたりはローポリにしたくないので、服のポリ数をDecimate modifierで適当に減らしていく (Decimate modifierを使うとTopogolyはめちゃくちゃになりがちなので、もし服の着方などの調整がある場合には事前に行っておくこと。)

デシメートモディファイアを使って適当に頂点数を減らす

個人的な感覚だが、服をローポリにしていくだけでは32,000Poly以下に収めるのは難しそうだった。 そこで、服の内側に隠れている身体の部分は削除していくことにした。

手首より手前の身体の頂点は削除した

これで32,000Poly以下になればOK

Skinned Meshes

結合元Objectをクリックしてから、結合先ObjectをCtrl+クリックする。その後にレイアウトウィンドウにカーソルを持ってきてからCtrl+Jで結合していく。

Objectをひとつにしていく

Material Slots

UVを編集するなどして、似た質感のObjectは単一Materialにまとめていく。4個のMaterialということは必然的にTextureの枚数も4枚になるはずなので、必要に応じてUVも直す。(UVに関しては今回は詳細を書かない) 今回は「髪」「服」「身体」「透過(表情用)」の4種類に分けた。

4種類のMaterialに収めた

Bones

Humanoidのために必要そうなBone数だけで65ぐらいはありそうなので、上限の75までの10Bonesぐらいは自由につけられるようだ。 逆に言うと、Humanoidに必要でないBonesは10個までに抑える必要がある。 服とか髪についているBonesは極力削る。"_end"の名前がついたBonesも削除して良さそうだ。 心を鬼にしてBones数を削ること。

尻尾とサイドヘアのBonesは残した

Bonesを削除したことによってWeightに影響がある可能性があるので、Pose modeとかで塗り忘れがないかを確認しておくと良いかも。

背中あたりの服に塗り忘れがあった

PhysBones Components

先程残したBonesに対して4個まではPhysBonesが設定できるので、Unity側で適当に設定していく。

サイドヘアと尻尾だけ揺れるようにした

確認

Excellent扱いになっていることが確認できればアップロードして終わり

VRC SDK側の表示でExcellentになっていることを確認

感想等のメモ

  • 人数の多いイベント等で少しでも軽量なアバターを使えるので、少し気が楽になった。
    • Avatar Performance Rankは暫定的な基準であるが、今回はその基準を満たすこと自体を目的としてしまったため、本当に軽量かどうかは検証できておらず、確証はない。
  • 今回の記事では省略したが、特にUV展開まわりをやり直すのが大いに手間だった。他の人におすすめはできない。
  • Quest版のExcellent基準を満たせるAvatarを用意できればCustom fallbackに設定できるのだが、基準がPC版と比べて遥かに厳しいため、それは別の機会に試みることにする。