- 1 アバター改変のインフラ的存在 「ModularAvatar」
- 2 非対応アバターの調整は「キセテネ for MA」で済ませよう!
- 3 アバターのシェーダーといえばこれ!「lilToon」 「Poiyomi Toon Shader」
- 4 ドラッグアンドドロップでアバターを最適化! 「Avatar Optimizer」
- 5 ツールで最適化した結果を「Actual Performance Window」で試そう!
- 6 自動で表情のExpressionMenuを作ってくれる! 「FaceEmo」
- 7 アバターにポーズを仕込みたい!「Avatar Pose Library」で導入しよう
- 8 オブジェクトの出し入れ、明るさ調整は「lilycalInventory」で一気に済ませよう!
- 9 デカールや髪色にグラデーションができるように「TexTransTool」
- 10 テクスチャやマテリアル、ライティングの確認はこれ!「lilAvatarUtils」
- 11 Quest対応をやってみよう! 「VRCQuestTools」
- 12 VRChat向けに最適化したアバターでもVRM変換できます! 「NDMF VRM Exporter」
- 13 ポリゴン数をもっと削りたい?「Meshia Mesh Simplification」
- 14 Unityを見やすくしよう! 「lilEditorToolbox」
- 15 ExpressionMenuの確認はこれを使え! 「Gesture Manager」
テクスチャやマテリアル、ライティングの確認はこれ!「lilAvatarUtils」
VRChatのパフォーマンスランクでは、アバターの容量もチェックされる項目の1つです。そのため、自分のアバターの容量も気になる人はいるはず。でも、1つずつ確認するのは大変です。
そこで使いたいのが「lilAvatarUtils」です。「lilAvatarUtils」は、アバターに使われているテクスチャの容量を一覧で確認でき、テクスチャサイズも容易に変更できます。さらに、マテリアルのRender Queue、ライティングの確認もできます。
「lilToon」をVCC経由でインポートすると、「lilAvatarUtils」もManage Packages追加されます。他のツールと同様にインポートを行ってください。
インポートした後にプロジェクトを開き、「Window」から「lil」「AvatarUtils」を選択してください。

1番上のオブジェクトを選択する所に、アバターのPrefabをドラッグアンドドロップしてください。ドラッグアンドドロップをすると、アバターに使用されているテクスチャが確認できるようになります。

Materialsでは、ShaderやRender Queueの確認ができます。

Lightingsでは、さまざまな場面でのライティングの当たり具合が確認できます。また、Safetyが掛かっている状態でのアバターの姿も確認できます。Safetyが掛かっていると、例えば頬の表示がおかしくなるといったことが起きるので、確認しておきましょう。

ライティングの設定をアバターのエクスプレッションメニューに追加したい場合は、先述した「lilycalInventory」がオススメです。「lilycalInventory」の項目で導入や機能をご確認ください。
Quest対応をやってみよう! 「VRCQuestTools」
「VRCQuestTools」とは、ワンボタンで簡単にmobile対応(Quest対応)できるツールです。ただし、パフォーマンスランクは最適化されないので、「Avatar Optimizer」と併用しましょう。
BOOTHの配布ページよりリンクが置かれているので、VCC経由でインポートしてください。
プロジェクトを開いて、「VRCQuestTools」から「Convert Avatar for Quest」を押してください。

「変換」ボタンを押して、Quest対応をしたアバターを作りましょう。Phys BoneのComponent数が多い場合、削除する必要があります。調整したい人は調整してください。

あとは、アップロード時に「Switch Build Target」を押して、Androidビルドでアップロードしましょう。
またアップデートによってPC版と同一アバターで、PC版とAndroid版両方を管理できるようになりました。より詳細を知りたい場合は下記の記事をご参考ください。
VRChat向けに最適化したアバターでもVRM変換できます! 「NDMF VRM Exporter」
Modular Avatarをはじめ、この記事で紹介されているようなツールにはNDMFと呼ばれるシステムが使われています。基本的にはユーザーにとって使いやすくするためのものなので気にする必要はありませんが、clusterなどで使われている規格であるVRM変換などの作業をする際は状況が異なります。
NDMFが使われているツールは、アップロード時などで処理が行われます。そのためVRChatで使うためにアップロードを行う普段通りの使い方をする場合は問題ないものの、VRM変換をはじめとした別用途に使う場合になると処理が行われません。
そこで、「NDMF VRM Exporter」を使ってVRMを出力できるようにしましょう。
変換したVRMをclusterで使用したい場合、ポリゴン数やテクスチャサイズなどの制限が設けられている点に注意が必要です。詳しい情報はclusterの公式ページをご確認ください。
下記のボタンからレポジトリに追加。その後、プロジェクトの管理画面から「NDMF VRM Exporter」を追加しましょう。

Unityを開き、変換したいアバターに「VRM Export Description」を追加してください。検索する場合は「VRM」で絞れるはずです。

アバターをすでにアップロード済みの場合は、「Retrieve Metadata via VRChat API」を押すと、VRChat側にアップロードしたときの設定に合わせて、VRMの設定に必要なメタデータ・ライセンスが設定されます。
手動での設定も可能ですが、アップロードできないものではない限り、基本的にはアップロードを行って「Retrieve Metadata via VRChat API」で設定するのを推奨します。

表情の設定もコンポーネントで行えます。VRMのプリセットとカスタムで追加できる表情が設定可能です。表情の指定はブレンドシェイプとアニメーションで設定できますが、MMD互換のブレンドシェイプを使って自動設定することも可能です。(ただしアバター側に設定されている場合のみ)

FaceEmoのような表情編集のツールを使っている場合は、アニメーションを作成しているはずのため、作成したアニメーションを各表情に設定しましょう。
「MToon Options」ではMToonとlilToonの互換設定を行います。主にリムライトやアウトラインなどの有効設定を選択します。見た目に関わる部分のため、気になった場合は確認してみてください。

その他にもVRC PhysBoneやConstraintの変換なども行いますが、変換方法の詳細はREADMEよりご確認ください。
コンポーネントでの設定が終わった後は、再生ボタンを押すとVRMファイルが生成されます。

現時点での仕様では、以下の点に気をつけてください。
・位置も記録されているため、アバターは原点に配置してください。
・再生ボタンを押すたびにVRMファイルが生成されるため、デバッグ時はコンポーネントのチェックマークを外してください。
VRMファイルは「Assets/NDMF VRM Exporter/${シーン名}」で生成されます。

生成したVRMファイルをエクスプローラー上で確認したい場合は、VRMファイルを右クリックし「Show in Explorer」を押すとできます。別のフォルダに移す場合などに使ってください。
この変換できるのはVRM1.0のみです。VRM0.xのモデルをエクスポートをしたい場合は、UniVRMでの作成をオススメします。
ポリゴン数をもっと削りたい?「Meshia Mesh Simplification」
mobile対応をはじめ、パフォーマンスランクにはポリゴン数が左右されます。見た目とのトレードオフにはなりますが、ポリゴン数を減らすツール「Meshia Mesh Simplification」を紹介。
こちらのリンクから「Add to VCC」のボタンを押してください。

プロジェクトを開き、ポリゴン数を減らしたいオブジェクトに「Add Component」から「Meshia」と検索し、「Meshia Mesh Simplifier」を付けます。

コンポーネントを付ければ、ひとまずの設定は終わりです。アバターの見た目が損なわない状態になっているかを確認したうえで、アップロードすれば完了です。

この他にも、もう一つのコンポーネントである「Meshia Cascading Avatar Mesh Simplifier」を使えばアバター全体を一括でポリゴン数削減できます。

細かいオプションなどについては、下記の記事を参考にしてください。
Unityを見やすくしよう! 「lilEditorToolbox」
「lilEditorToolbox」では、Unityを見やすく便利にするツールが多く収録されています。「lilToon」を追加している場合は、すでにパッケージが追加されているので追加しましょう。
今回は機能の一部を紹介。なお事前の説明がない場合は、機能のオンオフはメニューバーの「Edit」にある「Preference」の「lilEditorToolbox」項目で行います。


Inspectorをタブのように扱える!拡張Inspector
拡張Inspectorは、「Preference」の「lilEditorToolbox」項目で「インスペクターのタブ追加ボタン」を押すことで機能が追加されます。機能としては、タブを増やすボタンがUnity上部に用意され、ボタンを押すとそのときに開いていたInspectorがタブとなって追加されます。

主な用途としては、これまでInspectorのロック機能を使っていた複数のオブジェクトをまたがっての操作をするときに使えるでしょう。
オブジェクトのオンオフをボタンで管理
「Preference」の「lilEditorToolbox」項目で「オブジェクトのオンオフ」にチェックを入れると、Hierarchyにオブジェクトのオンオフを設定できるチェックボックスができます。

この他にもコンポーネントのアイコン表示などの機能もあるので、自分の好きなように設定してみてください。
オブジェクトの整理に使える 「ObjectMaker」
「ObjectMaker」は、Hierarchy上に色を付けて視覚的に見やすくする機能です。
「Preference」の「lilEditorToolbox」項目で「ObjectMarkerの背景色を適用」にチェックを入れたうえで、空のGameObjectに「ObjectMarker」のコンポーネントを付けましょう。
コンポーネントを付けたら完了です。色はコンポーネントから変更できます。
エラーの予防に! 「unitypackageインポート時にPackages配下のアセットの上書きを防止」
アバターや衣装などのアセットを追加する際に、すでに導入されているlilToonなどPackages内にすでに追加されているものを上書きされないようにします。場合によっては古いバージョンに上書きされることがあるため、事故防止のために設定しておくことをオススメします。

アバター改変の途中経過はこれで見せるといいかも?
Scene Viewの高解像度キャプチャツール
「Scene Viewの高解像度キャプチャツール」では、普段アバターが見えているScene Viewに表示されている画面を高解像度でキャプチャしてくれます。選択中の特定のオブジェクトのみを透過して出力することも可能です。

このツールは、「Tools」の「lilEditorToolbox」から「Scene Capture」を選択することで使えます。

アバター改変の途中経過をはじめ、Unity上で撮影したい場合は気軽に使いましょう。
小回りの効く調整ができる! PlayModeでの変更を保存
動作確認のためにPlayModeで数値を調整したけども、PlayMode終了後にもう一回設定し直すのが面倒。そんなときは、PlayMode中に該当のコンポーネントにあるハンバーガーメニューにある「Save changes in PlayMode」を押せば保存できます。

それ以外の便利機能についてはドキュメントをご確認ください。
ExpressionMenuの確認はこれを使え! 「Gesture Manager」
「Gesture Manager」はすでにVCC内に入っているツールです。Manage Packagesから「Gesture Manager」を追加してください。
プロジェクトを開き、Toolsから選択、Prefab からPlay-Modeを選択するとExpressionsメニューのテストができます。


今回紹介したツールはいずれもかなり便利なツールです。また、今回紹介したこと以外にも出来ることが多くあります。気になる人は公式ドキュメントを読んで、もっと使いこなしてみてはいかがでしょうか?
ちなみにVCCを使って導入したツールは、非公式互換ツール「ALCOM」を使うと一括でアップデートができるなど便利です。気になる人は下記の記事から導入してみてください。
●参考リンク
・ModularAvatar
・AvatarMenuCreater for Modular Avatar(BOOTH)
・liltoon
・UnlitWF_Shader
・AvatarOptimizer
・VRCQuestTools(BOOTH)
・FaceEmo(BOOTH)
・lilycalInventory
・TexTransTool