位置: 编程技术 - 正文

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

  • 非居民企业享受协定待遇
  • 个人所得税信息采集怎么弄
  • 增值税留存比例50
  • 企业纳税人是什么
  • 税前利润计算公式变动成本法
  • 金税财务是干什么的
  • 公允价值变动损益
  • 企业购房产的进项税税额
  • 小微企业第一季度不符合条件怎么处理
  • 减半征收附加税退回的分录
  • 企业存货核算的内容包括
  • 房地产开发企业资质证书
  • 期末存货跌价准备金额的确定
  • 企业交的房产税在哪打印税单
  • 各税种会计分录
  • 学校有没有纳税人识别号
  • 开发票六位代码
  • 上海、浙江 12万以上个税申报可以用支付宝啦
  • 物业费需不需要物价局审批
  • 电梯什么情况下可以换个新的
  • 固定资产折旧应该考虑哪些因素
  • 转让长期股权投资怎么算
  • 申报印花税填表过程
  • 个人将租来的房子转租如何交税
  • 小规模纳税人发生销售退回如何申报
  • 工商企业年报网上申报时间
  • 后裔王者荣耀台词大全
  • 平均应收账款是什么
  • 保险费做什么会计分录
  • 原材料退库怎么做凭证
  • 新办企业装修会计分录
  • 厂商退货款差额怎么算
  • 支付人工费会计科目
  • 快启动u盘装系统教程
  • unc方式
  • windows7安装nodejs14
  • 欧罗巴山国家公园旅游攻略
  • 阿里云onedata
  • 货物运输增值税管理
  • 办公室装修费怎么入账
  • 工会经费的使用范围有哪些
  • 定额发票在哪查真伪
  • 发票明细清单怎么打印
  • 仓库折旧会计分录
  • {dede:channel type='son'}无栏目调用同级栏目
  • 契税怎么征
  • sql2008自动启动服务
  • 机票报销属于什么科目
  • 跨期发票账务处理办法
  • 进项税额和销项税额有什么区别
  • 企业第四季度是什么时候
  • 土地出让金进项税怎么算
  • 缴纳增值税账务
  • 无形资产摊销的会计科目
  • 销售单位收入和税收
  • 记账凭证账务处理程序的特点是直接根据每张
  • 住院伙食补助费每天50
  • 慧通年终奖怎么计算
  • 发生的销货退回费用应计入
  • 网站和店铺的区别
  • 员工离职未领工资怎么处置
  • 银行承兑汇票怎么做账
  • 出纳账户怎么设置
  • 删除sql server2019
  • MySql 5.7.17 winx64的安装配置详细教程
  • ubuntu16.04安装拼音输入法
  • 简述linux系统有什么显著特点
  • win10预览版和正式版
  • java.exe是指
  • linux中复制目录到另一个目录的命令
  • win10怎么升级到2020
  • 微软企业官网
  • jquery上传图片并预览
  • 苏州大学附属第一医院占地面积
  • android实现推送
  • jquery选择器的优势有哪些
  • 常用的批处理命令
  • python爬取新浪股票数据
  • 酒店会场出租如何收费
  • 白酒生产企业向百货公司销售试制药酒
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设