『Fobia - St. Dinfna Hotel』の開発は、ロードや不自然なカットを一切使わずに、同じ舞台が異なる時代を経て変化する様子を表現するという、ユニークな課題に直面しました。これを実現するため、チームはUnreal Engine 4のダイナミック照明と、テクスチャやジオメトリをリアルタイムで変更するトランジションシステムを組み合わせ、ベースモデリングにはMaya、サーフェスのリアルな経年変化表現にはSubstance Painterを活用しました。
Maya、Substance Painter、Unreal Engine 4間のワークフロー 🛠️
プロセスはMayaから始まり、時代ごとにパーツを交換できるモジュラートポロジーでシーンがモデリングされました。各アセットはSubstance Painterでのテクスチャリングを容易にするために最適化されたUVマッピングが施され、タイムラインに応じて有効化される摩耗、埃、錆のレイヤーが生成されました。Unreal Engine 4では、ダイナミック照明を制御するためにブループリントが実装されました。時代が変わると、ライトが再構成され、テクスチャは不透明度やディスプレイスメントのパラメータを持つマテリアルによって補間されます。コンソールとPCでのパフォーマンスを維持するために、遠方のオブジェクトにはLOD(Level of Detail)が適用され、ダイナミックシャドウの使用は主要な要素に限定され、トランジション中のフレームレートの安定性が優先されました。
インディー開発者への教訓 💡
『Fobia』の解決策は、タイムトラベルに別々のシーンや巨額の予算は必要ないことを示しています。同じベースメッシュを再利用し、視覚的なパラメータのみを変更することで、メモリ消費を削減し、開発を加速できます。同様のプロジェクトでは、各時代をテクスチャとライトのセットに関連付けるデータ構造を初期段階から計画し、ミッドレンジのハードウェアでトランジションをテストして、ホラー体験がパフォーマンスの低下によって中断されないようにすることをお勧めします。
開発者の皆さん、エンジンのパフォーマンスに影響を与えずに、異なるタイムラインを通じてシーンの状態変化を管理するために、Unreal Engine 4でどのようなテクニックを実装しましたか?
(追伸:ゲーム開発者とは、人が2時間でクリアするゲームを作るために1000時間を費やす人のことです)