【VRChat】存在がExcellent②
はじめに
どうもぱるちゃんです。
こちらはpart②の記事となります。
〇注意事項
※個人的な見解が多く含まれますが、それに対する意見はお控えください。
※本情報によって生じたいかなる損害についても私は責任を負いません。
今回のゴール
「PC版パフォーマンスランクでExcellent」
を目指すのが今回のゴールです。
前回も書いた通り、「ちょっとの操作で改善できる」程度にやっていればいいと思っているので、ここまでやるのは過剰と思います。
公式でも「Mediumくらいで十分だよ」的なことが言われています。
前回も書きましたが今回の内容はほぼ自己満足の領域です。
よってよくわからないのであればやる必要はないです。
アバターパフォーマンスランクについては公式の以下URLを参照してください。
…で今回のPC版Excellentを目指すための要件として、特に引っ掛かりそうな項目を羅列すると、
・ポリ数:32000以内
・スキンドメッシュ:1
・マテリアルスロット:4つ
・PhysBoneコンポーネント:4つ
が特に問題になる項目かと思います。
めちゃくちゃ雑に言うと、「アバター全体を一つのメッシュにして32000ポリゴン以内に収め、マテリアルは4つ以内、Physboneも減らす」ということになろうかと思います。
個人的にこの中で一番鬼門なのがスキンドメッシュです。
ちなみにこれが私のメインアバター透羽たゃをExcellent化したの図です。
Unity内完結編
こちらはあと少しでExcellent狙える状態から始める人向けです。
具体的には前回の記事のハオラン君くらいだとこの方法でいけるかもしれません。
非破壊ver.
※この方法は必ずできるか確認していません。
前回AAOで顔以外のスキンドメッシュをまとめました。
この状態だとゲーム内のスキンドメッシュは顔とそれ以外で2個になるので更にこれをまとめなければいけません。
何故まとめることが非推奨なのかというと、リップシンク等に影響が出る可能性があるからです。
逆に出なければやってもいいんじゃないか?!という考えです。
この時必ず顔メッシュが一番上の要素に来るようにしてください。
Physboneコンポーネント:4という制限もありますので、髪についているボーンをオフにします。
今回前髪のいくつかのボーンをオフにしました。
マテリアルスロットも4つにする必要があるので以下のように結合して4つに収めました。
アップロードしてみた結果がこちら。
要件を満たしてExcellentになりました。
not非破壊ver.
こちらはあと少しで行けそうだけど、上記方法でいけない人向けです。
not非破壊なので、必ずバックアップしてください。
Skinned Mesh Combinerを使います。
このアセットはスキンドメッシュを結合してくれるもので、要は前回AAOで結合していたのをnot非破壊でやるものです。
これ無料なの普通にすごい…。
導入してJLChnToZ→Tools→Skinned Mesh Combinerを押します。
アバターのスキンドメッシュが表示されるのでこれをcombineします。
基本的にはなにもいじらなくてよいのですが、顔メッシュが一番上にきていることだけ確認してください。
元のメッシュとCombined Meshが共存するので、Combined Mesh以外のメッシュを削除してください。
Editor Onlyでも大丈夫です。
この時Descriptor内のFace MeshをCombined Meshにします。
この操作を忘れるとリップシンクを失います。
あとは非破壊時に行ったようにMaterialの結合等を行います。
恐らく同じ結果が得られるはずです。
もしポリ数など色々はみ出ている場所があれば適宜他のアセット等で調整してください。
Blender等使用編
こちらはあとちょっとでいける…という状態でないものを扱う場合やその他色々やる人向けです。
またQuest版でもExcellentを狙いたい、という人もこちらかもしれません。
よし書くぞ…。
と思ったのですが、これをやろうと思う人は恐らくそれなりに各種ツールへの知識がある人だと思うのでちゃんとかかなくていいのでは…?
というわけで詳しく書くのはやめておきますが、一応箇条書きで流れを説明します。
①アバターFBXをBlender等に持ち込む
②メッシュ(スキンドメッシュ)を一つにまとめる
この時顔メッシュに他のメッシュを結合するような形にする。
要はリップシンク系のブレンドシェイプが上位にきている状態にします。
③マテリアル数4つ以内になるよう、アバターのテクスチャをフォトショ・クリスタなどでアトラス化
④アトラス化したテクスチャに合わせて、結合したメッシュのUVを移動させる
⑤ポリ数が超過している場合はリトポする。この際ウエイトに注意
⑥FBXをUnityに戻す
⑦FBXをHumanoid設定にし、Avatar DescriptorやPhysboneなどを再設定(元のデータからコピペ→ちょい直しでOK)する
⑧アップロードする
適宜状況に合わせて非破壊ツール併用し、工数を減らすと楽です。
おわりに
この記事ではPC版でExcellentを目指しました。
part①の記事に比べ労力がかかる可能性が高いので、基本ここまでしなくていいと思います。
が、大人数が集まるイベント等、負荷の低いアバターが望ましいこともあるので、一つくらいもっていてもいいかも…?
というわけで後半雑になりましたがExcellent化記事でした。
それではまた。