アンリアルエンジンを勝手にAAA級ゲームだと思って、場当たり的にクソゲー作って遊んでるド素人がイジってみた記録、というか「この設定ここにあったのか」的なメモを、ネットにタレ流す件。
5.4が出た区切りとして、5.0からのここ2年間で感じたBlender連携周りのまとめ&つまづきポイント&所感。
座標系の差異
共にZが上だが、XとYの方向が異なる。Blenderは右手系、Unreal Engineは左手系と言うらしい。他、各アプリで多種あり(例えばUnityはYが上)。Blender→Unreal EngineへFBX手動インポート時には考慮が必要(公式のSend to Unrealを使った方が良い)。
上記に起因して、Normal Mapが異なる(Gチャンネルの方向)。BlenderはOpenGL系、Unreal EngineはDirectX系となり、2つ用意されている場合は末尾にDX or GLの識別子が付いてる。適正な方を使うか、変換する(UEはオプション有)。
バージョン間の差異
根本的に対応方法が異なるからだ。異なるVerで説明しているドキュメントを見ても永遠に解決しない。
ここ2年における、Unreal EngineとBlenderの更新履歴は以下の通り。
Unreal Engine バージョン履歴
- Unreal Engine 5.0
2022/4/6 - Unreal Engine 5.1
2022/11/16 - Unreal Engine 5.2
2023/5/11 - Unreal Engine 5.3
2023/9/6 - Unreal Engine 5.4
2024/4/24
これら以前に書かれたものは、当時の該当Verで書かれている。
シーケンサー回り(動画作成)の仕様に変動が大きな印象だが、AAAゲームとして遊んでる民としては、動画機能関係はあまりチェックしてない。
Blender バージョン履歴
- Blender 3.0
2021/12 - Blender 3.1
2022/3 - Blender 3.2
2022/6 - Blender 3.3LTS
2022/9/7 - Blender 3.4
2022/12 - Blender 3.5
2023/3 - Blender 3.6LTS
2023/6/27 - Blender 4.0
2023/11 - Blender 4.1
2024/3
2.6系あたりから機能が加速し、v3で成熟してメチャスゴイアプリになった。2024年4月現在、3.6LTSを使ってる、というか推奨(理由は後述)。
Blenderはマイナーバージョン間の差異(2.8、3、4の各Ver内)は割と少ない。ここ数年のv3はレンダー機能とマテリアルに比重を置いてた印象がある。
2系の最後あたりに搭載されたデノイズ機能がすごすぎて、グラボはもう不要になった(あった方が良いが、ほぼnVidia一択なのが・・・)。このため、2系時代(概ね2020年以前)のレンダリング関連情報を見ても、ほぼ意味が無い。
バージョン間で影響が出るポイント
おま環、無知、バグなどがある。あくまで気づいた範囲。個人的なメモ。
Unreal Engineを基準にまとめよう。
Unreal Engine 5.0(Blender 3.1~3.3LTS時代)
これは、前Unreal EngineVer4系との比較である。
- リグのリターゲティング方式が異なる
IKベースになったため、v5系の方がBlenderのRigifyをインポートしやすい - テッセレーションができない
インポート前にDCC(Blender等)側でハイポリ化が必要(逆に言えば、ローポリ最適化が不要になったとアピールしてる件)
大昔から使ってる訳ではないから表現が難しいのだが、誤解を恐れずに書くと、
v4系以前
「ローポリを実行時にテッセレーションで疑似的に滑らかに見せる方式」
v5系
「ハイポリをLOD、カリング、TSRなどで負荷調整する方式」
になった模様。この理由はおそらくLumen+Naniteだから。LumenリアルタイムGI計算とローポリの相性が悪いようだ。レイがポリゴンを貫通する感じ(実際にNaniteで調整なし低ポリを適当に使うとアーティファクトが出やすい印象←前時代の仕組みに最適化されてるせい)。
Unreal Engine 5.1(Blender 3.3LTS~3.5時代)
- コントロールリグ機能が強化
これにより比較的EasyにRigifyの機能を移植できるようになった(らしい、体感では、まったくEasyではないが、確かにノードを組めばBlenderのボーンコンストレイントは作れる) - 機械学習 (ML) Deformerを搭載
Blenderから移植時のBボーン問題が緩和された模様
UE5にはBボーンが無い。そのため単純にBlenderから持っていくと関節がおかしくなる現象が多発する、これをML Deformerで解決できそうな予感がした。
というか、最終的にUEで遊ぶ目的ならばRigifyではなくUE準拠リグで割り当て直し、何らかのアセットのリグ制御を丸乗っ取りした方が楽だと、このあたりで悟る。
Unreal Engine 5.2(Blender 3.3LTS~3.5時代)
細かい機能強化があった。
Apple Siliconネイティブ対応が最大のトピックな印象。各種エディタやパストレーシング機能なども盛られており、BlenderのCyclesレンダー機能、もう不要説が出てくる。
Unreal Engine 5.3(Blender 3.5~4.1時代)
- Lumenの強化と調整と最適化がすごい
処理速度と安定感がすごすぎて、とりあえずLumenオンにしておけば全て解決するレベル(半透明とボケ以外)、これによりBlenderのCyclesレンダーのメリットがほとんど無くなる - Blender4.0+Send to Unreal が動かなくなる
英語圏には強引にソースを書き換える情報(エラー行を全部消す)もあったが・・・しかし、過去の資産が使えなくなるアドオン周りの仕様を変える意味が、正直良く解らないのだが・・・BlenderからUEに移行してほしくないという抵抗かもしれない
UE5.3は、とにかくLumenがすごすぎる。致命的だった半透明とボケ問題が、カメラ距離で自動制御が入るようになり緩和。反射やシャドウ処理も意味が解らないレベルで高速。そのせいか、Blenderで遊ばなくなってきた。ところに、Send to Unreal(BlenderからUEへデータを送るツール)がBlender4.0で動かなくなるという致命的な仕様変更が入る。
他にもBlender4.0でけっこう変更が入った(マテリアル、IFがUE側に寄って来たような印象)ため、2024年4月現在でUEと連携する場合、Blender 3.6LTSを推奨、というより使うしかない。このLTSは本当にLong Termになりそうな予感。
あと、UE5で遊ぶ比重が高くなってる原因に、BlenderがAppleとnVidiaデバイスに寄ってきてる件がある。AMD対応が遅すぎてRadeon使いには無理(おそらくやる気がない、AMDがやる気ない)。
AppleとnVidiaのデバイスはめちゃくちゃ高くて、遊びジャンルと親和性が低い。Unreal Engine + Radeon の方が低コストでより強力に遊べる。
これ、AAAタイトルのゲームだから(違うけど)。
Unreal Engine 5.4
2024/4/24 ついに正式版が出た。
さっそく遊ぼう。
しかしこのAAAゲーム?、ここ10年で最も面白いなぁ。