位置: 编程技术 - 正文

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

  • 利息税定义
  • 其他个人出租房屋按照多少征收应纳税额
  • 甲方给的工程奖项有哪些
  • 购买车辆的保险怎么入账
  • 增值税专票怎么抵扣
  • 厂房房产税如何计算
  • 收到电子银行承兑汇票的账务处理
  • 工业企业的三个阶段
  • 出口没做免税申报怎样补税?
  • 一个公司帮另一个公司代付款
  • 企业破产清算怎么做账务处理实务工作
  • 个人独资的企业性质是什么
  • 有限合伙人公司
  • 扩建费用
  • 补贴属于什么手段
  • 快递公司怎么纳入社保
  • 公司账户电子承兑
  • 小型微利企业应纳税所得额300万
  • 远期外汇合约套期会计分录
  • 以现金收回已核销的不良贷款分录?
  • 股东分红是看未交税吗
  • 无法运行loot
  • 行政事业单位职工体检依据
  • 以公司名义购买房产的利与弊
  • win10开始菜单失效如何解决
  • win8的无线设置
  • 在window系统中哪些用户可以查看日志
  • 建筑公司支付的预付款担保保函费怎么做账?
  • 关于笔记本电脑的文案
  • linux操作系统为用户提供的接口为
  • 对公账户收款
  • 会计凭证设计要注意的问题
  • easyui分页传递表单参数
  • k8s安装步骤
  • php实现文件上传需要使用哪个全局变量
  • javascript保留字有哪些
  • uniapp自定义导航栏渐变
  • 发票作废税款什么时候退
  • 顺风车没有发票可以税前扣除吗
  • 同城票据交换差额户会计分录
  • 现代服务增值税纳税义务发生时间
  • mongodb分页查询count太慢
  • 买新车检测
  • 废旧物资回收公司名称
  • 给慈善机构捐款英语
  • 外贸企业的退税可以转出来吗
  • 黄金入账如何做会计分录
  • 计提工资的会计账务处理
  • 包含个人社保的保险
  • 独立核算和非独立核算哪个好
  • 计提应付职工薪酬在借方还是贷方
  • 公司食堂招待客户,客户付了钱怎么入账
  • 民营企业固定资产管理规定
  • mysql如何导出数据
  • mysql免安装版下载
  • mysql 5.7.31安装
  • linux命令视频讲解
  • 丢失的身份证补办后,原本的身份证还有用吗
  • 通用pe工具箱安装win7
  • win7升级win10之后视频解码能力变弱
  • windows10 rs2
  • win10老是弹窗广告
  • winxp鼠标右键菜单栏怎么改
  • seti@home.exe - seti@home是什么进程 有什么用
  • xp系统组策略怎么打开
  • linux的特殊权限
  • 批量装win7
  • opengl 模型
  • sparsomycin
  • shell备份文件脚本
  • android自定义属性详解
  • shell脚本 ftp
  • unity5用什么语言
  • jQuery ajax提交Form表单实例(附demo源码)
  • 税务局风险管理股工作总结
  • 关税由谁来承担
  • 个税申报所属期和所得期
  • 税务年报截止日期2022
  • 开票系统税控盘在哪里
  • 该纳税人还未申报,请申报成功后
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设