ogre1.6中骨骼动画文件格式

来源:互联网 发布:微信开发 第三方源码 编辑:程序博客网 时间:2024/06/18 18:38

昨天开始研究了一下Ogre的骨骼动画文件格式。

 

骨骼文件主要分四个部分:文件头、主要骨骼数据、所有动画数据、连接


文件头:HEADER_STREAM_ID   2            0x1000
                mVersion                             不定长 [Serializer_v1.10]
                回车                                    1            14h

 

主要骨骼数据:
      分作骨骼、父骨骼2个数据块,然后各自又分作结构相同的多块

        骨骼数据块:

        骨骼数据块依次排列,每个骨骼数据为:
          数据块头          6
             id                2          0x2000
             size             4          数据块头之后的大小-1
          名字                 不定长
          回车                 1
          骨骼句柄        2
          骨骼位置        4*3 vector3
          骨骼四元数 4*4 Quaternion
          如果缩放不为(1,1,1)
          骨骼缩放   4*3 vector3
       
         父骨骼数据块依次排列,每个骨骼数据为:
          数据块头   6
             id               2   0x3000
             size             4   带数据块头的大小=10
          子骨骼     2
          父骨骼     2

所有动画数据:
      动画数据块依次排列,每个动画数据为:
        动画数据块头     6
             id               2   0x4000
             size             4   连数据块头也包括在内
        名字             不定长
        回车             1
        动画长度         4    float

        动画轨道依次排列,每个动画轨道为:
          动画轨道数据块头     6
               id               2  0x4100
               size             4  包括数据块头
          对应的骨骼       2
          关键帧依次排列,每个关键帧为:
              关键帧头     6
                 id               2 0x0001,0x0002....
                 size             4 跟帧数有关
              时间位置     4      float
              旋转         4*4    Quaternion
              移动         4*3    Vector3
              如果关键帧的缩放不为(1,1,1),那么
              缩放         4*3    Vector3
//以前没有
连接数据:
         连接数据依次排列,各连接数据为:
           动画数据块头     6
             id               2  0x5000
             size             4
           名字             不定长
           回车             1
           连接缩放         4       float     

注:所有Real格式都被转化成了float格式存入文件

原创粉丝点击