我有一个FBX文件,该文件已在maya中添加了自定义属性。
使用FBX SDK,我尝试加载网格并检索这些属性。
我有:
FbxNode* lRootNode = lScene->GetRootNode();
if (lRootNode) {
for (int i = 0; i < lRootNode->GetChildCount(); i++)
{
FbxProperty p = lRootNode->GetChild(i)->FindProperty("UDPMAYA", false);
if (!p.IsValid())
std::cout << "found prop" << std::endl;
PrintNode(lRootNode->GetChild(i));
}
}
“UDPMAYA”可能是错误的,我从发现的“UDP3DSMAX”示例中推断出...
我在文档中找不到任何可以解释这一点的信息,如何将自定义属性从Maya转换为fbx sdk?
最佳答案
像这样:
#define PROPERTY "attribute_name"
FbxMesh* pMesh = (FbxMesh*)pFbxChildNode->GetNodeAttribute();
FbxProperty p = pFbxChildNode->FindProperty(PROPERTY, false);
if (p.IsValid())
{
std::string nodeName = p.GetName();
std::cout << "found property: " << nodeName <<std::endl;
}