アバター改変作業2024冬(trotsuki)
アバター改変のやり方の備忘録として日記から転記trotsuki.icon
やったこと
アングラの子リニューアル版のアップロード
いつもの幼ア子ルックに改変(白髪赤目・眼鏡と帽子の追加)
アレコレ統合しまくってアバター軽量化(パフォーマンスランクVeryPoor→Good)
非破壊アバター改変ツールの恩恵を実感
いつでも後戻りできるので気軽にいろいろ試しやすい
登場したツールたち
ModularAvatar
非破壊アバター改変の基本ツール
FaceEmo
表情設定・管理ツール
AvatarOptimizer
非破壊アバター軽量化ツール
同梱のanatawa12’s gist pack for Unityも追加でインポート
これに入ってるActual Performance Windowで、非破壊アバター改変時の実際のパフォーマンスランクを確認する
AAO Trace And Optimize
自動でいろいろ統合
AAO Merge Skinned Mesh
指定したSkinned Meshを統合
Remove Mesh By BlendShape
貫通防止用ブレンドシェイプを使ってメッシュ削除
AAO Merge PhysBone
PhysBoneを統合
TexTransTool
テクスチャの非破壊アトラス化ツール
マテリアル統合もできる
Mantis LOD Editor
メッシュ削減ツール(有料)
基本はAAOのRemove Meshでなんとかなるので、あくまで最終手段
無料のlilNDMFMeshSimplifierと使い比べてみるのも良い
参考に読んでる記事
VRChatアバターの軽量化まとめてみた - note
ログ
VRCアバターアップロード用のUnityプロジェクトになんのツールを入れるべきか忘れてしまっている
ModularAvatarとかFaceEmoとかMeshDeleterWithTextureとかキセテネあたりしか覚えてない
テクスチャの容量見るツールもあったはず
あと光源ごとの映りの違い見れるやつ
近年のアバター改変事情を今一度調べ直しても良いかも
本体だけ入れて新アングラの子を無改変で上げるか
@dennou404新ボディを適用したアングラの子を公開しました!アニメーション関連の構造等も最新版に更新したり、衣装を若干変更したり等のアップデートも行っています。
https://pbs.twimg.com/media/GX_qz-CaoAAuTGu.jpg
VCCのアップデートとUnity2022.3.22f1のインストールからスタート
そう、ただ無改変のアバターをアップロードするだけでも1年ぶりだと面倒が多いのだ
アバターアップロードについて普段は解説ブログあたりを眺めつつ作業をすることが多いのだけど、今回は公式ドキュメントでも見てみることにしよう
よーしUnityを開いた
https://gyazo.com/b88fc5533d9f0317138f00dbb2a29c7chttps://gyazo.com/b01d774cffa60d8d89761023e6fd668e
かったるくなってきたので今日はここで切り上げ
自分用ScrapboxにAvatarOptimizerやらの操作手順が残ってて助かった
が、今日はたぶんアバター改変をやらない
https://gyazo.com/633248abe3c162da18ca024405f6239e
白髪赤目にするだけしておく
アップロード完了!
https://gyazo.com/7a6619cd97ce417e4d0dff18618fe5d4
アップロード開始前にサムネ決めたり出来て良い
前からだったかもしれない
動作確認よし
https://gyazo.com/eef1aa58c6358d3b225cd78f83684b01
目の色は薄暗く
https://gyazo.com/584d3bb7178ceb01950e5ff85a0afeb4https://gyazo.com/90e60b94e69bb154c66279931e00aa90
旧アングラの子のテクスチャを使用(幼ア子から流用)
本格的な改変はまた今度
まずは表情セットいじったりメガネ載せたりするところからにしようかな?
帽子と眼鏡を装着していつもの装いに
https://gyazo.com/00fabc0a58d1acaab78c9f23c78138c2
シーン上でデフォルト表情を変更したのにVRCで反映されないという初歩的なミスをやらかしたが、Animator内にデフォルト表情用のAnimationがセットしてあるのを発見した
次回はこれの編集とFaceEmoのお試しをしてみよう
Mantis LOD Editor(Unityポリゴン削減用ツール)が半額になっていたので購入
Unity AssetStore
似た働きをするものとして無料のlilNDMFMeshSimplifierが先月にリリースされてるのだけど、出来栄えに違いが出ることがある(Mantisの方が良いときもあればlilの方が良いときもある)そうなので選択権を得るためにMantisを買っておく
FaceEmoでの表情セットアップを試してみる
さすがに専用ツールだけあって自力でAnimatorのBlendShapeを触るよりは手軽に表情を作れる
シェイプキーにマウスオーバーしたときに表情変化がプレビューできるのが良い
自分は基本的にあまり複雑な表情メニューを組むことはないのだけど、ハンドサインの組み合わせを用いた表情設定も簡単にできそうな感じだった
表情メニューの実装は最近流行りのビルド時合成(非破壊系)
無事に表情を得られた
https://gyazo.com/fd5342de3b71f01915b26dd4a27532ac
FXレイヤーに照れ顔が指定されていたせいか、FaceEmoで実装した表情に照れテクスチャが重なったりした
本来元々の表情は無効化されるはずなのだけど、どのようなカラクリで照れテクスチャが貫通したのかは謎
FXレイヤーの方をデフォルト表情で埋めると解決したのでひとまず良しとしておく
基礎は完成したのでAvatarOptimizerでアバター軽量化を試みる
AAO Trace And Optimizeコンポーネントをルートに追加し、チェックボックスなど特にいじらず自動で最適化
使用していないBlendShape(シェイプキー)の除去
使われていないPhysBone等の削除
アニメーションしたりPhysBoneで揺らしたりすることのないボーンの統合
一緒に切り替えていたり、切り替えることがなかったりするメッシュ同士の統合
アバター最適化の味方! Avatar Optimizerの使い方を解説! - メタカル最前線
Remove Mesh By BlendShapeコンポーネントを素体に追加し、服に隠れた素体(腕と胴)を貫通防止用ブレンドシェイプ指定でメッシュ削除
AAO Merge PhysBoneコンポーネントをルート直下に新規作成した空のゲームオブジェクト(“Merge PB”と命名しておく)に追加し、髪あたりのPhysBoneをちょこっとまとめる
とりあえず16以内に収まりゃいいやと言うことで、頭部右の4束をひとまとめに
この時点でアバターランクMediumを達成したので一旦完成とする
https://gyazo.com/967c212e01d2ce9e6be75e73be534fd9
右に出てるのがActual Performance Window
🍰
これまでPoorで妥協していたので新境地にたどり着いた気分
がんばればGoodも目指せる説ある
Fallbackいけるか!?と思ったが1万ポリゴン以内に収める必要があるらしくまあまあ無理ゲーと悟る
Android Build SupportをインストールしてアバターのQuest対応に備える
VRCQuestToolsというそのものズバリなQuest対応作業用のツールがあるのでこれを使ってみたい
前回軽量化したアバターをそのままアップロードしようと思ったけどもうひと弄りしたい
AvatarOptimizerにアップデートが来てる
AvatarOptimizer 1.8.0が公開。テクスチャなどをはじめ自動最適化がさらに強化 - メタカル最前線
AAO Trace And Optimizeにテクスチャ最適化機能が追加
サポート対象は現時点ではlilToonのみ
BlendShapeを含むメッシュも最適化の対象に
以前よりさらにSkinned Meshを減らせる可能性も
どれぐらい変わるか確認してみる
https://gyazo.com/967c212e01d2ce9e6be75e73be534fd9https://gyazo.com/3fd7322d4933e85343664100d079db4f
Skinned Meshes:5→4
テクスチャメモリ:37MB→33MB
やや軽くなってる
AAO Merge Skinned Meshを試す
顔のメッシュごと統合しても問題ないそうなので全部放り込んでみる
以前のAvatar Optimizerは顔のメッシュを他のメッシュと統合することを推奨していませんでした。 これは、Unity 2019でBlendShapeの多いメッシュを統合するとメッシュの負荷が大幅に増加してしまうためです。
Unity 2022ではBlendShapeの負荷が改善されているため、その記述は取り下げられました。
MA Mesh Settingsコンポーネントをアバターのルートに追加し、Anchor OverrideとBoundsを画像の通りに設定
https://gyazo.com/a8b07dd8d0e4296bcb8c938d6ff7f470
マテリアルスロットを削る
頭皮と髪にうっかり別のマテリアルを当ててたことに気付いたので合わせて統合(マテリアルスロット:11→10)
TexTransToolなるものでテクスチャのアトラス化とマテリアル結合を試みる
帽子とネイルと目をひとまとめにしてみる(マテリアルスロット: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対応をしてみよう
VRCQuestToolsを使って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
Long low ponytail - BOOTH
無事に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
画像引用元:【VRChat】自己流Unityだけで非対応服を着せてみる
アップロードを済ませる
https://gyazo.com/f9adfd71ae5573fa44d06fc9d25c4099
アバターの足元をニーソックスからタイツへ変更(冬想定なので)
https://gyazo.com/c8f96a296b4e0376490a6b4694741aa0
マテリアルとPhysBoneを統合してパフォーマンスランクがMedium→Goodへ
#2024/12/19
#2024/12/18 / #2024/12/11 / #2024/12/10 / #2024/12/02 / #2024/12/01
#2024/11/29 / #2024/11/27 / #2024/11/26 / #2024/11/25 / #2024/11/24