我有一个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;

            }

10-07 18:21