前書き
こうめちゃんは可愛い
それはもう圧倒的に可愛い
種の進化として全人類がこうめちゃんになる世界線であってくれ
そんな可愛いこうめちゃんではあるがVRChatにおいてその姿を拝見するには、アバターを纏う側の準備と、それを観る側の適切な設定が必要である。
纏う側としてこうめちゃんの可愛さを多くの人に見てもらいたい。
この記事は、その一心でフォールバックアバター化した備忘録です。
(体力がないので詳細な手順は省きます。フォールバックアバター化は個人の好みや癖が出るところかと思いますので編集の参考までに)
目的
パフォーマンスランクQuest - Goodを達成し、こうめちゃんをフォールバックアバター化
先に結果から
細部は省略されているが、ぱっと見違いはほぼわからないはず。
読者想定(備忘録なので私の水準並べてるだけです)
- こうめちゃんへの愛を持つ
- Blenderそこそこ使える、Unityちょっと使える、Gimpまぁ使える
- 簡単な自作アバターをアップロードしたことがある。禅zenさんの動画が参考になります!!!
- バイブルにてこうめちゃんをPC、Questアップロードしている。もゑみん。さんありがとうございます!!!
フォールバックアバター化するためには
2022年8月現在環境において、全てのプラットフォームで利用可能なフォールバックアバターにするためには、QuestでのパフォーマンスランクGood以上にする必要がある。
こうめちゃんの場合以下の修正が必要。
①ポリゴン数 14815→10000以下(33%以上削減)
②マテリアル 5→1
③アニメーター 2→1(アバターオブジェクトのルートに一つ必須な模様。そのためこうめちゃんのまばたきが使えなくなる。コントローラーで上手いこと実装できないだろうか。)
④PhysBoneComponents 8→4(もともと、尻尾、耳x2、スカートx1、髪x4なので今回は泣く泣く髪x4を諦める。)
⑤PhysBoneTransformCount 20→16
⑥PhysBoneCollisionCheckCount 27→16
⑤〜⑥はおま環が混じってる。
要点
ポリゴン削減
こうめちゃんのFBXフォルダにあるkoume_kaihen_0.0.0.fbxをベースに削減調整を行った結果以下のようになった。
以下はやったことの詳細を列挙。
毛束軽量化
- 白い毛束の付け根を削除
- 辺の溶解を使って毛束を形を崩さない程度にローポリ化
- きつね耳部分のメッシュには手を入れてない
体の見えないところ削除
ローポリ化&テクスチャ編集
平面化
Alphaメッシュ削除
テクスチャにベイク
- ボタンをtex_costumeテクスチャにベイクした(別記事でまとめたので詳細手順は以下参照)
首の集結点削除
テクスチャ統合
Armatureのスケールについて
- .fbxへ出力する際の話。
- .unitypackageにまとまとってるこうめちゃんアバターはArmatureのスケールが90程度。一方、Blenderから脳死で.fbx出力すると0.9程度で1/100になる。
- これが尻尾や耳のAnimationやPhysBoneのRadius設定に不都合。
- Blender側でArmatureのスケールを100倍にするのも一つの解決法だと思われるが、今回はArmatureのスケールを1で統一する方向。
- 表情アニメーションから耳尻尾のPositionを削除&PhysBoneのRadiusの設定値を100倍で対応。
- Blenderにて、.fbx化するオブジェクトの全スケールを適用して1で再出力。
階層の調整
- 禅zenさんの動画とか参考にしながら、Blenderから.fbxを吐き出し、Humanoidの設定やマテリアル設定など色々やってUnityに持ってきた後、"blink reset"の下に"Body"オブジェクトを持ってくる
- こうしておかないとこうめちゃん標準のアニメーション("koume_〇〇_blink reset"など)が動作しなくなる
PhysBoneの設定
-
メモがわりにPhysBoneの設定値を列挙。詳しくはこうめちゃんの.unitypackage由来のアバターのDynamicBoneの設定値を参照。
- Integration Type:Advanced
- Pull:0.03 とか 0.05 とかそれくらい
- Momentum:0.95
- Stiffness:0
- Immobile Type:World
- Limit Type:Angle
- Max Angle:129
- Radius:0.03〜0.1のオーダー※
- Is Animated:チェックを入れる
-
※Radiusの設定値は以下のページが参考になる。このページはDynamicBoneでの設定だが、設定項目はPhysBoneに読み替えて問題なさげ。(リンク先のRadius設定値は1/100での設定値なので、100倍して入力すること)
アニメーションの修正
- Fxコントローラーに設定しているアニメーション全て複製してから、複製したアニメーションのearとtailのPositionを全て削除してFxコントローラーに設定
- 画像のear_○:PositionをクリックしてDelete。tailも同様。Rotationは残す
これにて完了。後書き
Excellentは三角面数からしてモデリングセンスが要求されてかなり難しそうです。そちらは機会があればいずれ...
Goodなこうめちゃんができました。
手をかけたこうめちゃんへの愛着はひとしお。こうめちゃんアバターへの理解が深まり、BlenderやUnityとの友情もまた深まりました。やはりこうめちゃんは素晴らしい。