对象
创建对象¶
类FbxManager用于内存管理,管理Fbx的相关资源。
//创建一个管理者
FbxManager* lSdkManager = FbxManager::Create();
//创建新对象
//1. 第一个参数:父节点指针
//2. 第二个参数:名称
FbxScene* lScene = FbxScene::Create(lSdkManager, "Scene Name");
//由于场景是根节点,需要使用FbxManager来创建,所以第一个参数为FbxManager
//创建一个节点对象,其父节点为lScene
FbxNode* lNode = FbxNode::Create(lScene , "node");
//创建一个网格对象,其父节点为lScene
FbxMesh* lMesh = FbxMesh::Create(lScene , "Mesh");
//销毁
lMesh->Destroy(); // 销毁网格
lNode->Destroy(); // 销毁节点
lScene->Destroy(); // 破坏场景和它的对象
lSDKManager->Destroy() // 销毁SDK管理器和它管理的任何剩余对象。
可以通过调用FbxObject::GetFbxManager()
来检索用于实例化FbxObject
的管理者
举例:FbxImporter(FbxImporter->FbxIO->FbxObject)
FbxImporter* pImporter;
FbxManager* lSdkManager = pImporter->GetFbxManager();
//获得创建pImporter的FbxManger
复制一个对象¶
// 假设lScene是一个指向有效Scene对象的指针。
FbxMesh* lSourceMesh = FbxMesh::Create (lScene, "");
// 为lSourceMesh定义控制点等
FbxMesh* lTargetMesh = FbxMesh::Create (lScene, "");
//将数据从lSourceMesh复制到lTargetMesh
lTargetMesh->Copy(lSourceMesh);
//源对象和目标对象必须是实例相同的类
注意:复制,只会复制它和它的属性,不会复制到与其他人的关系
- 复制FbxObject,还将复制它所有关联的FbxProperty实例和值
- 但不会复制它任何对象间的连接(例如,父-子关系)