如何将3ds max中的.fbx正确导出到xna

时间:2015-03-23 21:49:45

标签: c# 3d xna 3dsmax fbx

好吧我试图通过应用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导出。

  1. 打开3ds Max 2015,制作新项目

  2. 制作一个立方体

  3. 使用展开UVW 修改器并选择整个多维数据集

  4. 进入 UV地图编辑器并展平地图

  5. 拍摄地图并在外部图像编辑器中为其着色

  6. 打开精简素材编辑器,点击 Arch 设计按钮,选择默认,点击图片按钮,选择位图,浏览并选择我的彩色地图

  7. 将地图材料应用于框。

  8. 文件导出为.FBX

  9. 检查嵌入媒体

  10. 如果有人能告诉我我在这里失踪了什么,我真的很感激。我认为这与我如何导出.FBX有关。我知道我已经接近了,我终于明白了,我感到非常兴奋。谢谢你的帮助!

    编辑:

    使用上面的相同过程,我创建了一个立方体并将其导出为.FBX。然后我去导入我刚刚导出的文件。现在,展开UVW 修改器已从修改器列表中消失。那是我的问题吗?是否与我在.FBX导出菜单上选中的复选框有关?

    编辑2:

    如果有帮助,我正在尝试执行本教程中描述的相同操作 http://rbwhitaker.wikidot.com/basic-effect

    编辑3:

    好吧,我获得了一点点。我发现.FBX必须是文本格式。我比较了上面的立方体过程中的.FBX和编辑2的教程中的.FBX。我发现单词纹理出现在编辑2的那个中,并没有出现在立方体版本中。所以我相信我没有正确出口。有人有任何建议吗?

0 个答案:

没有答案