【UE5】アセット移行でマテリアルが真っ黒に / SubstrateとVirtual Texture設定の罠と解決策
はじめに
UE5.5で練習シーンを制作中、アセットの移行と設定の不一致で数時間ハマってしまいました。 具体的には、Electric Dreamsのサンプルプロジェクトのアセットを別プロジェクトへ移行する際に発生した問題と、その解決手順をまとめます。
同じように「移行したら表示がおかしくなった」「マテリアルが反映されない」という方の参考になれば幸いです。
※本記事は、AI(Gemini)と対話しながらトラブルの原因を特定し、解決に至ったプロセスを構成したものです。
1. 発生した問題:移行の失敗と真っ黒なマテリアル
① プロジェクト間の移行(Migrate)の失敗
当初、UE5.7で展開していたアセットを、メインの制作環境であるUE5.5のプロジェクトへ移行(Migrate)しようとしました。しかし、移動先ではフォルダが空になってしまう、あるいは正しく読み込めないという現象が発生しました。
※エンジンのバージョンを跨ぐ移行、特に古いバージョンへの移行は注意ですね
② 再インポート後の表示不具合
仕方なく5.5環境で改めてアセットを生成し、モデルをインポートしました。
しかし、ビューポート上のモデルはマテリアルが真っ黒な状態。
テクスチャは正しくアサインされているはずなのに、全く反映されないという壁にぶつかりました。
2. 原因:プロジェクト設定の不一致
この「真っ黒」の正体は、移行元と移行先でのプロジェクト設定のズレにありました。
Substrate Materials: 移行元のアセットがSubstrate前提のマスターマテリアルを使用していたが、移行先プロジェクトでSubstrateが有効になっていなかった。
Virtual Texture (VT): テクスチャがVTとして変換されていたが、移行先プロジェクト側でVTサポートがオフになっていた。
この2つが組み合わさった結果、シェーダーの計算が破綻し、表示が死んでいた模様。
##3. 解決手順
以下のステップで復旧させることができました。
ステップ1:プロジェクト設定の有効化
まず、移行先のプロジェクト設定から以下の2点を確認・有効化し、エンジンを再起動します。
Enable Virtual Texture Support:オン
Substrate Materials:オン
ステップ2:サンプラータイプの手動修正
設定をオンにしても、一部のマテリアルが正常に戻らない場合があります。これはマスターマテリアル内のサンプラー設定が自動で切り替わっていないためです。
対象のマスターマテリアルを開く。
テクスチャを読み込んでいる Texture Object Parameter (Param2D) ノードを選択。
詳細パネルの 「Sampler Type」 を、VT用の設定(Virtual Color / Virtual Normal 等)に手動で書き換える。
「適用(Apply)」して保存。
まとめ
今回の教訓は、高度な機能を備えたアセットを別プロジェクトへ持っていく際は、まずプロジェクト設定(特にSubstrateやVT)を完全に一致させる必要があるということでした。
特にUE5.5以降、Substrateが絡むとマテリアルの解釈が厳密になるため、移行時のチェックリストとして覚えておくと良さそうです。
Discussion