位置: 编程技术 - 正文

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 改变面黑色背景的大小

  • 公司税务注销流程是否要不发生业务多久
  • 租地建厂房房产税谁交
  • 小微企业税收优惠政策2023年房产税
  • 报销单的经办人写自己吗
  • 个体工商户增值税申报操作流程
  • 安装服务费发票需要备注地址吗
  • 以前年度亏损弥补会计分录
  • 一般纳税人普票怎么做分录
  • 工资薪金所得应纳税所得额
  • 新税法下广告费和业务宣传费的扣除是怎样?
  • 收到费用发票入账后发现错误
  • 企业转让未入账怎么办
  • 结算本月应付职工薪酬,其中生产工人工资为18000
  • 旅游业税率是多少,企业税是按季度缴纳吗
  • 个人二手房转让税费
  • 普通发票收款方账号信息错了可以正常报销吗
  • 本月没有发生额本月合计
  • 公司注销时资本公积为股东出资款要缴税吗?
  • 股利分配是在当期损益吗
  • 什么叫净资产收益率
  • 本期金额怎么计算
  • 一般纳税人错开免税发票如何申报
  • 应交税费已交税金借方有余额
  • 服务业结转成本怎么算
  • 2021剑灵什么职业最强
  • 物业公司的水电工工作职责
  • php 钩子
  • 鸿蒙系统蓝牙耳机声音小怎么办
  • cefres.dll是什么
  • 1050ti能玩绝地求生吗
  • 进程com
  • 固定资产增加应计入什么
  • 事业单位会计专业知识考什么
  • 微信网页开发工具
  • 集团内部资金拆借利息增值税
  • php关联数组和索引数组的区别
  • es6的module模块
  • 公章没有数字是什么情况
  • html编写
  • vue2.0安装
  • ipcrm命令
  • 高德地图的2种导航方式
  • 单位代扣公积金是什么意思
  • 股东分红账务处理表格
  • 存货跌价准备的特点
  • 外购固定资产对公司影响
  • 个人独资企业怎么交个人所得税
  • 企业所得税的应纳税所得额怎么计算
  • 坏账准备的核算
  • 职工福利费支出不超过工资薪金总额的
  • 公司注销流程是哪些
  • 跨年收入如何做账
  • 预提费用如何做账务处理
  • 如何理解其他权益工具
  • 提供加工劳务计入什么科目
  • 开票金额和税款的关系
  • 专家咨询费支付标准
  • 认缴制下实收资本印花税
  • 开设专栏方案
  • mysql新手入门
  • win8语言栏不见了 怎么调出来
  • win帮助系统在哪里
  • 32位win7系统多大?
  • freebsd版本选择
  • SmartExplorer.exe - SmartExplorer进程是什么意思
  • 文件选项夹在哪里
  • supporter5.exe - supporter5是什么进程
  • Radio.exe - Radio是什么进程 有什么用
  • win8能不能玩gta5
  • Jquery ajax 同步阻塞引起的UI线程阻塞问题
  • express sendfile
  • cocos2dx开发的游戏有哪些
  • 一个简单的防偷技巧
  • 实现每个星期的计划英语
  • linux中sudo命令的使用方式和作用
  • shell脚本中判断grep的结果
  • python包含指定内容的字符串
  • 技术咨询服务费税率
  • 怎样查询灵活就业养老保险缴费记录
  • 江苏省国家税务总局电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设