最近学习fbx sdk,算是学习笔记吧
1.如何得到node的变换矩阵
KFbxNode myNode; // A properly initialized node object
// Get the node’s default TRS properties
fbxDouble3 myNodeLclTranslation = myNode->LclTranslation.Get();
fbxDouble3 myNodeLclRotation = myNode->LclRotation.Get();
fbxDouble3 myNodeLclScaling = myNode->LclScaling.Get();
文档里面有说明,这个得到的节点是local节点,local节点是相对于parenet节点的,很多引擎的场景管理都是采用这样的方式
2. 如何得到node的全局变换矩阵
KFbxAnimEvaluator* mySceneEvaluator = myScene->getEvaluator();
// Get node’s default TRS properties as a transformation matrix
KFbxXMatrix& myNodeDefaultGlobalTransform =
mySceneEvaluator->GetNodeGlobalTransform(myNode);
// Get transform containing node’s actual TRS properties at a point in time
Ktime myTime; // Defaults to myTime=0
KFbxXMatrix& myNodeActualGlobalTransform =
mySceneEvaluator->GetNodeGlobalTransform(myNode, myTime);
今天就大概写写,很多年都没有更新blog了,
本文是学习FBX SDK的初步记录,主要介绍如何获取FBX节点的局部和全局变换矩阵。通过KFbxNode对象的LclTranslation、LclRotation和LclScaling属性可以得到局部变换,结合KFbxAnimEvaluator可以获取全局变换矩阵,这对于理解在引擎中如何处理场景管理至关重要。

9234

被折叠的 条评论
为什么被折叠?



