VRChatワールド・ゲームビルドの動作
EreMorphはProjectにNDMFがインストールされていない場合、プレイモード・シーンロード・ビルド時に独自のビルドプロセッサを通じて自動的にメッシュエクスポート・割り当てを行います。
これによりアバター改変と同様にメッシュのエクスポートを考えずに、VRChatワールドやゲーム制作にもご利用いただけます。
ビルドプロセッサの範囲について
本システムはUnityの標準ビルドパイプライン(BuildPipeline.BuildPlayer)を経由する場合にのみ発火します。
動作が確認されている環境:
- Unity Player ビルド (Windowsでのみ確認済み)
- VRChat ワールドビルド
- VRChat アバタービルド (本システムは使用せず。NDMF経由の専用パイプラインを使用)
適用されない・動作が保証されない環境:
- BuildPipeline.BuildAssetBundles を使った AssetBundle 単独ビルド
- Addressables / Scriptable Build Pipeline を使ったビルド
- ランタイムでの Instantiate によるプレハブの動的生成
上記の環境でご使用の場合は、ビルド前に手動でメッシュをエクスポートし、Renderer に割り当ててから使用することを推奨します。
メッシュのRead/Writeについて
対象メッシュのRead/WriteがDisableのとき、VRChatのワールドビルド等AssetBundleビルドではメッシュが消失する問題があります。
そのためAssetBundle化するときはRead/WriteがEnableであることを確認するか、メッシュをエクスポートすることを推奨します。
NDMFが見つからないとき、EreMorphは以下の動作を行います。
-
Playモード・シーンロード、「自動ベイクオプション」が無効のとき
自動ビルドは行いません。EreMorphコンポーネント、Editメッシュを保持したままPlayモードに入ります。
-
Playモード・シーンロード、「自動ベイクオプション」が有効のとき
Playモードに入ると自動で各EreMorphのメッシュをエクスポートし割り当てます。EreMorphコンポーネントは保持します。
その後、そのSkinnedMeshをアニメーションしているAnimatorがある場合、キャッシュ更新のためRebindを行います。 -
シーンビルド時(ワールドアップロード時) シーンビルド時に自動で各EreMorphのメッシュをエクスポートし割り当てます。
割り当て後、EreMorphコンポーネントを破棄します。
エクスポート時のPrebake/シェイプキー上書き/ウェイト上書き設定は各EreMorphの設定を踏襲します。