3DCGで何をどう作るか考え中

ZbrushとBlenderの使い方、ヒント、コツなど。たまにZbrushプラグイン開発も。

静止画を作る上でのUE4とBlenderの違い

(約 3,400文字の記事です。)
f:id:yamato-tsukasa:20200223232700j:plain
そもそも動画じゃなくて静止画での比較なの?という部分が気になるだろうが、動画は結局1秒間に数十枚の静止画表現だから、まずは1枚絵の作りやすさで比較してみようと思った。これが改めて両方を使って比べてみると、結構な違いがあった。

DECALmachineのテスト中に感じたこと。

リアルタイムに強いはずのUE4が実は作業が遅い理由

UE4はリアルタイムでサクサクと動画が作れる。実際にレンダリングは尺の実時間程度で出力が終わる。
だが盲点は沢山ある。それは「作品の製作途中の挙動はいちいち遅い」のだ。

まず、マテリアルの設定を煮詰めるときの試行錯誤の遅さ。パラメーターを1ついじるだけで重いシェーダーならば10秒近く待たされる。パラメーターをちょっとでも動かす度に10秒待ち。
イライラするわ(笑)4コア4スレッドのi5マシンでは荷が重い。i9マシンじゃないと辛いのでは?

次に、スタティックメッシュ類のベイク待ち。これもライトマップの解像度が256以上になると重くなり始め、1,024では明らかに重い。1つ2つのメッシュならいいが、複数個になっていくとどんどん重くなる。ちょっとメッシュの位置を変えるだけでベイクし直しだ。また1分ほど待たされる。1分ならまだいい。これがどんどんと作業が進むにつれて重くなることが多い。メッシュが増えて行くし、解像度も上げて試していくからね。

やはりi5マシンでは荷が重い。

……、UE4ってもしかしてめちゃくちゃハードウェアスペックを要求する?へなちょこi5マシンでも動くには動くが、快適とは言えないことに、Blenderと比較してようやく気付いた。UE4学習中はそんなもんだと思っていたし、シェーダーの待ちでYouTubeを見ていたから気にならなかったが、ゼロから作ろうとすると結構イライラする。

BlenderのCycles、うん、やっぱりいいね

f:id:yamato-tsukasa:20200223232950j:plain

十分綺麗だよね?(プリセットのfinal選択時のスクショです。通常はPreviewになってます。そっちは割とざらざら。
f:id:yamato-tsukasa:20200223233125j:plain

他のアドオンの対応上、2.81で作業中だが、2.80の時よりも早く感じる。Cyclesのレンダリングが。気のせいか?何にしてもGPUレンダリングができるのでGTX 1060(6GB)というそこそこのグラボでは快適に動いているように感じる。こちらのスペックもRTX2080とかになったらもっと早いだろうが上を見るときりがない上にお値段もきりがない。GPUが使えるので非力CPUでも遅いとかは感じない。10秒~1分程度で大抵の絵は綺麗なレンダリング結果になる。5分以上の放置では本気の最終出力レベルだ。1枚絵だからそんなものだ。(ただし動画になると×数百倍の待ち時間だから比較にならない。)

マテリアルの変更も即座に反映だ。1,2秒は待ち時間に入らない。マテリアルプレビューでざっくり決めてCyclesのプレビューで確認しながら細部を詰めればいいだろう。

2.83で実装予定のビューポートデノイザー

これに期待している。目の前にあるビューポートのCyclesの絵にもデノイザーが乗っかる。画面が小さいからノイズが目立ちにくい上にそこにデノイズがかかるわけだから、ほぼレンダリング結果をリアルタイム確認できる。F12キーを押さなくても出力が見える。GPUの力を借りれば非力なCPUでも(略

CPUがものを言うUE4、GPUがまともなら割と軽快に動くBlender

完成後のリアルタイム処理に強いUE4、作成中の試行錯誤に強いBlender、という結果に。ただ、UE4の場合、多分CPUが何コアになっても本質的に待ち時間は多めだと思う。UE4の公式チュートリアルでも、使っているPCはかなりのハイスペックなはずだが、割と待ち時間の絵も多い。短くても十数秒だ。i5マシンなら間違いなく1分コース。

対してBlenderはGPUがそこそこならばGPUの力で軽快に動く。CPUの非力さを補える。

試行錯誤に時間を取られるUE4、動画表現のやり直しで時間を取られるBlender

これが今回の結論。UE4というとどうしてもリアルタイム処理の話になりがちだが、実は製作途中の待ち時間が多すぎる。これで納得した部分がある。3dsMaxやSketchUpなどの外部ソフトで作ってDataSmithで持って行くメリットが。UE4で試行錯誤して作ってなどいられない(笑)待ち時間が多すぎる。

そういうわけで、実は作品の環境は外部のDCCで作り、完成型をDataSmithなどでUE4に持って行って細部を仕上げて動画やウォークスルー用アプリに仕上げる、というのが一番楽だろうと感じた。これはさすがに分からなかった。そんな情報がなかったし。

UE4にできること、Blenderでは無理なこと

そもそもBlenderではインタラクティブ性が無理。UE4はゲームエンジンだから当然できる。できることとできないことを比較してもしょうがないので、両者でできる動画表現で考える。完成してしまえば完成品質で見放題&試し放題なUE4。対してBlenderはリアルタイムで見るならばEeveeで簡易プレビュー、本番品質はノイズまみれでカクカクでCyclesにするか、長時間レンダリング&PC放置を繰り返すオーソドックスなスタイル。あるいはピクセル数を落としたミニカードサイズでのプレビューか。

で、静止画表現では?

f:id:yamato-tsukasa:20200223221430j:plain

うん、BlenderのCyclesの圧勝です。マテリアルの質感とか色とかライティングとか配置とか、制作中にたくさん試すことになるわけで、そこをサクサクできるBlenderが有利。加えてGPUがまともならばCPUが非力でも快適に動くのもいい。

加えて、DECALmachineを無理に処理しなくてもそのままでレンダリングできるし。Blender内での処理ならば無理にデカールを1つのテクスチャにベイクする必要もない。やるなら完成後に1回だけだ。

で、シーン全体が完成したらUE4に持って行くのも有りだろうが、それをやるときには静止画目的ではなく、最低でもカメラワークのある動画を出力したくなる場合だろう。静止画だけならCyclesでレンダリングしてしまった方が色々と早い。UE4に持って行って見え方の調整をしてビルドする時間があればかなり高品質な1枚がレンダリングできると思う。

一周回ってスタンダードな結論。BlenderのCyclesで3DCGの基礎を固めた方が楽。ライティングもシンプルだから。EeveeやUE4のようなリアルタイムシェーダーはその次のステップ、応用編と考えたほうがよさそう。まずはきちんとした王道スタンダードなレイトレーシング(ほとんどはパストレーサーですが)の絵作りをした方がいいかもしれない。

注意点
CyclesもEeveeもUE4も、光学シミュレーターじゃないよ。なので必ず演算を簡略化するための独自アルゴリズムが実装されている。だからレンズを作って集光の絵が正しいとかおかしいとかという議論はナシですよ。レンダラーは限られた時間・PC資源でリアルに近い絵を出すための計算機であって、光路をシミュレーションするものとはちょっと違うからね。要注意。


Cyclesの詳細な解説はこちら。

Cycles




今回の創作活動は約3時間30分(累積 約1,479時間)
(527回目のブログ更新)