アバター改変作業2024冬(trotsuki)
やったこと
アングラの子リニューアル版のアップロード
いつもの幼ア子ルックに改変(白髪赤目・眼鏡と帽子の追加) アレコレ統合しまくってアバター軽量化(パフォーマンスランクVeryPoor→Good) いつでも後戻りできるので気軽にいろいろ試しやすい
登場したツールたち
表情設定・管理ツール
自動でいろいろ統合
指定したSkinned Meshを統合
貫通防止用ブレンドシェイプを使ってメッシュ削除
テクスチャの非破壊アトラス化ツール
マテリアル統合もできる
メッシュ削減ツール(有料)
基本はAAOのRemove Meshでなんとかなるので、あくまで最終手段
参考に読んでる記事
ログ
テクスチャの容量見るツールもあったはず
あと光源ごとの映りの違い見れるやつ
近年のアバター改変事情を今一度調べ直しても良いかも
本体だけ入れて新アングラの子を無改変で上げるか
@dennou404新ボディを適用したアングラの子を公開しました!アニメーション関連の構造等も最新版に更新したり、衣装を若干変更したり等のアップデートも行っています。 https://pbs.twimg.com/media/GX_qz-CaoAAuTGu.jpg
VCCのアップデートとUnity2022.3.22f1のインストールからスタート そう、ただ無改変のアバターをアップロードするだけでも1年ぶりだと面倒が多いのだ
アバターアップロードについて普段は解説ブログあたりを眺めつつ作業をすることが多いのだけど、今回は公式ドキュメントでも見てみることにしよう
よーしUnityを開いた
https://gyazo.com/b88fc5533d9f0317138f00dbb2a29c7chttps://gyazo.com/b01d774cffa60d8d89761023e6fd668e
かったるくなってきたので今日はここで切り上げ
https://gyazo.com/633248abe3c162da18ca024405f6239e
白髪赤目にするだけしておく
アップロード完了!
https://gyazo.com/7a6619cd97ce417e4d0dff18618fe5d4
アップロード開始前にサムネ決めたり出来て良い
前からだったかもしれない
動作確認よし
https://gyazo.com/eef1aa58c6358d3b225cd78f83684b01
目の色は薄暗く
https://gyazo.com/584d3bb7178ceb01950e5ff85a0afeb4https://gyazo.com/90e60b94e69bb154c66279931e00aa90
旧アングラの子のテクスチャを使用(幼ア子から流用)
本格的な改変はまた今度
まずは表情セットいじったりメガネ載せたりするところからにしようかな?
帽子と眼鏡を装着していつもの装いに
https://gyazo.com/00fabc0a58d1acaab78c9f23c78138c2
次回はこれの編集とFaceEmoのお試しをしてみよう
似た働きをするものとして無料のlilNDMFMeshSimplifierが先月にリリースされてるのだけど、出来栄えに違いが出ることがある(Mantisの方が良いときもあればlilの方が良いときもある)そうなので選択権を得るためにMantisを買っておく さすがに専用ツールだけあって自力でAnimatorのBlendShapeを触るよりは手軽に表情を作れる
シェイプキーにマウスオーバーしたときに表情変化がプレビューできるのが良い
自分は基本的にあまり複雑な表情メニューを組むことはないのだけど、ハンドサインの組み合わせを用いた表情設定も簡単にできそうな感じだった
表情メニューの実装は最近流行りのビルド時合成(非破壊系)
無事に表情を得られた
https://gyazo.com/fd5342de3b71f01915b26dd4a27532ac
FXレイヤーに照れ顔が指定されていたせいか、FaceEmoで実装した表情に照れテクスチャが重なったりした
本来元々の表情は無効化されるはずなのだけど、どのようなカラクリで照れテクスチャが貫通したのかは謎
FXレイヤーの方をデフォルト表情で埋めると解決したのでひとまず良しとしておく
使用していないBlendShape(シェイプキー)の除去
使われていないPhysBone等の削除
アニメーションしたりPhysBoneで揺らしたりすることのないボーンの統合
一緒に切り替えていたり、切り替えることがなかったりするメッシュ同士の統合
AAO Merge PhysBoneコンポーネントをルート直下に新規作成した空のゲームオブジェクト(“Merge PB”と命名しておく)に追加し、髪あたりのPhysBoneをちょこっとまとめる とりあえず16以内に収まりゃいいやと言うことで、頭部右の4束をひとまとめに
この時点でアバターランクMediumを達成したので一旦完成とする
https://gyazo.com/967c212e01d2ce9e6be75e73be534fd9
🍰
これまでPoorで妥協していたので新境地にたどり着いた気分
がんばればGoodも目指せる説ある
Fallbackいけるか!?と思ったが1万ポリゴン以内に収める必要があるらしくまあまあ無理ゲーと悟る
前回軽量化したアバターをそのままアップロードしようと思ったけどもうひと弄りしたい
BlendShapeを含むメッシュも最適化の対象に
以前よりさらにSkinned Meshを減らせる可能性も
どれぐらい変わるか確認してみる
https://gyazo.com/967c212e01d2ce9e6be75e73be534fd9https://gyazo.com/3fd7322d4933e85343664100d079db4f
Skinned Meshes:5→4
テクスチャメモリ:37MB→33MB
やや軽くなってる
顔のメッシュごと統合しても問題ないそうなので全部放り込んでみる
以前のAvatar Optimizerは顔のメッシュを他のメッシュと統合することを推奨していませんでした。 これは、Unity 2019でBlendShapeの多いメッシュを統合するとメッシュの負荷が大幅に増加してしまうためです。
Unity 2022ではBlendShapeの負荷が改善されているため、その記述は取り下げられました。
MA Mesh Settingsコンポーネントをアバターのルートに追加し、Anchor OverrideとBoundsを画像の通りに設定
https://gyazo.com/a8b07dd8d0e4296bcb8c938d6ff7f470
マテリアルスロットを削る
頭皮と髪にうっかり別のマテリアルを当ててたことに気付いたので合わせて統合(マテリアルスロット:11→10)
帽子とネイルと目をひとまとめにしてみる(マテリアルスロット:10→8)
ひとまずパフォーマンスランクGood達成
https://gyazo.com/b71abbd58a3c7b9e738a38c67a43bc9b
見た目には問題なさげなので実際の挙動を見てみる
https://gyazo.com/4315454bcc848b713eefd6b2f6d941aehttps://gyazo.com/fe0402096d11bbe1d49699a0d0a8eb58
ダウンロードサイズが5MBを切って嬉しい
モデルのリニューアル前後を見比べてみる(2021/01→2024/12)
https://gyazo.com/6413ba09d37bec054ca57719651c7c37https://gyazo.com/cf04c2330c1dc0e8d6bf6936a114af1a
次回はQuest対応をしてみよう
まず初めにAndroidビルド用テクスチャ圧縮設定をASTCに設定する
ToolsからQuest対応したいアバターを選択するとなにやらコンポーネントが追加された
ここで一度PC版をアップロードすることで、Network ID AssignerなるコンポーネントによってPhysBoneに自動的にNetwork IDを割り当ててくれる
これでPC-Android間のPhysBoneを同期してくれるようだ
続いてPlatform Component Removerで透過マテリアルを“Android版でのみ”消すように設定する
AAO Remove Mesh By BlendShapeで頬染めブレンドシェイプを指定
このままだとPC版でも頬染めブレンドシェイプが消えるので、Platform Component Removerで先ほど追加したAAO Remove Mesh By BlendShapeをAndroid版でのみ適用するよう設定
自分のアバターだとメガネのレンズが曇って表示されてしまうので、Avatar Converter Settingsでレンズのマテリアルだけ追加のマテリアル変換設定でMobile用マテリアルに変更
以上の手順を踏むとなんかQuest版から眼鏡が消失した
原因は謎だが、まあ眼鏡が無くても動作していればいいっちゃいいのではある
アップロードし直すなどすれば眼鏡が出現する可能性もあるが、今日はもう切り上げてしまう
結論:アバター軽量化が済んでいればあとは透過マテリアルに気をつければQuest対応は可能
その後はView Positionの調整などして終わり
いい髪型を見かけたのでアバター改変
https://gyazo.com/336b0cce0389ae0bd63ad0fda81eefdbhttps://gyazo.com/5470a37ada02073be0b5ca985f795704
無事にVRCに上がった(パフォーマンスランクはGoodを維持)
https://gyazo.com/6e0dccd90514a15e4e7fb4ab2363fec1
冬なのでアバターにニットを着せる
https://gyazo.com/a2beca228cf342de88795251604264dahttps://gyazo.com/f59c92b03dbf50207b393530986a1e09 https://skd-noratama.booth.pm/items/3356570 https://gyazo.com/88641f6e1543694b291ab238ef466e6f https://skd-noratama.booth.pm/items/3355039
https://gyazo.com/9862954d4dcc1aa4649c0d2468a488b4https://gyazo.com/14f1f8617a47eb5320bc1df80adea13e https://sephir.booth.pm/items/6140122
https://gyazo.com/0571695f3ec48c4746c91e08b81e4147https://gyazo.com/2582d879dc9bd35864698dc69521a0ca https://booth.pm/ja/items/2452028
ニットとインナーはA0XBody対応衣装だったのでスケールだけ公式の指示通り合わせた
ジャケットは非対応服だったので、Modular Avatarのスケール自動調整機能でざっくり着せ、貫通したニットなどを範囲指定で削除して着せ替え完了
衣装プレハブを右クリック→ModularAvater→Setup Outfitを行い、衣装プレハブの子にあるArmatureをクリックし、以下のように設定をしてください。
https://assets.st-note.com/img/1707209801525-002oNMp5UN.png
アップロードを済ませる
https://gyazo.com/f9adfd71ae5573fa44d06fc9d25c4099
アバターの足元をニーソックスからタイツへ変更(冬想定なので)
https://gyazo.com/c8f96a296b4e0376490a6b4694741aa0
マテリアルとPhysBoneを統合してパフォーマンスランクがMedium→Goodへ