BVH文件

關於BVH文件需要做一些說明,BVH是以歐拉角表示人體關節的旋轉的。既然是旋轉,必須要有一個初始骨架,根據它進行關節旋轉,這也稱爲Tpose。Tpose可以通過BVH文件的OFFSET部分確定的,需要強調的是,每個關節都有自己的局部座標系且在Tpose中,所有關節的局部座標系的朝向一致,與世界座標系的朝向也是一致的。那麼,Tpose的根關節的OFFSET通常是(0.00,0.00,0.00)表示根關節沿着世界座標系的X軸、Y軸和Z軸的平移量,根關節和世界座標系是重合的(不但朝向一致,原點位置也是一致的)。Tpose的其他關節(非根關節)的OFFSET表示該關節的局部座標系的原點相對於父關節的座標系的原點的偏移(也可以這麼說:該關節在父關節所在局部座標系的位置)。

Tpose確定後,怎麼表示所有關節的旋轉呢?

根據CHANNELS,通過數據部分對應的channels值表示每個關節的旋轉。每一幀表示一個pose,每一幀都是相對於Tpose旋轉的。所以只需要理解第一幀怎麼旋轉,其他幀都是一樣的道理。根關節有6個channels,前3個表示新幀的根關節座標系原點相對於Tpose的根關節的座標系的原點沿着X軸、Y軸和Z軸的偏移(也可以這麼說:新幀的根關節相對於Tpose移動的位置)。後3個channels表示將根關節所在局部座標系按照順序(順序是指定的)旋轉,然後計算子關節在父關節旋轉後的座標系中的新位置,這也是子關節旋轉後的位置。在此強調最重要的一點,當前關節的局部座標系旋轉是不會影響自己的,只會影響子關節位置的計算。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章