距离雾XNA 4.0

距离雾XNA 4.0,xna,xna-4.0,Xna,Xna 4.0,我一直在从事一个项目,帮助在笔记本电脑和/或台式机上创建虚拟现实体验。我正在VisualStudio2010上使用XNA4.0。目前的情况是这样的。我已经通过kinect连接了一个人头部的运动。因此,如果此人相对于笔记本电脑向右移动头部,图像中看到的场景会向左旋转,从而产生虚拟漫游或类似通过窗口观看的效果 为了增强视觉吸引力,我想在后平面添加一个暗部。就像这个盒子看起来像个隧道 这个盒子是用三角形条纹做成的。用于长方体平面的基本效果称为效果 effect.VertexColorEnabled =

我一直在从事一个项目,帮助在笔记本电脑和/或台式机上创建虚拟现实体验。我正在VisualStudio2010上使用XNA4.0。目前的情况是这样的。我已经通过kinect连接了一个人头部的运动。因此,如果此人相对于笔记本电脑向右移动头部,图像中看到的场景会向左旋转,从而产生虚拟漫游或类似通过窗口观看的效果

为了增强视觉吸引力,我想在后平面添加一个暗部。就像这个盒子看起来像个隧道

这个盒子是用三角形条纹做成的。用于长方体平面的基本效果称为效果

effect.VertexColorEnabled = true;
        effect.EnableDefaultLighting();
        effect.FogEnabled = true;
        effect.FogStart = 35.0f;
        effect.FogEnd = 100.0f;
        effect.FogColor = new Vector3(0.0f, 0.0f, 0.0f);
        effect.World = world;
        effect.View = cam.view;
        effect.Projection = cam.projection;

编译时,错误与某些法线有关。 我不知道他们这是什么意思。我在互联网上挖得够辛苦的了。(我的第一印象是我会在盒子的背面放一个黑色的泛光灯)

错误附在下面:

“verts”是用于构建长方体的VertexPositionColor[][]

如何解决此错误?方法/方法正确吗

欢迎任何帮助。
谢谢。

您的顶点有位置和颜色通道,但没有法线。。。所以你必须提供顶点

如果不需要颜色,可以使用VertExposionNormalTexture,或者构建一个自定义结构来提供法线


这是您的自定义实现:

您的顶点具有位置和颜色通道,但没有法线。。。所以你必须提供顶点

如果不需要颜色,可以使用VertExposionNormalTexture,或者构建一个自定义结构来提供法线

这是一个自定义实现:

您需要向顶点类型添加法线(矢量3)

此外,如果需要距离雾,则必须编写自己的着色器,因为基本效果仅实现深度雾(虽然看起来不太好,但速度更快)

您需要向顶点类型添加法线(矢量3)

此外,如果需要距离雾,则必须编写自己的着色器,因为BasicFect仅实现深度雾(虽然看起来不太好,但速度更快)