位置: 编程技术 - 正文

3DS 文件格式(3ds怎么用3ds格式)

编辑:rootadmin

推荐整理分享3DS 文件格式(3ds怎么用3ds格式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:3ds文件格式用什么软件打开,3ds文件格式用什么软件打开,3ds怎么用3ds格式,3ds格式文件用什么打开,3ds文件格式用什么软件打开,3ds格式文件用什么打开,3ds格式文件用什么打开,3DS文件格式适用领域,内容如对您有帮助,希望把文章链接给更多的朋友!

3DS 文件&#;式  

1、读取规则 3ds文件的读取规则如下:

字节:直接读取;

字:先读低位字节,后读高位字节,如ed 3c读出后的字为3c ed;

双字:先读低位字,后读高位字,如ed 3c 读出后的双字为 3c ed;

浮点数:直接读取四个字节。

2、CHUNK

chunk是3ds文件的基本构成单位。每一个chunk包括一个头和一个主体。chunk是相互嵌套的,这就决定了你必须以递归的方式读取它们。chunk的头又由两部分组成:ID长一个字,chunk的长度(以字节为单位,包括头)长一个双字。ID表示chunk的含义。事实上有上千个chunk,它们构成了一个复杂但灵活的文件系统,你不需要知道所有的就可以顺利的读完整个文件。我基本搞清楚的chunk有:

0x4D4D:根chunk,每一个3ds文件都起自它,它的长度也就是文件的长度。它包含了两个chunk:编辑器,和关键帧。

父chunk:无

子chunk:0x3D3D、0xB

长度:头长度&#;子chunk长度

内容:无

0x3D3D:编辑器主chunk,它包含有:网&#;信息、灯光信息、摄象机信息和材质信息。

父chunk:0x4D4D

子chunk:0x、0xafff

长度:头长度&#;子chunk长度

内容:无

0x:网&#;主chunk,它包含了所有的网&#;。

父chunk:0x3D3D

子chunk:0x

长度:头长度&#;子chunk长度&#;内容长度

内容:名称(以空字节结尾的字符串)

0x:网&#;信息,包含网&#;名称、顶点、面、纹理坐标等。

父chunk:0x

子chunk:0x、0x、0x、0x

长度:头长度&#;子chunk长度

内容:无

0x:顶点信息。

父chunk:0x

子chunk:无

长度:头长度&#;内容长度

内容:顶点个数(一个字)顶点坐标(三个浮点数一个坐标x、y、z,个数*3*浮点数)

0x:面信息。

父chunk:0x

子chunk:0x

长度:头长度&#;子chunk长度&#;内容长度

内容:面个数(一个字)顶点索引(三个字一个索引1、2、3,个数*3*字)

0x:与网&#;相关的材质信息。

父chunk:0x

子chunk:无

长度:头长度&#;内容长度

内容:名称(以空字节结尾的字符串)与材质相连的面的个数(一个字)与材质相连的面的索引(个数*字)

0x:纹理坐标。

父chunk:0x

子chunk:无

长度:头长度&#;内容长度

内容:坐标个数(一个字)坐标(两个浮点数一个坐标u、v,个数*2*浮点数)

0x:转换矩阵。

父chunk:0x

子chunk:无

长度:头长度&#;内容长度

内容: x轴的向量(三个浮点数u、v、n) y轴的向量(三个浮点数u、v、n) z轴的向量(三个浮点数u、v、n)源点坐标(三个浮点数x、y、z)

0xafff:材质信息。

父chunk:0x4D4D

子chunk:0xa、0xa、0xa

长度:头长度&#;子chunk长度

内容:无

0xa:材质名称。

父chunk:0xafff

子chunk:无

长度:头长度&#;内容长度

内容:名称(以空字节结尾的字符串)

0xa:满射色。

父chunk:0xafff

子chunk:0x、0x

长度:头长度&#;子chunk长度

内容:无

0xa:纹理帖图。

父chunk:0xafff

子chunk:0xa

长度:头长度&#;子chunk长度

内容:无

0xa:帖图名称。

父chunk:0xa

子chunk:无

长度:头长度&#;内容长度

内容:名称(以空字节结尾的字符串)

3DS 文件格式(3ds怎么用3ds格式)

0xB:关键帧主chunk,包含所有的关键帧信息。

父chunk:0x4D4D

子chunk:0xB、0xB

长度:头长度&#;子chunk长度

内容:无

0xB:关键帧的起点和终点。

父chunk:0xB

子chunk:无

长度:头长度&#;内容长度

内容:起始帧(一个双字)结尾帧(一个双字)

0xB:网&#;的关键帧信息。

父chunk:0xB

子chunk:0xB、0xB、0xB、0xB、0xB、0xB、0xB

长度:头长度&#;子chunk长度

内容:无

0xB:关键帧的层次信息,包括名称和上一级关键帧的索引,名称与它指向的网&#;名称一致。

父chunk:0xB

子chunk:无

长度:头长度&#;内容长度

内容:名称(以空字节结尾的字符串)两个未知的字上一级关键帧的索引(一个字)

0xB:关键帧的dummy名称,我不知道dummy在这里的具体含义,但只要你在上一个chunk中读到的名称是“$$$DUMMY”那么你就要到这里来读它真正的名称。因为这说明它指向的不是网&#;而是虚拟的组。

父chunk:0xB

子chunk:无

长度:头长度&#;内容长度

内容:名称(以空字节结尾的字符串)

0xB:支点坐标。

父chunk:0xB

子chunk:无长度:头长度&#;内容长度

内容:三个浮点数x,y,z

0xB:移动的关键帧信息。

父chunk:0xB

子chunk:无

长度:头长度&#;内容长度

内容:五个未知的字帧个数(一个字)一个个数那么多的循环结构{ 帧索引(一个字)一个未知的双字移动的向量(三个浮点数x,y,z) }

0xB:转动的关键帧信息。

父chunk:0xB

子chunk:无

长度:头长度&#;内容长度

内容:五个未知的字帧个数(一个字)一个个数那么多的循环结构{ 帧索引(一个字)一个未知的双字转动角度(一个浮点数)绕之转动的向量(三个浮点数x,y,z) }

0xB:缩放的关键帧信息。

父chunk:0xB

子chunk:无

长度:头长度&#;内容长度

内容:五个未知的字帧个数(一个字)一个个数那么多的循环结构{ 帧索引(一个字)一个未知的双字伸缩的向量(三个浮点数x,y,z) }

0xB:关键帧的索引。

父chunk:0xB

子chunk:无

长度:头长度&#;内容长度

内容:关键帧的索引(一个字)

以下的chunk可能出现在任何chunk中:

0x:浮点数&#;式的颜色。

父chunk:任何可能的chunk

子chunk:无

长度:头长度&#;内容长度

内容:颜色(三个浮点数red,green,blue)

0x:字节&#;式的颜色。

父chunk:任何可能的chunk

子chunk:无

长度:头长度&#;内容长度

内容:颜色(三个字节red,green,blue)

0x:字节&#;式的gamma矫正。

父chunk:任何可能的chunk

子chunk:无

长度:头长度&#;内容长度

内容:颜色(三个字节red,green,blue)

0x:浮点数&#;式的gamma矫正。

父chunk:任何可能的chunk

子chunk:无

长度:头长度&#;内容长度

内容:颜色(三个浮点数red,green,blue)

0x:字&#;式的百分比。

父chunk:任何可能的chunk

子chunk:无

长度:头长度&#;内容长度

内容:百分比(一个字0~)

0x:浮点数&#;式的百分比。

父chunk:任何可能的chunk

子chunk:无

长度:头长度&#;内容长度

内容:百分比(一个浮点数0~)

Cocos2dx 3.2 + vs + win7 改变面黑色背景的大小 打开AppDeleGate.cpp找到函数applicationDidFinishLaunching,先是通过director=Director::getInstance();获得一个导演实例,然后通过autoglview=director-getOpenGLView();获得一个Ope

opengl 绘制实心圆柱体 glu中提供了一个绘制圆柱体的函数:voidgluCylinder(GLUquadric*quad,GLdoublebase,GLdoubletop,GLdoubleheight,GLintslices,GLintstacks)使用方法是:GLUquadric*pObj;pObj=gluNewQuadric();

Opengl 添加纹理 #includestdio.h#includewindows.h//HeaderFileForWindows#includeglgl.h//HeaderFileForTheOpenGLLibrary#includeglglu.h//HeaderFileForTheGLuLibrary#includeglglut.h//HeaderFileForTheGlauxLibrary#incl

标签: 3ds怎么用3ds格式

本文链接地址:https://www.jiuchutong.com/biancheng/369465.html 转载请保留说明!

上一篇:第二节:导演类Director介绍(导演都有什么分类)

下一篇:Cocos2dx 3.2 + vs2012 + win7 改变面黑色背景的大小

  • 增值税的视同销售行为有哪些?
  • 厂区地面硬化属于土建还是市政
  • 发票税率开错了3%开成5%怎么办
  • 改革性补贴是否属于规范的津贴补贴
  • 资金占用费税前扣除比例
  • 新车检测费能入什么科目
  • 控股子公司注销了可以起诉总公司吗怎么办
  • 0税率发票有什么用
  • 在建期间土地使用税可以资本化吗
  • 人工成本比例
  • 企业资产永久或实质性损害如何进行所得税处理
  • 房地产企业拆迁补偿契税政策
  • 学校收到政府拨付的助学金和奖学金需要缴纳税款吗
  • 调价单生成什么科目
  • 转让名额协议
  • 营改增后预收工程款会计处理是怎样的?
  • 不预缴会怎么样
  • 购买护肤品取得的发票能入账吗?
  • 汉字防伪企业是哪家
  • 增值税发票当期能抵扣吗
  • 更正申报增值税会产生滞纳金吗
  • 小规模纳税人销售收入会计分录
  • 发票密码区是干啥的
  • 资产处置损失减少的原因
  • 鸿蒙3.0系统哪些手机可以升级
  • 跟客户合作后发给客户的句子
  • 小微企业财务报表报送时间
  • php浮点数转为字符串
  • 在建工程如何转为成本费用
  • 为什么磁盘会消失
  • 设计费包含概算费用吗
  • 债务重组收益会计处理
  • 递延所得税负债借贷方向
  • echartx轴刻度设置
  • vue3+elementplus
  • h5项目怎么打包成app
  • vue富文本编辑器移动端
  • 补提企业所得税财务报表应该如何调整
  • 国家对建筑垃圾处理企业有补助吗
  • 开票系统软件升级
  • 小微企业开具增值税专票
  • 报销借款分录怎么做
  • pandas inner join
  • 时区时间对照表
  • 会计caac是什么意思
  • 小规模纳税人起征点变化历程
  • 小规模纳税人减按1%政策
  • 起重机属于固定资产中什么设备类型
  • 延期缴纳土地使用税怎么办理
  • 准则规定的内容是
  • mysql load local
  • 先付款后签协议是否违法
  • 公司购车购置税可以抵扣吗
  • 以货换货合同
  • 工会应付下级经费
  • 出口视同内销账务处理?
  • 空调抵扣进项税
  • 新成立的公司开什么银行账户
  • 企业存货借款利息怎么算
  • 企业当年实现的净利润即为企业当年可供分配的利润
  • 银行退票业务
  • 如何防止mysql数据库攻击
  • 如何制作u盘系统win7
  • Linux操作系统分为
  • linux安装syslog
  • win7系统关闭开机启动项设置
  • xp怎么改密码怎么设置
  • win8语音助手怎么关闭
  • win7系统自带网卡吗?
  • win7系统无法开机解决方法
  • win8.1系统补丁
  • perl和shell的区别
  • unity3d shader之Julia集和Mandelbrot集绘制美丽图案 (二)
  • 深入理解计算机系统
  • python相似模块用例
  • 安卓端测试
  • python网络爬虫总结
  • 电子税务局打印发票提示本机未检测到
  • 经纪代理服务税率是多少 1%
  • 消费税的纳税人是买方还是卖方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设