アバターパフォーマンス最適化
https://docs.vrchat.com/docs/avatar-performance-ranking-system
パフォーマンスランクに影響するのはマテリアル数ではなくマテリアルスロット数
アニメーションにマテリアルの切り替えが含まれている場合、アニメーションコントローラからアニメーションを削除するとアバターの容量が削減された
ルートのコントローラに含まれないように注意
メッシュの削減
Unityによる削減
VRChatアバターをUnityだけで雑に軽量化する。(Quest対応編)
VRoid Studio製の3Dモデルをclusterに持って行く。Mesh BakerとMesh Simplifyを使って
Mesh Simplifyのスクリプトがアタッチされた状態だとアップロードできないので、Mesh Bakerを使用してモデルに焼き込む
1クリックでポリゴンを削減するMesh Simplify【Unity】【アセット】
服で試したときは削減できたが、靴で試したときはメッシュがすべて消えてしまった
MeshDeleterでも同様にメッシュが消えるため、fbxの方に原因がある
MeshDeleterが使えないためblenderでメッシュを削除
UVマップ上で頂点を選択して削除すると、MeshDeleterと同様のことができる
How to select a specific vertex in UV unwrapping?
In 2.8, where is keep UV and edit mode mesh in sync option?
"Keep UV and edit mode mesh in sync" を選択すると、UVマップ上で頂点を選択できる
blenderによる削減
Blenderでポリゴンを削減する方法
Decimateモディファイアで削減するとUVが崩れない
靴の場合、25%程度まで削っても見た目が変わらなかった
20%まで削ると靴紐が少し崩れた
アバターのFBXファイルの差し替え
インポートの時はリーフボーンを無視する
エクスポートの時は下記の設定を変更する
Object Types
Empty
Armature
Mesh
Other
Apply Scalings: FBX All
ここの設定はテンプレートにできる
https://twitter.com/strustrust_VRC/status/1393807411488559105
FBXの出力時に毎回「すべてFBX」と「トランスフォームを適用」する手間が面倒な人はオペレータープリセットを作成するとよいよ。ところでプリセットを作ってもデフォルトのプリセット自体を変更する方法が見当たらないので毎回選択しているのだけど、どなたかご存知で?
オブジェクトの選択で間違う可能性があるので、Selected Objectは有効にせずCameraとLampを無効化
ボーンの階層構造を変更するとTransformの値が変わるが、元の階層に戻すとTransformも元に戻るため、使用しないボーンは適当なオブジェクトの子にまとめておくと一括有効・無効化のときに困らない
#VRChat