『デモンエクスマキナ』独特のトゥーン表現やVFXを生み出すための工夫とは。UE4製メカアクションのVFX制作過程【UNREAL FEST】
Epic Games Japanは10月6日、Unreal Engineの公式大型勉強会「UNREAL FEST EAST 2019」をパシフィコ横浜にて開催した。Unreal Engine 4の活用方法を学びたい方向けに無料公開されたイベントであり、当日には同エンジンに関連したさまざまなセッションを聴講することができた。本稿ではそのうち、Nintendo Switch向けのUE4製メカアクションゲーム『DAEMON X MACHINA』(デモンエクスマキナ)の制作過程について語られた「メカアクション『DAEMON X MACHINA』信念と血と鋼鉄の開発事例」セッション「VFX編」の内容をお届けする。VFX編の登壇者は、開発元マーベラスのリードアーティスト菊地悟氏だ。
まずは『デモンエクスマキナ』のビジュアルスタイルとして、トゥーン表現を採用した理由について説明された。メカアクションゲームは金属表現が多いため、フォトリアル路線を選ぶこともできたが、それでは差別化を図れない可能性があるとして、トゥーン表現を採用。トゥーン表現というくくりの中でも、ありきたりなルックスにならないよう、近年見られる精密なアニメーションは回避。80年代のアニメーションやコミックのような、色や明暗がはっきりしたシンプルなビジュアルを目指したとのことだ。
こうしてプロジェクトの方向性を段階的に決めた上で、VFXの方向性模索が始まった。VFXに関しても複雑なつくりは避け、使いやすさと量産しやすさが重視されている。そもそもプロジェクト開始時点でスタッフのほとんどがUE未経験者であり、TA/VFX専任エンジニアは不在。トゥーン表現のVFXを最初から作るのも初めての経験ということで、環境構築も手探り状態だったという。シンプルさや使いやすさを重視した背景には、そうした理由もあったのだ。なおVFXの方向性を決めるにあたって菊地氏は、帰宅後も風呂場での休息時間を使って大量のメカアニメを研究していたとのこと。
VFX制作にあたり大切にした点としては、アクションゲームのアセットとしての機能性、処理負荷軽減、工数削減、トゥーン表現、クオリティ、VFX班内の情報共有が挙げられている。UE4の開発最終バージョンは4.20。ツールはCascade、DCCツールはMaya/3ds Max/Substance Designer/Houdiniを使用していた。
マテリアルの構成検討時には、Epic Games Japanの篠山範明氏による資料「マテリアルとマテリアルインスタンスの仕組みと問題点の共有」(SlideShare)を参考にしたとのこと。またトゥーン表現ならば不透明な描写でも許容できると予測し、ブレンドモードの半透明はあまり使わず、Masked中心にしたという。Translucentほど処理を食わず、描画順をあまり考慮しなくてもよい点も、採用理由として記されている。
なお今回のプロジェクトでは、UE4のバージョンアップ時に苦労しないよう、エンジンのカスタマイズはしないことにしたという(一部のノードはエンジニアが手を入れている)。そしてバージョンアップ時には移行前の環境を残しておくことで、移行後のチェックと洗い出しを実施。結果、開発期間中に経験した計4回のバージョンアップはすべて問題なく移行完了したとのことだ。
続いてVFXアセット紹介として、弾、煙、爆発、スライド移動、範囲、スラスター、地表煙の7つの事例が披露された。
弾
アーセナル(メカ)が発射するミサイルには、六角形のトレイル表現を加えるという工夫がなされた。ミサイルの軌道に記号を足すことで見やすくしている。スナイパーライフルの弾にも、視認性向上のため同様の工夫を当てはめており、四角形のトレイルが付いている。こうして、ミサイルは六角形、スナイパーは四角形、ブリッツは三角形という弾の記号化が図られた。
煙
煙はディゾルブで対応。Color Over LifeモジュールのAlphaカーブを用いることで、直感的なディゾルブ制御を実現したと説明されている。ただUVスクロールの速度を上げるとテクスチャが荒くなる問題が発生。Pannerノードの制御の問題であったため、Material Expression PannerのFractional Partの項目にチェックを入れることで解消したと説明されている。ディゾルブ部分のエッジが汚くなってしまう現象にも悩まされたが、そちらはテクスチャをDXTからGrayScaleに変えることで解決したとのことだ。
またプレイ中に大きな煙が画面を覆ってしまうという問題にも直面。カメラからの距離に応じて煙に穴をあける手法で対処された。アニメの演出のような、煙が風圧で散る雰囲気を出せるという付随効果も得られた。
爆発
爆発表現については、パーツ数が多いと複雑になるだけでなく、長時間プレイして眺めていると目が疲れてしまう。そこで赤熱マテリアルを中心とし、シンプルでスッキリとした表現に調整されていった。アーセナルの墜落時に発生する爆発については、赤熱系の爆発を連続して出すことでボリューム感を強調。撃破時に達成感を得られるようにした。これはアーセナルからパーツや武器を剥ぎ取るという本作の仕様にもマッチしていた。縦長の爆発になり、墜落地点を追いやすくなるからだ。
スライド移動
アーセナルのスライド時のトレイル部分は、トレイルとディゾルブマテリアルを使って表現されている。実機にてトレイルが暴れてしまう現象が発生したが、トレイル終端のスケールアニメーションが影響しているとの原因を特定し、Size by Lifeを消すことで解決した。
範囲
範囲爆発の表現については、実のところ爆発内部はスカスカの状態。あまり多くのリソースを割くことなく、爆発表現に説得力を持たせるよう工夫する必要があった。そこで、着弾時にふきとばし属性を追加。これによりスカスカの中身を見られずに済む。また爆発にモーションブラーをかけることで威力感がアップ。ブラー効果は負荷が高いが、ブラー効果時間を一瞬にとどめることで、許容範囲の負荷におさまった。
回復空間範囲の表現は、半透明の処理負荷を考慮してディゾルブを設定することで負荷削減。回復範囲がわかりやすいよう、干渉した部分を強調するフォースフィールド的な表現を採用している。自機のまわりに展開される粒子兵装シールドに関しては、プレイ中の視認性に影響するため、透明表現を優先している。
スラスター
アーセナルがブーストした際のスラスターは、ブーストの気持ちよさを表現するとともに、クロスフレアを使うことでメカアニメ感を強調。ボリューム型のスラスターもアニメ的な噴射を意識しており、ローメッシュを回転させることで暴れ感を表現している。
地表煙
本作のフィールドは広大かつ高低差があるため、マップ上にときおり表示される地表煙を手動で配置するのは難しいとの結論に。かわりに自動で配置する仕組みが考案された。エミッターをカメラにつけ、コリジョンを設定した見えないパーティクルを上空から降り注ぐのだ。地面に当たった時点で煙のパーティクルが生成されるように仕込まれている(Cascadeのイベントモジュールを利用)。またレベルごとに物理マテリアルIDを設定することで、そのレベルの地表に合った煙を表示。こうして配置コストがなくなり、工数削減に繋がったという。
物理マテリアルとは、たとえば土の地面であれば土煙、砂の地面であれば砂煙が出るといったように、地面の種類によってVFX/SFX表現を変更する仕組みである。この物理マテリアルを仕組み化するにあたっては、4つの条件が必要となる。地形仕様の確定、背景班の地形構成の確定、適用対象VFXの洗い出しと出し分けの想定、そして物理マテリアルIDの決定だ。影響を受ける対象が、アーセナル、アウター、ザコ、ボス、イベント、ギミックと広範囲に渡るため、早期の仕組み化と他チームとの相談が大切だと、菊地氏はアドバイスしている。実際のVFX作成および挙動確認は、背景班が作成した物理マテリアルの確認マップ上で進められた。
なお本作はプレイヤーの武器や敵兵装の種類が多いのだが、当初は似た兵装でも敵機によって別仕様として発注されていたという。美術設定も、銃の口径やスラスターのサイズがバラバラであり、制作効率が悪かった。そこでVFXチームの方から武器やスラスターの規格化を提案したとのこと。他チームだと見落としがちな部分には積極的に提案するというのが、菊地氏のもうひとつのアドバイスだ。ゲーム開発においては、VFXに限らず当てはまる話だろう。
事前に方向性を定め、早期提案と仕組み化を心がけた上で、機能性・処理負荷・表現の独自性を考慮したアセットづくりを進める。こうした計画的な制作工程が、『デモンエクスマキナ』の独自性と実用性をかねたVFXにつながっていたのだ。
*講演動画は以下より視聴可能