【发布时间】:2011-03-08 17:39:12
【问题描述】:
我正在尝试从使用 3ds max 2010 创建的 FBX 文件中提取顶点和 UV 贴图信息。
我能从文件中得到的只有好的顶点和多边形索引数据,但是错误的 UV 贴图。
谁能给我指出一个好的方向或给我一个教程?
【问题讨论】:
-
解释 UV 贴图的错误之处会有所帮助。
标签: opengl direct3d 3dsmax fbx
我正在尝试从使用 3ds max 2010 创建的 FBX 文件中提取顶点和 UV 贴图信息。
我能从文件中得到的只有好的顶点和多边形索引数据,但是错误的 UV 贴图。
谁能给我指出一个好的方向或给我一个教程?
【问题讨论】:
标签: opengl direct3d 3dsmax fbx
请注意,当您为完全平滑的对象加载法线时,它们的索引与不平滑时的索引不同。
这是我为将 FBX 文件加载到系统内存中所做的一些代码的链接...认为它可能会有所帮助您想查看“MedelProcess_Mesh.cpp”顺便回答一些您可能遇到的问题。希望这会有所帮助,记住我没有动画支持。
简单的答案::
对于 UV。
int uvIndex1 = mesh->GetTextureUVIndex(polyIndex, 0);
int uvIndex2 = mesh->GetTextureUVIndex(polyIndex, 1);
int uvIndex3 = mesh->GetTextureUVIndex(polyIndex, 2);
KFbxVector2 uv1 = uv->GetAt(uvIndex1);
KFbxVector2 uv2 = uv->GetAt(uvIndex2);
KFbxVector2 uv3 = uv->GetAt(uvIndex3);
对于垂直。
int vertexCount = mesh->GetControlPointsCount();
KFbxVector4* vertexArray = mesh->GetControlPoints();
【讨论】: