0

XNA で地形衝突を実装しようとしているので、計算が正しいかどうかをテストできる動的テキストを追加しました。私が呼び出すまで、すべてがうまくレンダリングされました:

spriteBatch.Begin(); spriteBatch.End();

また

spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend); spriteBatch.End();

これらの手順では、地形が少しグリッチします。コードからこれらの 2 行を削除すると、すべてが正常に戻ります (ただし、HUD を描画できないことを意味します)。

何が原因なのか、どうすれば修正できるのか、誰にも手がかりがありますか?

画面:

スプライトバッチをオンにして

スプライトバッチオフで

4

1 に答える 1

0

スプライトバッチがグラフィックスデバイスの状態を変更するためです...

地形を描画する前に、適切なレンダーステートを保存する必要があります...

通常、正しい RasterizerState と DepthStencilState を設定する必要があります。

一般的な値は RasterizarState.CullNone と DepthStencilState.Default です。

于 2013-05-09T00:52:20.677 に答える