こんにちは、これらの横線の原因は何ですか?? エリア ライトは、緑色の面の上の黄色の四角形です。平面上のエリア ライトの距離に応じて線のパターンが変化しますが、それらは依然として水平線です。
エリア ライト (黄色の正方形のパッチ) の表面に均一に分散された 4 つの点光源があります。
これがどのように見えるかをここで確認できます(16 倍のスーパーサンプリング)。
こんにちは、これらの横線の原因は何ですか?? エリア ライトは、緑色の面の上の黄色の四角形です。平面上のエリア ライトの距離に応じて線のパターンが変化しますが、それらは依然として水平線です。
エリア ライト (黄色の正方形のパッチ) の表面に均一に分散された 4 つの点光源があります。
これがどのように見えるかをここで確認できます(16 倍のスーパーサンプリング)。
それはシャドウ アクネのように見えます: 望ましくないセルフ シャドウイング、近似誤差によるパターン化。完全にシャドウされた領域には線が存在しないことに注意してください。これは、シャドウ システムが緑のプレーンがシャドウにあると誤って「認識」していることを示唆しています。
編集:レイトレーシングを行っているため、問題は、それらを「放出」した平面からの発信シャドウレイと誤って交差している可能性があります。次の提案は、レイ トレーシングではなく、シャドウ マップを使用したラスタライズに適用されますが、それでも参考になる場合があります...
シャドウ マッピングは、最初に各ライトの視点から深度マップを描画し、シャドウ オブジェクトの「シャドウ マップ」を記録することによって機能します。次に、実際の画像を描画するときに、各ピクセルはシャドウ マップからシャドウの深度をサンプリングし、それをピクセル位置のライトから計算された深度と比較します。ピクセルの深度がシャドウの深度よりも大きい場合、シャドウが適用されます。
描画されるオブジェクトがライトに最も近いシャドウ オブジェクトである場合、ピクセル深度はシャドウ深度と同じにする必要があることに注意してください。ただし、サンプリングと浮動小数点の計算は正確ではないため、比較はほぼ等しくなります。そのため、(サンプリングと浮動小数点エラーの気まぐれに基づいて) 一部の時間では、ピクセル深度が同じオブジェクトによって引き起こされる影の深度よりも遠いと見なされます。つまり、オブジェクト自体が影を落とします。
影ニキビを避ける方法はいくつかあります。最も簡単なオプション (そしてシーンにとって明らかな選択) は、シャドウ キャスターのリストからオブジェクトを削除することです。あなたの飛行機は「床」として意図されているように見えるので、とにかく何かを影にすることは想定されていません. これには、すべてのシャドウ マップにフロアを描画するのにかかる時間を節約できるという追加の利点があります...
同じ原則により、オブジェクトが「水密」で、片側の三角形が一貫して外側を向いている場合は、シャドウ マップの三角形の方向テストを逆にする必要があります。これにより、オブジェクトの暗い側 (光とは反対側を向いているため、とにかく完全な影になっています) から影の深さが得られるため、明るい側にニキビが発生することはありません。
両側から見える必要がある平らなオブジェクトがある場合は、影の深さにバイアスを適用できます。通常、グラフィックス ソフトウェアとハードウェアには、これに対する規定があります。残念ながら、これは少し面倒です。バイアスは、サンプリング/計算エラーを隠すのに十分大きくなければなりませんが、他のアーティファクトを引き起こさないほど小さくなければなりません。