TL;DR
Ray-Traced Reflectionsのみを有効にするのがオススメ。
Ray-Traced Reflections
鏡面反射による周囲の映り込みがレイトレースで処理されるようになる。
これまでのラスタライズでは、環境マッピングやScreen Space Reflectionsなどで映り込みが処理されていたのだが、どの方法も一長一短で前者はリアルタイムでのデータ更新が難しく、後者は視界外の物体は映り込みようがないという欠点がある。リアルタイムで現実的に実行できるようになったレイトレースではこういった欠点は無く、原理的に視界外や遮蔽された動的な物体の映り込みを実現できる。
Ray-Traced Reflections ON:
Ray-Traced Reflections OFF (Screen Space Reflections):
比較:
しかし、Cyberpunk 2077はパフォーマンスの都合上なのか、Ray-Traced Reflectionsにおいてもキャラクターなどの動的な物体は視界外に出るとカリング(非表示)されてしまうようだ。折角のレイトレースである恩恵が一つ無くなってしまっている。
以下は、Ray-Traced Reflectionsが有効な状態で上記の図のカメラを下にパンしてキャラクターを視界外にしたときの図だが、キャラクターは消えて持っているバットだけが宙に浮いて映り込んでいる。
また、Cyberpunk 2077ではRay-Traced Reflectionを有効にすると、Screen Space Reflectionsは必要なくなるため、適用されなくなる。そちらの設定を変更しても見た目やパフォーマンスに変化は無い。
Ray-Traced Shadows
影(落ち影)がレイトレースで処理されるようになる。
具体的にはソフトシャドウが距離が遠い物体の影はよくぼけて、近くの物体の影はあまりボケなくなる。これまでのShadow Mapでもそういう距離に応じたソフトシャドウ処理はあるのだが、Ray-Traced Shadowsでは”パラメータが適切であれば”、以前の方法よりも理にかなった影になる。
Cyberpunk 2077ではおそらく平行光源のみ、通常は太陽光のみがRay-Traced Shadowsで処理されているようで、スポットライトなどの局所的な光源によって生じる影は変化が無く、適用されていないように見える。
Ray-Traced Shadows ON:
Ray-Traced Shadows OFF (Shadow Map):
上の図は太陽光からの影だが、この影は主観的な感覚ではボケ過ぎているようにも見える。太陽光のレイトレースでのソフトシャドウは地球からの見かけ上の太陽の大きさによって影のボケ幅は変わってくるが、それが適切に設定されているのかどうかは解析しないと分からない。基本的にShadow Mapよりもディティールが失われがちなので、個人的にはShadow Mapの方が好みの状況が多い印象だ。
Ray-Traced Lighting
これは実際に内部処理を覗いてみないと確証が無いのだが、恐らく間接照明(Indirect Illumination)と遮蔽(Ambient Occlusion)がレイトレース処理されるようになると思われる。
これまでのラスタライズでは、間接照明はライトマップやSHなどの事前計算によるものと、最近ではさらにいくつかリアルタイムな方法を組み合わせている。遮蔽も事前計算やリアルタイムなScreen Space Ambient Occlusionなどを組み合わせていて、いずれも一長一短である。レイトレースでは間接照明も遮蔽も正攻法で求めることができる。
Ray-Traced Lighting ON:
Ray-Traced Lighting OFF:
比較:
間接照明は、特に電光板の発光体の照り返しが分かりやすく、遮蔽は車両の下が分かりやすいだろう。こちらも、Ray-Traced Lightingが有効になっている場合、Screen Space Ambient Occlusionは適用されなくなるようだ。
個人的には、Ray-Traced Lightingの有無で”より正確な”ライティングに切り替わっているかどうかというのは、Ray-Traced ReflectionsやRay-Traced Shadowsに比べて気が付きにくい。直接照明が間接照明よりも支配的な状況ではその影響度はさらに小さくなるだろう。
また、例えばJudyのバンに乗り込んだ時に遭遇したが、予期していない発光体と光源の所為か、明らかに不自然なライティングになっているシーンも見られた(画像無し…)。