【コラム】VCCにこれは入れておけ! アバター改変の便利ツール紹介

皆さんは、アバター改変楽しんでいますか?

楽しんでいるけども、やっぱりやるのは面倒と思う人は多くいると思います。

本記事では、なるべく簡単に、そして軽量なアバターになるようなアバター改変を紹介します。そして今回紹介するツールはいずれもVCC経由でインポートできるので、どのプロジェクトでもすぐに環境が整えられるようになります。

アバターの軽量化は、下記の記事でも紹介しているので、気になる人はそちらもチェックしてみてください。

アバター改変のインフラ的存在 ModularAvatar

「ModularAvatar」とは、非破壊でアバターに衣装やギミックを導入できるツールです。非破壊なので、後戻りがつかない事態を避けられ、更新しやすい状況で管理できます。

今回は、アバターの着せ替えを導入するときのやり方を紹介します。

まず、「ModularAvatar」を導入していない人は、こちらのリンクからVCC経由で導入を行ってください。画像のようになったら、「I Understamd, Add Repository」を押して追加してください。

次にプロジェクトを制作してください。すでに制作している場合は、そちらを使ってください。「ModularAvatar」を追加したいので、「Manege Packages」から「Modular Avatar」の+ボタンを押しましょう。

プロジェクトを開いたら、アバターをHierarchyに置きましょう。その後、衣装をドラッグアンドドロップしてください。

衣装に右クリックを押し、「Modular Avatar」にカーソルを合わせて「Setup Outfit」を押してください。あとはアップロードをするだけで完了です。お疲れ様でした。

「Modular Avatar」は衣装以外にもギミックもドラッグアンドドロップだけで導入できます。ギミックの導入に必要なアニメーションもアップロード時に自動で設定されるので、簡単にできるのです。BOOTHで「Modular Avatar対応」と書かれている商品は、簡単にできるので、商品を見るときはチェックしてみてはいかがでしょうか?

簡単操作でアイテムの出し入れができる!AvatarMenuCreater for Modular Avatar

「Modular Avatar」でアイテムの出し入れやBlendShapeやシェーダーを無段階調整する機能を追加できる補助アセットがあります。

こちらのサイトからVCC経由で「AvatarMenuCreater for Modular Avatar」のインポートを行ってください。

「Modular Avatar」を適用させたアバターから出し入れしたいものを複数選択し、「AvatarMenuCreater for Modular Avatar」を開きます。またアイテムの出し入れやBlendShapeの無段階調整は小物などのセットアップを押していないアイテムにも適用できます。

アイテムの出し入れをする場合は、ONとOFFそれぞれの挙動を選択しCreateを押してください。できたPrefabをアバターに入れることで、Expressionsメニューに表示されます。

BlendShape、シェーダーの無段階調整をする場合は同じく適用するアイテムを選択し、上にあるモード選択を無段階調整にしてください。

初期値や0%と100%のときのBlendShapeの数値を設定したい場合は数値を変更します。Createから出来たPrefabをアバターに入れると、アイテムの出し入れ同様にExpressionsメニューに表示されます。

非対応アバターの調整はキセテネ for MAで済ませよう!

対応しているアバターは、「ModularAvatar」を使えばそのまま服を着せられますが、非対応アバターとなるとそうはいきません。

非対応アバターに服を着せたいときは、「キセテネ for MA」を使いましょう。ご存知の方はいるかもしれませんが、アバターの着せ替えツール「キセテネ」をPrefab状態でも使えるようにしたツールになります。

こちらのサイトから「Add to VCC」を押すことで、インポートが行なえます。

インポートが行えたら、プロジェクトを開き、「Tools」、「KiseteNe For MA」を選択しましょう。次に着せたい服をセットしましょう。画像のような画面が出れば成功です。

「Scene」を見ながらパラメーターを調節しましょう。調整したら完了です。「Modular Avatar」の「Setup Outfit」を押していない人は押すことを忘れずに。

アバターのシェーダーといえばこれ!liltoon

執筆現在のアバターのシェーダーは、「liltoon」と「Poiyomi Toon Shader」が主流です。「liltoon」は現在VCC経由でインポートできるので、ぜひともしましょう。

こちらのサイトから「VRChat Creator Companion」のボタンを押してインポートを行ってください。

テクスチャやマテリアル、ライティングの確認はこれ!lilAvatarUtils

最近のアップデートで、テクスチャ容量もパフォーマンスランクに影響を与えるようになりました。そのため、自分のアバターの容量も気になる人はいるはず。でも、1つずつ確認するのは大変です。

そこで使いたいのが「lilAvatarUtils」です。「lilAvatarUtils」は、アバターに使われているテクスチャの容量を一覧で確認でき、テクスチャサイズも容易に変更できます。さらに、マテリアルのRender Queue、ライティングの確認もできます。

「liltoon」をVCC経由でインポートすると、「lilAvatarUtils」もManage Packages追加されます。他のツールと同様にインポートを行ってください。

インポートした後にプロジェクトを開き、「Window」から「lil」「AvatarUtils」を選択してください。

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

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

Lightingsでは、さまざまな場面でのライティングの当たり具合が確認できます。また、Safetyが掛かっている状態でのアバターの姿も確認できます。

アクセサリー類のシェーダーはこれ! UnlitWF Shader

アバター以外にもアクセサリー類などには「UnlitWF Shader」が使われることがあります。現在VCC経由でのインポートが行えるのでこちらも行いましょう。

こちらのサイトから案内に従ってインポートを行ってください。

ドラッグアンドドロップでアバターを最適化! Avatar Optimizer

「Avatar Optimizer」では、非破壊でアバターの軽量化できるツールです。「Modular Avatar」同様、非破壊なので、後戻りがつかない事態を避けられ、更新しやすい状況で管理できます。

本記事では、Skinned Meshを結合をしてMesh Renderersを減らす作業とBlendShapeを固定する作業を行います。

ModularAvatarと同様にこちらのリンクからVCC経由でインポートを行ってください。

プロジェクトを開いたら、Hierarchyを右クリックし、「Create Empty」を押して空のオブジェクトを作ってください。空のオブジェクトにある「Add Component」を押し、「Merge Skinned Mesh」追加しましょう。

このときにInspectorの横にある鍵マークを押しておきましょう。後ほどの作業が楽になります。

Hierarchyにある頭以外のアバター、衣装を「Skinned Renderers」にドラッグアンドドロップをしましょう。頭を除外するのは、BlendShapeの処理で重くならないようにするためです。Skinned Meshを結合をしてMesh Renderersを減らす作業は以上になります。

BlendShapeを固定、削除する作業に移りましょう。こちらは、アバターにComponent「Trace And Optimize」を追加するだけで終わりです。自動で使わないBlendShapeが固定、削除されます。

軽量化前後でこのように変化します。Skinned Mesh、マテリアルの数に注目すると、減っていることが分かると思います。

さらに最適化させたい人は、「AAO Remove Mesh By BlendShape」というComponentを使いましょう。ブレンドシェイプを基準に、ポリゴン数をさらに減らすことができます。

最初に、アバターの身体にComponent「AAO Remove Mesh By BlendShape」を追加します。

「AAO Remove Mesh By BlendShape」は、ブレンドシェイプによって動かされる頂点とポリゴンを削除するComponentです。

服によって見えない部分に該当するブレンドシェイプにチェックマークを押しましょう。

例えば、「hipHide」と書かれているブレンドシェイプにチェックマークを押すとお尻周りのポリゴンが減らせます。どこが消えるかわからない場合は、実際にブレンドシェイプで動かしてみて、アバターの見た目に支障をきたすことのないブレンドシェイプにチェックマークを押してみてください。

tips VRM変換にも「ModularAvatar」や「AvatarOptimizer」は使える

clusterやVARK SHORTSのようなサービスでは、VRM規格を使う場合があります。今回紹介した「ModularAvatar」や「AvatarOptimizer」はVRMに変換するときにも使えるのをご存知ですか?

本来、アップロード時に「ModularAvatar」や「AvatarOptimizer」といったツールは機能するのですが、手動で処理を行うことで、VRMに変換した際にも使えるようになります。

手動で変換するのは簡単。「ModularAvatar」の場合は、「Manual bake avatar」を押すと処理を行ったアバターが複製されます。

「AvatarOptimizer」の場合は、「【Apply on Play】Manual bake avatar」を押すと同じく複製されます。複製されたあとは、シェーダーや表情の設定をしましょう。

VRM変換のやり方は下記の記事でまとめてあるので、気になる方はやってみてください。

ツールで最適化した結果をActual Performance Windowで試そう!

「ModularAvatar」や「AvatarOptimizer」のような非破壊系ツールを使うと、VRCSDKの画面では本当のパフォーマンスが分からず、VRChatにアップロードするまで分からない状態になります。

「Actual Performance Window」は、VRChatを起動せずともUnity上で「ModularAvatar」やAvatarOptimizer」の非破壊系ツールを適用した状態のパフォーマンスを確認できるツールとなります。

Manage Packagesから「anatawa12’s gist pack for Unity」をインポートしてください。「AvatarOptimizer」をVCC経由でインポートした際に、「anatawa12’s gist pack for Unity」も合わせてインポートされます。

プロジェクトを開いて、「Tools」から「anatawa12’s gist selector」を開いてください。ウィンドウが開かれるので、「Actual Performance Window」にチェックマークを押して、「Apply Changes」を押してください。

つぎにプロジェクトの画面にある再生マークを押して、Playモードに移行しましょう。Playモードになれば自動で「Actual Performance Window」が機能し、ツールによって最適化された状態でのパフォーマンスが分かるようになります。

Quest対応をやってみよう! VRCQuestTools

「VRCQuestTools」とは、ワンボタンで簡単にQuest対応できるツールです。ただし、パフォーマンスランクは最適化されないので、「Avatar Optimizer」と併用しましょう。

BOOTHの配布ページよりリンクが置かれているので、VCC経由でインポートしてください。

プロジェクトを開いて、「VRCQuestTools」から「Convert Avatar for Quest」を押してください。

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

あとは、アップロード時に「Switch Build Target」を押して、Androidビルドでアップロードしましょう。

自動で表情のExpressionMenuを作ってくれる! FaceEmo

「FaceEmo」では、表情の作成、表情とジェスチャーの紐付け、Expression Menuでの表情の変更などができます。

「FaceEmo」でも、VCC経由でインポートできます。こちらのリンクよりインポートを行ってください。

Unity上に「FaceEmo」をインポートすると、ヒエラルキー上のアバターに「Emo」のマークが現れるようになります。アイコンをクリックすると「FaceEmo」のツール画面が表示されます。

表情パターンの1番左のボタンを押すと、表情パターンが追加されます。表情パターンを複数用意すると、Expression Menu を使用した表情パターン切り替えも容易にできます。かっこいい顔つきとかわいい顔つきようなパターン分けが簡単に設定できるようになりますよ。

表情パターンに追加を行うと「表情」ビューに表情を追加できるようになります。ハンドジェスチャーの条件を設定していきましょう。ハンドジェスチャーの条件は片手のみや両手とパターンを細かく設定できます。

表情アニメーションは表情サムネイルにマウスカーソルを合わせると表示されます。左上のボタンを押して、エディタ画面を表示させましょう。

エディタ画面では、追加したいシェイプキーを押すことで追加できます。シェイプキーの数値を変化させたいときは、スライダーを動かすか、テキストボックスに数値を入力します。顔を見ながら調整できるのは便利ですね。

デフォルトで設定されている表情は、干渉防止のため無効化されています。手間がかかるかもしれませんが、改めて設定し直しましょう。

表情の設定を済ませたら「FaceEmo」のツール画面にあるアバターに適用を押しましょう。あとは、アップロードを行えばModular Avatarによって表情メニューが作られます。

「FaceEmo」を適用して制作したアバターには自動でExpressionMenuが制作されます。自動で生成されたExpressionMenuでは、表情の固定ができます。もちろん、表情のサムネイル画像も自動で設定されます。

その他にも表情の上書き有効やまばたきOFFなど便利機能も自動で設定されます。アバターによってはデフォルトで設定されていますが、あると便利なので嬉しいですね。

ExpressionMenuの確認はこれを使え! Gesture Manager 

「Gesture Manager」はすでにVCC内に入っているツールです。Manage Packagesから「Gesture Manager」を追加してください。

プロジェクトを開き、Toolsから選択、Prefab からPlay-Modeを選択するとExpressionsメニューのテストができます。

Expressionsメニュー上にある項目からハンドジェスチャーのテストが出来ます

今回紹介したツールはいずれもかなり便利なツールです。また、今回紹介したこと以外にも出来ることが多くあります。気になる人は公式ドキュメントを読んで、もっと使いこなしてみてはいかがでしょうか?

●参考リンク
ModularAvatar
AvatarMenuCreater for Modular Avatar(BOOTH)
liltoon
UnlitWF_Shader
AvatarOptimizer
VRCQuestTools(BOOTH)
FaceEmo(BOOTH)