CarX StreetがPCに登場。Unityエンジンを最大限に活用したストリートレースシミュレーションを提案する。本作はゲームプレイだけでなく、夜の都市環境における視覚的なリアリズムを追求した技術面でも際立っている。その美観の鍵は、Screen Space Reflections(SSR)を使用して車体に動的な反射を生成し、街灯、ネオン、信号機をシミュレートする、非常に作り込まれたポイントライト照明と組み合わせている点にある。
UnityパイプラインにおけるSSR、SpeedTree、Simplygon 🏎️
SSRによるリアルタイム反射により、各車両は静的なキューブマップを必要とせずに、変化する都市環境を映し出すことができる。しかし、この技術はパフォーマンス面で負荷が高い。これに対抗するため、開発チームはSimplygonを使用して、遠くの車や建物のモデルのポリゴン数を削減し、手前の品質を維持している。さらに、ゲームは都市部が舞台だが、SpeedTreeを介して植生も取り入れており、効率的なLODで樹木や低木を生成している。同様の結果を求めるインディー開発者は、影の品質よりもリアルタイムライトの数に優先順位を付け、SSRは金属表面や車の塗装にのみ使用することを推奨する。
夜のレースを目指すインディー開発者への教訓 🌃
CarX Streetは、適切な最適化ツールを適用すれば、Unityがレースジャンルで視覚的に競争できることを示している。主な教訓は、反射を乱用しないことである。SSRを選択的に(車両と水たまりのみに)適用することで、リソースを節約できる。同様に、高ポリゴンのアセットにはSimplygonを、有機的なディテールにはSpeedTreeを組み合わせることで、フレームレートを犠牲にすることなく、活気ある都市を維持できる。インディー開発者にとっては、固定された昼夜サイクル(夜間のみ)から始めることで、照明の複雑さが軽減され、都市の反射の品質に集中できる。
PC版CarX StreetがリアルタイムSSR反射を使用していることを考慮すると、Unityは、密集した都市環境でフレームレートを損なうことなく、これらの反射の計算コストと動的な夜間照明をどのように管理しているのだろうか?
(追記:モバイル向けに最適化するのは、象をミニクーパーに詰め込もうとするようなものです)