3ds文件结构(四)

4.关键帧块

关键帧块:

ID           描述

 B00A        unknown

        7001        看该块的第一个描述而定(译者:完全不知道什么用,从来没在.3ds文件中见过这个块)

 B008        帧数量

 B009        unknown

        B002        开始对象描述

 

其中,B008帧数量块:由8字节组成(unsigned long X 2),开始4个字节描述了开始帧,最后4个字节描述了结束帧。

 

B002物体信息块:

      ID         描述

 B010     名称与层次结构

    B011*    哑元物体命名(译者:也就是不在场景中显示的对象,一般用来对对象分组)

    B013      unknown

    B014*     unknown

 B015      unknown

    B020      物体转轴(中心点)

B021      unknown

    B022      unknown

 

B010名称与层次结构块:

该块由一个以0结尾的字符串开始,中间4个字节(unsigned short X 2)未知,最后2个字节(unsigned short)表示了物体层次结构。物体的层次结构并不复杂,场景中的没一个物体被给予一个数字以表示其在场景树中的顺序。3ds文件中也使用了这种方法来表示在场景中出现的对象在场景树中的位置。作为根的物体被给予数字-1FFFF)作为其数字标识。当读取文件的时候,就会得到一系列的物体数字标识。如果当前数字标识比前一个大,那么当前物体是前一个物体的子物体;如果当前数字标识比前一个小,那么又回到了上层结构。例如:

    物体名称  层次结构

        A      -1

        B       0                  这个例子来自

        C       1                  50pman.3ds

        D       2

        E       1

        F       4

        G       5

        H       1

        I       7

        J       8

        K       0

        L      10

        M      11

        N       0

        O      13

        P      14

      

即:

                                 A

         +-----------------+----------------+

         B                 K                N

    +----+----+            |                |

    C    E    H            L                O

    |    |    |            |                |

    D    F    I            M                P

         |    |

         G    J

 

然而该块并没有结束!

如果一个物体被叫做:$$$DUMMY的话,他就是一个哑元物体!因此你就需要一些额外的数据块了。

B011:哑元物体名称,一个以0结尾的字符串。

B020:物体转轴,仍然不知道前5个浮点数是做什么用的。

开始  结束 大小 类型     描述

       0    3    4  float  unknown

       4    7    4  float  unknown

       8   11    4  float  unknown

      12   16    4  float  unknown

      16   19    4  float  unknown

      20   23    4  float  unknown

      24   27    4  float  转轴Y

      28   32    4  float  转轴X

 

代码占时不贴出来,等我写好demo测试了再贴吧,感觉这个3ds文件挺麻烦的,数据太多了。。。。。呜呜,头大厄!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值