好吧我试图通过应用UV纹理来渲染立方体。在这里,我认为问题出在多维数据集的Draw()
:
foreach (BasicEffect effect in mesh.Effects)
{
effect.EnableDefaultLighting();
effect.Texture = cubeUV;
effect.TextureEnabled = true;
effect.World = transforms[mesh.ParentBone.Index] * Matrix.CreateRotationY(g.modelRotY) * Matrix.CreateRotationX(g.modelRotX) * Matrix.CreateTranslation(g.geoPos);
effect.View = cam.camera;
effect.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f), aspectRatio, 1.0f, 10000.0f);
}
特别是这2行
effect.Texture = cubeUV;
effect.TextureEnabled = true;
当我运行时,我收到此错误
当前顶点声明不包含当前顶点着色器所需的所有元素。 TextureCoordinate0缺失。
我的UV地图像普通Texture2D
一样加载。我的.FBX使用这些步骤从3ds Max 2015导出。
打开3ds Max 2015,制作新项目
制作一个立方体
使用展开UVW 修改器并选择整个多维数据集
进入 UV地图编辑器并展平地图
拍摄地图并在外部图像编辑器中为其着色
打开精简素材编辑器,点击 Arch 和设计按钮,选择默认,点击图片按钮,选择位图,浏览并选择我的彩色地图
将地图材料应用于框。
文件,导出为.FBX
检查嵌入媒体
如果有人能告诉我我在这里失踪了什么,我真的很感激。我认为这与我如何导出.FBX有关。我知道我已经接近了,我终于明白了,我感到非常兴奋。谢谢你的帮助!
使用上面的相同过程,我创建了一个立方体并将其导出为.FBX。然后我去导入我刚刚导出的文件。现在,展开UVW 修改器已从修改器列表中消失。那是我的问题吗?是否与我在.FBX导出菜单上选中的复选框有关?
如果有帮助,我正在尝试执行本教程中描述的相同操作 http://rbwhitaker.wikidot.com/basic-effect
好吧,我获得了一点点。我发现.FBX必须是文本格式。我比较了上面的立方体过程中的.FBX和编辑2的教程中的.FBX。我发现单词纹理出现在编辑2的那个中,并没有出现在立方体版本中。所以我相信我没有正确出口。有人有任何建议吗?