BrenderからUE4へ取り込むときのエラーと解決法

2021年11月18日

 

私もよくわかっていませんが解決できたので紹介しておきます。
バックアップ、テスト用のプロジェクトを必ず用意して下さい。

エラー概要その1

BlenderからFBXファイルで出力し、UE4で取り込んだ時の2つエラーの対処です。
内容は「メッシュ名」には、不正確なシェーディングの原因となる縮退した法線ベースがあります。MikkTSpaceはタンジェントベースに依存しておりメッシュ破損の可能性があります。

「メッシュ名」には、問題を引き起こす可能性のあるほぼゼロの従法線がいくつかあります。

 

完全になくなる場合と多少エラーになるもののアニメーションが読み込まれる場合があります。
対処方法は以下にあります。

エラー概要2 インポートしたボーントランスフォームがオリジナルと異なります。エラーの詳細はアウトプットログで確認してください。の対応ができます。

対応
Blenderの設定でFBX出力時のトランスフォームを0.01にすると対応可能です。

症状
そのままインポートするとアニメーションブループリントは作成されるがメッシュなどが表示されず機能していない。

対処方法

Brender側でやること

バックアップ推奨です。

重なった点をマージ(結合)する。
編集モード > 全て選択(Aキー) > Mキー > 距離で(0)で実行
重なった頂点、辺だけの所が有れば削除されます。

FBX出力時の設定

トランスフォーム
スケール 0.01へ変更
※Blenderで大きさを合わせていない場合
前方の項目を「Yが前方」に「Zが上」
取り込んだ時にメッシュが手間を向いてくれる。

ジオメトリの中スムージングを「面、もしくは辺」に設定してFBXで出力。

 

※トランスフォームのスケールに関してはアニメーションとアーマチュア関連のエラー対策なのでアーマチュア&アニメーションが無い場合は1で大丈夫です。

これでインポートしたボーントランスフォームがオリジナルと異なります。エラーの詳細はアウトプットログで確認してください。の対応ができます。

 

UE4側でやること

インポートするFBXファイルを開いた時の設定です。

インポート時に赤線の所を上の図と同じに変更してインポート。

これでエラーが消えることがあります。
消えない場合はもう一度Blenderにもどってメッシュのチェックを行ってください。

難点

場合によりUEでメッシュが凄く小さくなりますがUE4設定で大きく(トランスフォームのスケール)調整して下さい。

 

 

 

その他のトラブル

テクスチャーがズレる
原因
BlenderのUV展開時に面積が小さとUE4でインポート時にテクスチャーのズレが起きることがあります。

解決法
ズレる所のUV展開のやり直し、面積を大きく取ってください。

アニメーションがインポートされない

Blender側 アニメーションをベイクの全ボーンのキー、NLAストリップ、全アクション、強制的に開始終了キーを挿入にチェック。

アニメーションが固定ポーズの場合で反映されない場合はメッシュとボーンをオブジェクトモードで選択、オブジェクトデータプロパティ、スケルトンの中のポーズ位置になっているかチェック。
レスト位置の場合はアニメが反映されない可能性あり。


UE4側 Inport Animetions にチェックを入れる

 

 

 

公式ドキュメント

UE4インポートの設定の解説ドキュメント
https://docs.unrealengine.com/4.27/ja/WorkingWithContent/Importing/FBX/ImportOptions/