0

互いにほぼ並行して配置された2つのクワッドを描画しています。唯一の違いは、一方が他方よりも垂直方向に高いことです。

カメラが大腿四頭筋に近づくと、すべてがうまく描画されます。

しかし、私が遠くにいると、誰が最初に描くことができるかを確認するために、グラフィックが互いに争っているように見えます。グラフィックの種類は、何が起こっているかを示しています。

黒の床は氷の質感と戦っています。カメラが遠方からズームおよび回転すると、ランダムな線が描画されます。

ブラックラインはそこにあるはずではありません

グラフィックを正しく表示するには、どのような手順を実行する必要がありますか?

4

1 に答える 1

2

この種のことは、深度値の解像度の制限によって引き起こされます。これを回避するためにできることがいくつかあります。

  • 最も可能性が高いのは、「近い」距離と「遠い」距離が不必要に離れて設定されていることです。ファー/ニア比が大きすぎると、ファー クリッピング プレーン付近の深度解像度が悪くなります。ニア/ファー プレーンの固定セットがすべての可能なカメラ ビューを処理できない場合は、カメラの位置またはシーン内の可視オブジェクトに基づいてそれらを動的に調整することを検討できます。
  • 明白なこと: オブジェクトの分離を広げてみてください。場合によっては、サーフェスが互いに近すぎるように指定されていることが問題になることがあります。
  • チート: デプス バイアスを追加して、問題のあるオブジェクトを微調整できます。これはハックで壊れやすいですが、時々うまくいきます。あなたの場合、床は他の何よりも下にあるはずだと思います-実際に下に移動したくない場合は、代わりに深度バイアスを追加できます.
  • 最後の手段: 上記の調整のいずれも不可能な場合は、深度バッファーの解像度を上げる必要があるかもしれません。この点で XNA が何を公開しているのか正確にはわからないので、可能性として言及します。
于 2012-08-17T02:02:47.793 に答える