Unreal Engine 4篇:ジャングルの草木のインタラクションをエンジン上で表現
ジャングル戦の物量としては31カットがカスタムの背景。ほかに47カットはUE4で出力するものの、「背景バンク」素材としてレイヤー分けした素材として扱うことで、リソースの集中と分散のバランスをとっている。また、演出的なオーダーを満たす上では、技術面だけでなく、効率の面でも工夫が施されている。
本プロジェクトにおけるUE4向けの作業マシンはIntel Core i7のマシンにメモリは32GB、グラフィックスボードはGeForce 1070、もしくは1080と、ハイミドルスペックのゲーミングPC程度のマシンパワーでUE4での作業やレンダリングを行なっている。ただし様々な情報を内包できる分、相応にデータ負荷が大きくなるAlembicファイルの扱いをカバーするために、データは基本的にローカルマシンの中から読み出して作業を行なっていた。技術的に新しいことをするにあたって、「まずは設計思想を大切にしていた」という柳野氏。加えて「つくり手の自己満足的な技術の展覧会に陥らないように観客にどう見せたいか?」というアプローチからゲームエンジンの採用を検討してきた。そうした中、UE4に注目した点はリアルタイムに動かせるパワフルな描画処理能力、特にAlembicのデータ表示に優れており、UI自体もアーティストライクな操作感であったことが採用のポイントになったという。
「ゲームエンジンの採用に関してはセンスを発揮する場面で情報量が多い高密度のシーンを、作業者がリアルタイムに操作できる点が非常に強力だと思いました。アニメーターがレイアウトと演技に集中できるというのはやはり嬉しいですね。BGで既存のレンダリングしたものをくり抜くという意味では、ゲームエンジンをもっと取り込んでいきたいという思いもありますし、ゲームエンジンの設計思想を知っていけばエフェクトなども搭載できるのではないかと思っています。デザイナーが直感的に使えるツールであるゲームエンジンをどう使ったらベストな表現ができるのか、今後の進化の肝になるのではないでしょうか」と語る柳野氏。今後の話数でも技術と内容ともに新しい表現も工夫していくとのことだ。少し気が早いかもしれないが、第3話以降ではストーリーもさることながら、3DCGの表現力がどこまで高まるのかも楽しみにしたい。
UE4を活用するワークフロー
本作でUE4を使用したジャングル戦。全体的なワークフローとしては、まずは3ds Maxによる地面の設計と戦車のアニメーションをアニメーターが担当。戦車とキャラクター、砲弾といった主に背景以外の要素を従来どおりに通常の3ds Max上でレンダリングにかける。そこからジャングルの背景部分のみをカスタムツール「MAXtoUE4」にてUE4にエクスポートする。この際に戦車とカメラデータに関しては座標データでエクスポートできるのでFBXデータで。そして、キャラクターや揺れものに関してはAlembicにコンバートしてジオメトリキャッシュとしてエクスポート。それらのデータを中村氏に開発をサポートしてもらった「AIS(Auto Import System)」を使用してUE4上に読み込み、ジャングルの樹木の配置や挙動、履帯処理の設定を施してシーンデータを作成する。最終的には「背景を戦車のマスクで抜く」ので、各マスクやイメージをレイヤーごとに出力して、戦車と背景を合成していくというフローを採用している
実際の作業内容とデータの受け渡し
3ds Max
アニメーション作業
Export
UE4
Import
植林作業
Rendering
After Effects
ディテール落とし
最終コンポジット
アニメーション作業自体は3ds Max上で完結させる必要があり、戦車の挙動やキャラクターに関しても芝居はこの工程で付けてしまう。ジャングル背景の設定をする段階になってこれらの3ds Maxでのアニメーションデータを前 述のカスタムツール「MAXtoUE4」にてエクスポートする。この「MAXtoUE4」は、ただ単に書き出しツールというだけではなく、正確にコンバートする機能を含めており、FBXとAlembicデータの自動切り分けだけでなく、正確なカメラデータの受け渡し、ゲームエンジン特有のスケール・座標系の変換まで開発でサポートしたという。このデータを前述の「AIS」でUE4上に読み込んでシーンを再現して、ジャングルの植林作業と調整を施し、UE4上でリアルタイムにレンダリングされた映像を出力。この際にBlueprintで設定した各レンダーエレメントの素材を自動でふり分けていく。最終的にはアニメーター側で仮のコンポジットまで行なって撮影セクションに渡す。ここまでをCGアニメーター側で行う必要があったので、3ds MaxからUE4の作業まで極力作業者がアニメーション作業に専念できるように、自動化できる部分はツールで自動化し、リグやアセットに至るまでワークフローを工夫したとのこと
キャタピラの跡や押し倒される草の表現
まずはUE4に戦車アセットとジャングルアセットを読み込み、シーンを構築
UE4のフォリッジ機能を使用してジャングルの樹木を配置。フォリッジ機能のペイントブラシで地面をなぞると任意のアセットがランダムに自動で配置されていく。こうした作業はアニメーターが行なっていたのだが、これによりアニメーター目線のセンスを活かしたカメラワークや戦車の軌道、それらを含めたレイアウトを行なうことができる。リアルタイムに背景オブジェクトの配置を行うことができたのもゲームエンジンならではと言える
草木と地面に関しては戦車の履帯で踏み潰された跡が残るようにインタラクティブ処理を仕込んでいる。押しつぶされる地面の草はBlueprintでオブジェクトを処理。地面に残る履帯跡に関しても履帯がヒットした部分を白黒の画像で処理し、ディスプレイメントで凹ませ、さらにディテールを上げるため、履帯跡の画像をハンコを押すようにデカールプリントでテクスチャを貼り込んでいくといった処理をBlueprintでセッティングして、リアルタイム処理を行なっている
草木や落ち葉のアセット一覧
ジャングルの木々のアセットに関しては、落ち葉が8個、石が3個、背の低い草木17個(内8個がフィジックス対応で稼働する骨入り)、樹木が16個、枯れ木18個(樹木と枯れ木はこのうち17本が骨入り)と数多くのアセットを用意している。UE4 マーケットプレイスで購入したアセットのメッシュやテクスチャを改造したもので、ある程度ベースのアセットデータをライセンスクリアな状態で使用できるのも魅力のひとつだったという。前述のようにフォリッジ機能で草木を配置しているが、枯れ枝を樹木に巻きつけて蔦を表現し、UE4のマテリアル内のBlueprintを使い樹木のランダムな揺れも追加している。余談ではあるが、このランダムな表現にノイズ処理を加えているのもゲームエンジンである。UE4がワールドタイムベースで数値を算出しているので、これをゼロから始まるカウントベースに変更して、ランダムの数値が毎回同じデータを出力するようにBlueprint内での書き換えも行なっている
©GIRLS und PANZER Finale Projekt