在XNA中绘制3D模型的顺序

dsk*_*dsk 3 xna

我在XNA中以正确的顺序绘制3D模型时遇到了麻烦.

以下是描述问题的两个图像:

PIC1:http://imgur.com/wGPIk&L5AY1l PIC2:http://imgur.com/wGPIkl&L5AY1

球向下移动,一旦与地形相交,视角就会发生变化,看起来好像球在地形后面.

如果我改变了绘图的顺序,它看起来就像球一直在地形的顶部.

有人可以解释一下如何解决这个问题吗?

提前致谢

3Da*_*ave 10

问题是SpriteBatch调用在角落绘制你的FPS计数器.

SpriteBatch更改图形设备的状态.无论何时绘制2D对象(在本例中为左上角的帧速率计数器),都需要恢复设备状态.

调用后SpriteBatch.End(),添加以下代码:

device.DepthStencilState = DepthStencilState.Default;
Run Code Online (Sandbox Code Playgroud)

在哪里device引用GraphicsDevice你正在绘制的电流.