『Suicide Squad: Kill the Justice League』のリリースは、Rocksteadyにとって大きな技術的課題を提起しました。それは、以前のタイトルのナラティブ品質を大規模なオープンワールドで維持することです。使用されているエンジン、Unreal Engine 4は、活気あふれるメトロポリスを構築する基盤ですが、真の成果は、閉鎖的で直線的なステージから、キャラクターのディテールを犠牲にすることなく、生き生きと反応する都市への移行をスタジオがどのように管理したかにあります。
フェイシャルアニメーションと都市ストリーミングの最適化 🎭
最大の技術的課題は、通常は相反する2つのシステム、すなわち大規模な都市のレンダリングと高忠実度のフェイシャルアニメーションの共存でした。カットシーンでは、RocksteadyはUnreal Engine 4で高密度のブレンドシェイプとフェイシャルボーン(ジョイント)ベースのリギングを組み合わせたフェイシャルキャプチャシステムを実装し、プリレンダリングを必要とせずにマイクロエクスプレッションを可能にしました。しかし、これをオープンワールドでスムーズに維持するために、スタジオはデータストリーミングシステム(HLOD)を採用し、カメラがキャラクターに近づくと肌や目のテクスチャの読み込みを優先し、バックグラウンドで都市のLODを積極的にアンロードします。鮮やかな昼間の照明は、動的な指向性ライトシステムによって実現され、常時存在する塵や煙のパーティクルと相互作用し、レンダリングパイプラインを崩壊させることなくメトロポリスのスモッグをシミュレートしています。
密集環境におけるパフォーマンスのジレンマ ⚙️
進歩にもかかわらず、このゲームは現在の開発における厄介な真実を露呈しています。それは、映画のような品質とリアルタイムのゲームプレイの間の境界線が依然として曖昧であることです。主人公たちのボディアニメーションは滑らかで反応が良い一方で、街のNPCや交通は、60FPSを維持するために明らかにアニメーションのレートが低下しています。Rocksteadyが群衆のシミュレーションよりも常時パーティクルエフェクト(爆発、破片)を優先した決定は、詳細なヒーローが登場するオープンワールドを実現するには、環境AIの犠牲が依然として技術的に最も実行可能な道であることを示唆しています。
Unreal Engine 4が、マルチプレイヤー戦闘の滑らかさを損なうことなく、『Suicide Squad』のような詳細なオープンメトロポリスをレンダリングする際に、パフォーマンスの低下を避けるためにテクスチャとアセットの動的読み込みをどのように処理するか
(追記: モバイル向けに最適化するのは、ゾウをミニクーパーに詰め込もうとするようなものです)