对象特性
1、管理特性
FbxProperty模板类是为了保证FbxObject能够非常规范。举个例子,FbxNode就是由FbxTypedProperty(用FbxDouble3参数化描述)来表示的。
当一个FbxObject被创建时,它在FbxProperty中创建的静态数据会被自动初始化。那么为了创建自己的FbxProperty,我们必须点哟FbxProperty::Create(),用户创建的特性包含用户自己定义的数据,这些数据可以和FbxObject动态联系在一起。下面是一段调用代码(第一个参数是FbxScene对象,第二个参数是特性的类型,第三个参数是特性的名字):
FbxProperty p = FbxProperty::Create(pScene, DTDouble3, "Vector3Property");
FbxSet<FbxDouble3>(p, FbxDouble3(1.1, 2.2, 3.3);
FbxProperty对象可以通过FbxProperty::GetName()来查找,但是必须要在同一层次中进行。FbxPoperty中的实例可以通过FbxProperty::Destroy()来销毁。一个层级的FbxProperty可以在根特性(也是一个FbxProperty对象)中通过调用FbxProperty::DestroyRecursively()来销毁。
2、特性数据
FbxProperty的实例中的数据可以通过FbxProperty::Get()和FbxProperty::Set()分别来写和读。比如,FbxNode图形转换信息可以这样读取:
// ... initialize FbxNode* lNode ...
FbxDouble3 translation = lNode->LclTranslation.Get();
FbxDouble3 rotation = lNode->