从 FBX 文件中提取顶点数据?

Posted

技术标签:

【中文标题】从 FBX 文件中提取顶点数据?【英文标题】:Extract vertex data from an FBX file? 【发布时间】:2011-03-08 17:39:12 【问题描述】:

我正在尝试从使用 3ds max 2010 创建的 FBX 文件中提取顶点和 UV 贴图信息。

我能从文件中得到的只有好的顶点和多边形索引数据,但是错误的 UV 贴图。

谁能给我指出一个好的方向或给我一个教程?

【问题讨论】:

解释 UV 贴图的错误之处会有所帮助。 【参考方案1】:

请注意,当您为完全平滑的对象加载法线时,它们的索引与不平滑时的索引不同。

这是我为将 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();

【讨论】:

你能重新发布下载链接吗? Megaupload 已关闭。 对不起,已经有一段时间了,我不再拥有那个源代码,因为我在计算机崩溃中丢失了它。你发现你的问题了吗?

以上是关于从 FBX 文件中提取顶点数据?的主要内容,如果未能解决你的问题,请参考以下文章

顶点动画存储在 FBX 文件中而不使用点缓存?

从 FBX 加载蒙皮信息

在 FBX SDK 中创建点或顶点

为啥maya绑定的模型导出fbx会丢失顶点法线信息?

FBX SDK:如何逐点变换矩阵?

将 FBX 顶点和索引缓冲区导入 DirectX 11