FBX形式のモデルデータをX-NEOKETで展示したりアバターとして使用するには、モデルデータをVRM形式に変換し、VRoid Hubにアップロードする必要があります。
当記事はお手持ちのFBXファイルをVRMに変換し、VRoid Hubにアップロードするまでの手順を簡単に記載したものです。
VRMの詳細や細かい仕様につきましては以下の公式リファレンスをご参照ください。
https://vrm.dev/vrm/vrm_about/
目次
準備
FBX形式の3Dモデルデータを用意する
X-NEOKETで使用できるVRMには、ポリゴン数やマテリアル数などに制限があります。
詳細は以下のヘルプをご参照ください。
▼使用できるアバターに制限はありますか?
https://neoket.pixiv.help/hc/ja/articles/900004135606
UniVRMをダウンロードする
UniVRMの最新バージョンをダウンロードします。
https://github.com/vrm-c/UniVRM/releases
X-NEOKETで3Dアバターを利用する場合はVRM 1.0版とVRM 0.x版どちらでもご利用いただけます。
当記事ではVRM 0.x版を利用して説明いたします。
Unityのバージョンを確認し、インストールする
使用するUniVRMが対応しているUnityのバージョンを確認し、対応するバージョンのUnityをインストールします。
UniVRM v0.121.0の場合、Unity 2021.3 LTS以降のバージョンが対応しています。
当記事では、「2022.3.6f1」を使用しています。
- 以下ページよりUnity Hubをインストールします。
https://unity.com/ja/download
- Unity Hubインストール後、以下ページよりインストールしたいバージョンを探し、Unity Hubのボタンを押します。
https://unity.com/ja/releases/editor/archive
- 以下の画面が表示された場合は上の「Install」(Appleシリコン版)を選択してください。
- インストールが完了したら、Unity Hubの「Installs」の一覧に追加されます。
Unityでの変換作業
Unityプロジェクトの作成
-
Unity Hubを開き、Projectsから青色の「New project」を押します。
-
Editor Versionが適切なものであるかどうか確認し、テンプレートは「3D」を選択します。
-
Project nameとLocationは任意のものを入力して「Create project」を押します。
UniVRMをUnityにインポート
-
プロジェクトを作成すると、Unityのプロジェクトが開かれます。
プロジェクトが開かれたらまずはUniVRMをUnityにインポートします。 -
エクスプローラからUniVRMのUnity package fileを、Unity画面のAssetsの中にドラッグアンドドロップします。
-
読み込み後、Import Unity Packageウィンドウが表示されるので、「Import」ボタンを押します。
-
インポートが完了すると、UniVRM関連のファイルがAssets直下に表示されます。
※インポート完了後、以下のようなシェーダーエラーが発生する場合があります。
Shader error in 'VRM10/Universal Render Pipeline/MToon10': Couldn't open include file 'Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl'. at /My project/Library/PackageCache/com.vrmc.vrmshaders@c684b72477/VRM10/MToon10/Resources/VRM10/vrmc_materials_mtoon_depthnormals_vertex.hlsl(5)
今回は無視しても問題はありませんが、気になる方はPackage ManagerからUniversal Render Pipelineをインポートすることでエラーを解消できます。
詳細は以下の公式ドキュメントを参照してください。
▼Shader error in 'VRM10/Universal Render Pipeline/MToon10': Couldn't open include file(外部サイト)
https://vrm.dev/univrm/error/could_not_include/
▼既存のプロジェクトへのユニバーサルレンダーパイプラインのインストール(外部サイト)
https://docs.unity3d.com/ja/Packages/com.unity.render-pipelines.universal@14.0/manual/InstallURPIntoAProject.html
モデルデータのインポートとHumanoid設定
X-NEOKETで利用したいモデルのFBXファイルを用意してください。
あるいは、販売されているモデルによってはFBXファイルとは別にUnityPackageが同梱されていることがあります。
UnityPackage内にマテリアル設定済みのPrefabが存在する場合、マテリアルの設定がFBXより簡単です。
今回はAvatarSample_AのFBXファイルを例にして説明します。
(AvatarSample_AのFBXファイルは配布しておりません。)
- FBXファイルとテクスチャ画像をUnityプロジェクトのAssetsにドラッグアンドドロップでインポートします。
-
インポートできたら、インポートしたデータの中からFBXファイルを選択します。
-
選択するとInspectorにFBXの設定画面が表示されるので、「Rig」のタブを選択し、Animation Typeを「Humanoid」に設定し、「Apply」を押して適用してください。
マテリアルの設定
VRMのサポートしているマテリアル(シェーダー)は 「unlit」、「standard」、「MToon(VRM1.0の場合MToon10)」の3種類のみです。
別のシェーダーが設定されている場合、変更する必要があります。
当記事では「MToon」を利用します。
- FBXに設定されているマテリアルを選択し、Shaderから「MToon」を選択します。
※FBXに複数のマテリアルが設定されている場合、すべてのマテリアルを「MToon」あるいは「unlit」「standard」のいずれかに変更する必要があります。
-
MToonの設定を行います。
「MToon」の設定詳細につきましては、公式ドキュメントをご参照ください。
▼MToon について(外部サイト)
https://vrm.dev/univrm/shaders/shader_mtoon/
モデルの正規化
-
FBXをHierarchyの中にドラッグアンドドロップし、シーン上に配置します。
-
配置したモデルが選択されている状態で、画面上部の「VRM0」タブを選択し、「Export VRM 0.x...」を押します。
-
ウィンドウが表示されるので、各種情報を入力します。
詳細につきましては、公式ドキュメントをご参照ください。
▼VRMファイルに設定できるライセンスデータ(外部サイト)
https://vrm.dev/vrm/vrm_meta/ -
入力が完了すると右下の「Export」ボタンが押せるようになるため、押して任意の場所に保存します。
正規化したモデルの最終調整
-
先ほどエクスポートした正規化したモデルのVRMファイルをUnityProjectにインポートします。
-
インポートするとVRMファイルのほかに、Prefabファイルや各種設定ファイルもプロジェクトに読み込まれます。
一緒にインポートされたPrefabファイルを選択し、Hierarchy上にドラッグアンドドロップし、シーン上に配置します。
なお、先ほど正規化の際にHierarchyに配置したFBXファイルは使用しないので、Inactiveにしてシーン上で非表示にして下さい。 - Hierarchy上のVRMファイルを選択すると、Inspector上で各種最終調整ができます。
揺れもの(SpringBone)の設定や表情(BlendShape)の設定もこちらからできます。
詳細の設定は公式ドキュメントをご参照ください。
▼VRMをセットアップする(外部サイト)
https://vrm.dev/vrm/how_to_make_vrm/setup_vrm/
VRMファイルのエクスポートとVRoid Hubへのアップロード
VRMのエクスポート
-
調整が完了したら、再度VRMをエクスポートします。
配置したモデルが選択されている状態で、画面上部のVRM0タブを選択し、「Export VRM 0.x...」を押します。 -
正規化の作業の時と同じようにウィンドウが開くので、「Export」を押します。
-
名前を付けて任意の場所に保存すれば、VRM変換作業は完了です。
VRoid Hubへのアップロード
先ほど作成したVRMファイルをX-NEOKETで使用するためには、VRMファイルをVRoid Hubに登録する必要があります。
VRoid HubへのVRMモデルアップロード手順は以下のヘルプをご参照ください。
▼モデルはどうやって投稿できますか?
https://vroid.pixiv.help/hc/ja/articles/4404654268953
X-NEOKET向けのアバター制限について
X-NEOKETで使用できるVRMには、ポリゴン数やマテリアル数などに制限があります。
▼使用できるアバターに制限はありますか?
https://neoket.pixiv.help/hc/ja/articles/900004135606
VRoid Hubへアップロードしたモデルが制限をクリアしていない場合、X-NEOKETでモデルを展示したりアバターとして使用することができません。
アップロードしたモデルがX-NEOKETのアバター制限をクリアしているか確認する方法は以下のヘルプをご参照ください。
▼X-NEOKETのアバター制限をクリアしているかどこで確認できますか?
https://neoket.pixiv.help/hc/ja/articles/900004214166
ブレンドシェイプ数がX-NEOKETのアバター制限をクリアしていない場合、設定の変更で解決する場合があります。
UniVRMのUnityEditor拡張上で使用していないブレンドシェイプを出力しない設定にし、再度VRMのエクスポートとVRoid Hubへのアップロードをお試しください。