Ogre的mesh和skeleton資料格式分析

2021-06-20 03:14:58 字數 1170 閱讀 6670

首先看一下skeleton檔案,skeleton檔案描述和記錄了物體的骨骼和動畫情況。

從上圖可以得知,整個skeleton檔案分成了三部分bones,bonehierarchy,animations。

1.bones部分描述了每一塊骨頭的具體情況:

從上圖可知,其實一塊骨頭,實際上真正的有效資料僅是乙個起始位置,和乙個起始的轉向。當然骨骼還包括骨骼的編號和名字這樣的資料。

2.bonehierarchy,即骨骼的繼承關係,描述了骨骼是怎麼樣組成骨架的。

至此skeleton檔案已經完整的描述了一整個骨架。

3.animations動畫集部分。動畫集,由多個動畫組成。  每個動畫由一系列的track組成,每個track由一系列的keyframe組成。乙個track描述了單塊骨頭在每個keyframe所描述的時間點的位移和旋轉。

上圖顯示名為"attack1"的動作,時長為1s, 由多個track組成,其中乙個track所表示的是名為"join1"的骨頭的運動情況。各種keyframe表示在指示時間點的位移和旋轉。

我們再來看看mesh檔案。

..........................

..................................... 

.......................

..................

每個mesh由多個submesh組成,每個submesh由faces部分, geometry 部分,boneassignments部分組成。faces部分用 頂點索引描述了物體的每乙個三角形面。geometry部分由兩個vertexbuffer組成,第乙個描述了每個頂點的座標和法線,每二個描述了頂點的uv,boneassignments部分描述了每個頂點所附著的骨頭組及權重。

OGRE程式載入mesh檔案原理

宣告 本文 ogre資源開放地帶 網,僅留作學習交流之用 原文 建立模型實體 entity entobject mscenemgr createentity object ogrehead.mesh createentity 建立實體 在當前場景中建立乙個實體例項並返回它的物件指標,作為 scene...

Ogre程式載入mesh檔案原理

建立模型實體 entity entobject mscenemgr createentity object ogrehead.mesh createentity 建立實體 在當前場景中建立乙個實體例項並返回它的物件指標,作為 scenemanager 類的乙個成員函式,它有兩個過載 entity o...

Ogre學習筆記(2) Mesh的載入

scenemanager createentity scenemanager createmovableobject movableobjectfactory createinstance entityfactory createinstanceimpl 主要的操作就在這個函式中完成,其中第一步為載...