【发布时间】:2013-09-01 07:12:03
【问题描述】:
这是这个问题的后续:Odd geometry with 3D models XNA + Blender
我在帮助下成功解决了这个问题,但我遇到了一个新问题。模型是透明的,即使它们不在 Blender 中。
我现在知道这可能与搅拌机有关,而不是 XNA,但我仍然很困惑,我在其他任何地方都找不到可靠的答案。
【问题讨论】:
这是这个问题的后续:Odd geometry with 3D models XNA + Blender
我在帮助下成功解决了这个问题,但我遇到了一个新问题。模型是透明的,即使它们不在 Blender 中。
我现在知道这可能与搅拌机有关,而不是 XNA,但我仍然很困惑,我在其他任何地方都找不到可靠的答案。
【问题讨论】:
我不确定什么是看起来透明。我看到的是把手画在枪管前面,对我来说这意味着绘制顺序不正确 - 你应该先把把手然后枪管拉到它的顶部。
我对 xna 不熟悉,但在您之前的问题中,您似乎只是按照给您的顺序绘制每个对象,我要检查的一件事是对象起源,它们可能会影响绘图顺序。在搅拌机中选择对象并按 ShiftCtrlAltC(也可从 Object->Transform 菜单获得)并选择原点到几何。否则请考虑确定对象的排序顺序。
如果您确实有一些透明的面,那么一种可能性是法线朝向错误的方向,通常只绘制面的一侧。在编辑模式下选择全部并 CtrlN 重新计算法线,CtrlShiftN 会以相反的方式计算。
blender 也有它自己的stackexchange site now,您应该在那里找到更多针对blender 的帮助。
【讨论】:
这不是透明度问题...这是绘制顺序问题...
如果启用深度缓冲区,它将被很好地绘制。
在绘制模型之前添加:
GraphicsDevice.DepthStencilState = DepthStencilState.Default;
【讨论】: