FBX動畫載入功能 程式實現(一)
阿新 • • 發佈:2019-02-02
FBX 動畫資料結構
解釋
FbxScene
一個場景包含一個或者跟多的動畫棧。如過在場景中沒有動畫,那麼你將不需要用到動畫棧或者其他動畫類成員
FbxAnimStack
動畫棧是用來包含一個或者多個動畫圖層的最高等級的容器
FbxAnimLayer
一個動畫圖層包含一個或者多個關聯著動畫曲線的動畫曲線節點。一個動畫棧必須至少有一個動畫圖層作為一個基礎圖層。為了混合動畫,
需要一個或者跟多的圖層。
FbxAnimCurve
一個動畫曲線,也就是一個曲線函式或者一個動畫圖層中不同的預設值。動畫曲線與動畫曲線節點關聯。同一個動畫曲線可以被關聯到多
個動畫曲線節點作為相關的FBX屬性。所以,一個動畫曲線可以動畫化許多FBX物件的FBX屬性。動畫曲線的值取決於FBX屬性型別與在 應
用中是否可用
動畫曲線不是強制性的。為了節約記憶體和處理時間快慢,fbx屬性將不會被動畫化,也不會保留動畫曲線。
FbxAnimCurveNode
一個動畫曲線的節點是連結一個點連結動畫曲線與fbx屬性。為了連結一個動畫曲線到fbx屬性。你可以連結動畫曲線與動畫屬性到一個動畫節點。
一個動畫曲線節點僅僅能關聯一個fbx物件的一個fbx屬性。FBX屬性例如FbxNode::LclTranslation包含超過一個(xyz)值。如果你建立一個動畫曲線節點通過呼叫
FbxAnimCurveNode::CreateTypedCurveNode,你必須指定一個你所需要的資料型別的一個FBX屬性,例如,在 LclTranslation中的函式CreateTypedCurveNode建立一
個帶有必有的動畫動畫曲線節點。在這個例子中,管道有x
y z 然而,動畫曲線節點事實上不需要關聯一個指定的fbx屬性。具體可參看<yourFBXSDKpath>\samples\Animation\.
允許同一個fbx屬性擁有不同的值在每一個動畫圖層中,一個動畫曲線節點必須連結一個簡單的動畫圖層。如果一個相同的動畫曲線節點關聯多個圖層,那麼相同的值被用於每一個圖層的fbx屬性中。
FbxAnimCurveKey
一個鍵或者一個關鍵幀用來標記一個動畫曲線的開始於結束
FbxObject
一個Fbx物件能包含0個或者更多的Fbx屬性,FbxNode類包含處理位置的在空間作為一個點的物件中屬性
FbxProperty
一個FBX屬性是一個健壯的型別資料屬於一個FBX物件,為了動畫化一個場景,你可以設定一個適合的FBX屬性(LclTranslation是最重要的共有屬性)被包含在FBX對物件中。