VRChat向けアバターをVRMに変換しよう! NDMF対応のツールとXAvatarの2つ紹介

VRChat向けアバターをVRMに変換したくなる場面に出会ったことはありませんか?

例えば、clusterに出向くとき。いつもVRChatで使っているアバターを持ち込む場合は、VRMの形式に変えなければなりません。

いままでもVRChat向けのアバターをVRM変換する方法は多くありましたが、Modular Avatarやシェーダー設定など手間がありました。

今回はVRM変換の方式を2つ紹介。それぞれの特徴を見てから適した方法を採用してください。今回紹介するNDMF VRM ExporterとXAvatarそれぞれの特徴は以下の通りです。

NDMF VRM Exporterの特徴

メリット
・Modular Avatarなどの使用を前提にしているため、VRChatのアバター改変に慣れている人にとって楽
・非破壊での処理のため、アバターに不可逆的な処理を行わない。
・UniVRM不要。(既存のVRM変換との差別化)
・VRMに必要なメタデータの記入がVRChatから自動で設定してくれる。
・表情の手動設定もしくはMMD対応のブレンドシェイプでの自動設定が可能。

デメリット
・ModularAvatarの使用が前提
・VRM1.0のみ出力

XAvatar変換の特徴

メリット
・VRoid Studioの着せ替え機能が使えるようになるため、着せ替えをする際にUnityをアップロード以外で開かなくても良くなる。
・表情がアニメーションから自動設定で行ってくれる。
・ツールのUIが日本語をベースにしているため分かりやすい。
・UniVRM不要。

デメリット
・VRoid Studioの使用が前提。
・Modular Avatarなどのアップロード時に処理をするツールは一回処理を行わないといけない。
・VRM1.0のみ出力。
・表情設定は自動設定のみ。

そもそもVRMとは?

VRMコンソーシアムが開発する「VRM」は、プラットフォームに依存しない人型の3D アバターファイルフォーマットです。アプリケーションごとに最適化をする手間を省き、VRM対応のアプリケーションやゲームを行き来することが可能になりました。

つまりVRMアバターを所有していれば、特別な設定をせずとも、VRMに対応しているプラットフォーム間を気軽に移動できるというメリットがあります。

国産メタバースプラットフォームのclusterや、アバターダンス動画作成用スマートフォンアプリのVEAT(ビート)VMagicMirrorなどのデスクトップマスコット・トラッキングソフトなどがその一例です。

Modular AvatarなどガッツリVRChat仕様ならこれ! NDMF VRM Exporter

NDMF VRM Exporterはshimapyonさんが公開したプラグインです。VRChat向けAvatarをVRM1.0方式で変換するものであり、特徴はModularAvatarやlilToon、Avatar Optimizerの使用を想定している点です。

そのため、他のVRM変換の方法では必要だったManual Avatar Bakeなどの操作は不必要であり、アバターそのものにも不可逆的な処理を行いません。

ただしNDMFを使用しているため、Modular Avatarの使用は必須となります。またAvatar Optimizerもブレンドシェイプの負荷などの最適化するために、ほぼ必須となります。

Avatar Optimizerなどについて知りたい人は下記の記事をチェック!

手順① NDMF VRM Exporterをインストール

NDMF VRM Exporterを使うためには、VCCを使ってインストールする必要があります。VCCについて分からない人は、下記の記事をご覧ください。

VCCもしくは非公式互換のALCOMを使って、下記のアドレスをレポジトリ登録してください。

https://hkrn.github.io/vpm.json
VCCの場合。SettingsからPackagesを選択
ALCOMの場合。パッケージ管理を選択すると表示

レポジトリに追加した後は、プロジェクトに追加してください。

手順② コンポーネントを追加

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ファイルが生成されるため、デバッグ時はコンポーネントのチェックマークを外してください。

VRMファイルは「Assets/NDMF VRM Exporter/${シーン名}」で生成されます。

シーンが未保存の場合はUntitled

生成したVRMファイルをエクスプローラー上で確認したい場合は、VRMファイルを右クリックし「Show in Explorer」を押すとできます。別のフォルダに移す場合などに使ってください。

いろんな衣装・いろんなアバターに着せたいならこれ! XAvatar変換

XAvatarを使用してVRMに変換する方法は、大まかにわけて2つの手順があります。まずはUnityでVRChat向けアバターを「XAvatar変換」に変換し、次にVRoidStudioを用いてVRMとして書き出しをおこないます。

Steam版VRoidStudioのインストールがまだの方は、こちらからダウンロードしておきましょう。

手順① XWear Packagerをインストール

VCC(VRChat Creator Companion)をインストールした状態で、こちらのページに記載されているアドレスをコピーし、検索窓に入力後に実行をします。すると下記のようにVCCで表示がされるのでRegistryに加えましょう。

次に、Unity2022.3.22f1でアバター用のプロジェクトを作成し、右側の「Manage Project」からXWear Packagerの右側にある+ボタンを押します。

これでXWear Packagerのインストールは完了です。

今回はかなリぁさんの【オリジナル3Dモデル】-ハオラン-HAOLANを使用させていただきました。

手順②Unityにアバターファイルをインポート

プロジェクトを開き、Asset > Import Package > Custom Package からUnityPackageを選択するか、ドラッグアンドドロップで変換したいアバターのファイルをインポートします。次に、アバターのPrefabをHierarchyにドラッグアンドドロップしましょう。

ModularAvatarやAvatarOptimizerなどのNDMFが組み込まれているツールを使っている場合は、このタイミングでアバターのモデルを右クリック「Modular Avatar」「Manual Bake Avatar」を選択します。ツールの設定を適用したアバターが出力されるため、新しくできたデータを使ってください。

また、表情を編集するツールであるFaceEmoもアップロード時に表情の設定が適用されます。デフォルトの表情を設定する場合は、モデルのシェイプキーを操作しましょう。

変換したい見た目になっていることを確認し、上のツールバーにあるVRoidを選択。XWear Packagerの画面が表示されるので、「エクスポート対象」の枠にアバターをドラッグアンドドロップします。

エクスポート形式が「素体」となっていることを確認し、「エクスポートを実行」でXAvatarを保存します。エラー・警告が出ていた場合は「自動で修正」をクリックし、表示が消えてからエクスポートをおこないましょう。

これで、Unityでの作業は終了です!

XAvatarを通してVRMに変換されたアバターの表情は、AnimationClip名を認識し沿ったものに自動で割り当ててくれるため、一から手動で設定する必要はありません。細かい作業が不要になるのは大きなメリットでしょう。

表情変換の詳しい仕様はこちらからご確認ください。

万が一、UnityのツールバーにVRoidの表示がない場合、XWear Packagerのインストールがうまくいっていない可能性があります。Unityのバージョンが2022.3.22f1であること、VRChat SDKがAvatars 3.7.1以降であることを確認しましょう。

手順③VRoidStudioでXAvatarを読み込もう

Steam版VRoidStudioを開き、「着せ替え機能を始める」か「新規作成」で新しいファイルを作成します。

「素体を追加」から先ほど保存したXAvatarを選択し、VRoidStudioの画面に変換したいアバターが表示されているか確認しましょう。

見た目に問題がなければ、右上から「VRMエクスポート」を押します。次にオプションの選択画面になりますが、とくにこだわりがなければそのままエクスポートでよいでしょう。

変換したアバターを、今回はVRoidHubで撮影してみました!

XAvatarを使ってVRM変換するメリットは、VRoid Studioの着せ替え機能に対応も合わせてできるようになることです。XAvatarに対応したアイテムを変換・購入していけば、Unityの操作はアップロードなどの操作以外は触らなくても良くなります。

norio氏インタビューサムネ

VRM変換をする際に気をつけるポイント

今回紹介したVRM変換は、どちらもVRM1.0のみ出力が可能です。VRM0.xのモデルをエクスポートをしたい場合は、UniVRMでの作成をオススメします。

変換したVRMをclusterで使用したい場合、VRM1.0はポリゴン数やテクスチャサイズなどの制限が設けられている点に注意が必要です。詳しい情報はclusterの公式ページをご確認ください。

●参考リンク
NDMF VRM Exporter (GitHub)
VRoidヘルプ-▶︎着せ替え機能
【オリジナル3Dモデル】-ハオラン-HAOLAN