位置: 编程技术 - 正文

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

  • 房产税的征收范围包括农村吗
  • 增值税纳税申报表在哪里打印
  • 火车票报销抵扣税率
  • 固定资产清理费用计入哪里
  • 转账支票有没有密码
  • 收到税务局汇算清缴通知
  • 付佣金给客户怎么做分录?
  • 会计中借方和贷方怎么理解
  • 开票金额大于收款金额如何处理
  • 传媒公司发传单
  • 收到老板给的购房发票
  • 公司购电缆用于生产如何记账?
  • 事业单位收到增资款
  • 收到发票怎么记账
  • 公积金账户收入
  • 营改增前的工程款现在怎么开票
  • 问10个问题
  • 销售淀粉的税率
  • 进项税抵扣需要做分录吗
  • 先开票还是先预约
  • 计提应收票据利息怎么算
  • 单位购买短期保本理财产品如何做账?
  • 临时工工资怎么处理
  • 个体户生产经营费用与家庭生活费用无法划分
  • 股东不用上班吗
  • ghost 安装器
  • win10更新kb5005033
  • PHP:php_strip_whitespace()的用法_misc函数
  • 网线插上还是显示红叉
  • chcfg.exe是什么
  • 汇总收款凭证怎么做账
  • 结转完工产品成本计算公式
  • 国有划拨土地给集体企业怎么办
  • 哈勃太空望远镜取得的部分成果有哪些
  • 代扣代缴企业所得税账务处理
  • 超市发票是普票还是专票
  • 金银首饰以旧换新消费税怎么算
  • php使用自定义函数的方式
  • thinkphp i方法
  • 增资会计
  • 逐帧flash动画
  • 如何一次性删除微信账单记录
  • 销售退货和折让是收入吗?吗?
  • 个人发票抬头怎么弄
  • 医院交什么保险
  • 个税的代扣代缴
  • 税控服务费全额抵扣申报怎么填
  • 减免税款属于政府补助利得吗
  • 企业所得税汇算清缴会计分录
  • 专家评审费如何入账
  • 应收账款核算流程
  • 长期待摊费用未摊销完一次性处理怎么走
  • 房地产项目开发的基本流程是什么
  • 单位车辆转籍
  • 合同履约成本的会计分录
  • 公司备用金使用后没有发票抵扣
  • 分公司有哪些特点
  • 小规模减半征收房产税文件
  • 公开发行企业债券,发行人累计债券余额
  • 事业单位企业所得税汇算清缴怎么做
  • mysql输入密码命令
  • mysql varchar2
  • windows server2008 64位没有安装音频怎么办?
  • vmware如何用
  • 中文版windows7的安装方式
  • win7旗舰版用户
  • win1021年更新
  • application error message 漏洞验证
  • nmeo.exe是什么
  • msoia.exe是什么程序
  • unity怎么念
  • python2.7多进程
  • python3并发
  • js str.match
  • androidui布局
  • for语句的执行过程图解
  • python multinomial
  • imagelearning
  • 航天信息服务费300元
  • 地税可以跨区交吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设