メインコンテンツまでスキップ

アプリケーションを Build するには

UniVRM を利用するアプリケーションをビルドする際の注意事項を記載します。

シェーダー

UniVRM ライブラリを導入しただけでは、ビルド時にシェーダーエラーが発生し、モデルが正常に読み込めません。 なぜなら、アプリ上で読み込む glTF ファイルや VRM ファイルはビルド時には存在しないため、Unity が適切なシェーダをビルドに含めることができないからです。

ビルドする際は必ず Project SettingsAlways Included Shaders に適切なシェーダを設定してください。 下記に設定するべきシェーダを記載します。

図: Project SettingsAlways Included Shaders 設定画面。 VRM 1.0 ファイルを URP で扱う場合の例。

Always Included Shaders
Always Included Shaders

シェーダのコンパイル - Unity Documentation
Universal Render Pipeline/Lit のビルド時間が長大

URP版のPBRシェーダー、 Universal Render Pipeline/Lit の初回ビルドに長時間かかることがわかりました。

https://github.com/vrm-c/UniVRM/pull/2498

初回ビルドに長時間(10時間など)かかることにご注意ください。 2回目以降はキャッシュが使用されるのでそこまではかかりません。 ビルド時間軽減のためのカスタムシェーダーを検討中です。

glTF ファイルを扱うアプリの場合

com.vrmc.gltf パッケージを用いて glTF ファイルを扱うアプリの場合、以下のシェーダをビルドに含める必要があります。

Built-in RPURP
Standard-
Univesal Render Pipeline/Lit-
UniGLTF/UniUnlit

VRM 0.X ファイルを扱うアプリの場合

com.vrmc.univrm パッケージを用いて VRM 0.X ファイルを扱うアプリの場合、以下のシェーダをビルドに含める必要があります。

Built-in RPURP
Standard-
Univesal Render Pipeline/Lit-
UniGLTF/UniUnlit
VRM/MToon-
URP用 MToon シェーダ(not supported)--

VRM 1.0 ファイルを扱うアプリの場合

com.vrmc.vrm パッケージを用いて VRM 1.0 ファイルを扱うアプリの場合、以下のシェーダをビルドに含める必要があります。

Built-in RPURP
Standard-
Univesal Render Pipeline/Lit-
UniGLTF/UniUnlit
VRM10/MToon10-
VRM10/Universal Render Pipeline/MToon10-

その他シェーダー

注記

UniGLTF 内部の以下のシェーダは Resources ディレクトリに含まれているため、対応の必要はありません。

  • Hidden/UniGLTF/NormalMapExporter
  • Hidden/UniGLTF/StandardMapExporter
  • Hidden/UniGLTF/StandardMapImporter