一种将max文件转换为glTF文件的转换方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利
(10)授权公告号 (45)授权公告日 (21)申请号 202111584153.1
(22)申请日 2021.12.23
(65)同一申请的已公布的文献号
申请公布号 CN  113961512 A
(43)申请公布日 2022.01.21
(73)专利权人 武汉方拓数字科技有限公司
地址 430040 湖北省武汉市东西湖区东西
湖大道5647号43栋2层19室
(72)发明人 张驰 
(74)专利代理机构 武汉聚信汇智知识产权代理
有限公司 42258
代理人 徐松
(51)Int.Cl.
G06F  16/11(2019.01)
G06F  16/16(2019.01)
(56)对比文件CN  108446347 A ,2018.08.24CN  110021070 A ,2019.07.16CN  111275826 A ,2020.06.12WO  2020237001 A1,2020.11.26张帆等.基于WebGL  的一种新型3D模型可视化技术研究.《测绘技术装备》.2018,Ru  Miao等.3D  Geographic  Scenes  Visualization  Based  on  WebGL.《2017 6th  International  Conference  on  Agro-Geoinformatics》.2017,审查员 汪安 (54)发明名称
一种将max文件转换为glTF文件的转换方法
(57)摘要
一种将max文件转换为glTF文件的转换方
法,涉及三维模型文件格式转换技术领域,包括:
max文件三维模型解析、三维模型预处理、节点转
换与导出材质转换与导出、灯光贴图的转换与
导出、自定义属性的转换与导出、贴图文件的压
缩与转换、节点导出glTF文件的拆分和生成资源
清单信息Manifest等步骤,通过对max格式的三
维模型进行物理材质的提取和转换、灯光贴图的
提取和转换、属性信息的提取和转换、贴图文件
的压缩和转换、自动拆分一个max文件为若干个
glTF文件,转换得到的glTF文件不会丢失原max
文件的属性信息,能将在3dsMax软件中所定义的
三维图形自定义属性一并导出并生成于glTF文
件中。权利要求书2页  说明书8页  附图1页CN 113961512 B 2022.03.08
C N  113961512
B
1.一种将max文件直接转换为glTF文件的方法,其特征在于,包括以下步骤:
S1,max文件三维模型解析,对max格式的三维模型进行解析,获取max格式的三维模型文件的结构数据和属性数据;
S2,三维模型预处理,对所述步骤S1中获取的结构数据和属性数据执行GUID数值的指定以及贴图文件统一命名;
S3,节点转换与导出,对经过所述步骤S2处理后的结构数据和属性数据进行节点转换并导出glTF文件,同时对导出的glTF文件进行拓展;
S4,材质转换与导出,对max格式的三维模型进行解析,获取max格式的三维模型文件的材质并导出为经过所述步骤S3拓展后的glTF的数据结构信息中;
S5,灯光贴图的转换与导出,对max格式的三维模型进行解析,获取max格式的三维模型文件的灯光贴图数据并导出为经过所述步骤S4处理后的glTF文件的数据结构信息中;
S6,自定义属性的转换与导出,获取所述步骤S5中glTF文件节点的IINode节点数据对象,通过SetUserPropString和GetUserPropString来设置和获取自定义属性值;
S7,贴图文件的压缩与转换,读取所述步骤S5中glTF文件贴图文件到内存为24位的位图格式,将位图转换为webp格式并存储;
S8,节点导出glTF文件的拆分,采用递归方式循环读取步骤S7中glTF文件节点的信息,执行所述步骤S3节点转换与导出的操作,将glTF文件进行拆分;
S9,生成资源清单信息,获取glTF文件中场景对象IIGameScene,构造资源清单,包括:id、版本、节点集合、文件集合和相机集合信息。
2.如权利要求1所述的一种将max文件直接转换为glTF文件的方法,其特征在于,所述步骤S3中,glTF文件扩展包括:材质、贴图、图片文件、拓展插件和拓展插件使用信息数据内容的定义。
3.如权利要求1所述的一种将max文件直接转换为glTF文件的方法,其特征在于,所述步骤S7中的贴图文件进行webp格式压缩转换,包括:png、jpg、jpeg、dds、tga、tif、tiff、bmp 和gif其中任一种格式。
4.如权利要求1所述的一种将max文件直接转换为glTF文件的方法,其特征在于,所述步骤S4中,材质包括物理材质,标准材质和阿诺德材质;
对于多维子材质的分解和导出,首先获取子材质的数量,将子材质按照多维子材质的类型,分别按照上述的材质进行导出;
物理材质的导出方法:获取材质数据对象场景材质中材质属性值第一基础颜值、第一发射值、第一金属度值、第一粗糙度值、第一透明通道值、以及贴图属性值第二基础颜值、透明度值、第二金属度值、第二粗糙度值、遮蔽值、第二透明通道值和文件路径,将其转换为glTF文件的数据结构信息;
标准材质的导出方法:获取材质数据对象场景材质中材质属性值第一环境光值、第一高光值、高光强度值、第一发射值、以及贴图属性值漫反射值、不透明度值、透明通道、透明度值、第二环境光值、第二高光值、第二发射值、凹凸值、反射值,将其转换为glTF文件的数据结构信息;
阿诺德材质的导出方法,获取材质数据对象场景材质中材质属性值涂层权重值、第二基础颜值、第一发射值、第一金属度值、第一粗糙度值、第一透明通道值以及贴图属性值
第二基础颜、透明度值、第二金属度值、第二粗糙度值、遮蔽值、第二透明通道和文件路径,将其转换为glTF文件的数据结构信息。
5.如权利要求4所述的一种将max文件直接转换为glTF文件的方法,其特征在于,对于阿诺德材质的转换,还包括以下属性的提取:折射索引、粗糙度、强度倍增、着彩、着厚度、凹凸图像信息。
一种将max文件转换为glTF文件的转换方法
技术领域
[0001]本发明涉及三维模型文件格式转换技术领域,具体涉及一种将max文件转换为glTF文件的转换方法。
背景技术
[0002]max文件是Autodesk公司3dsMax软件的三维模型文件格式,max文件具有丰富的三维图形效果和广泛的行业应用,其文件结构包括结构数据和属性数据,用于保存模型的全部信息,但max文件的弊端是无法脱离3dsMax软件使用环境,这对于三维数字化应用而言必然会造成应用的局限性。
[0003]glTF文件是由KhronosGroup组织定义的一种公开的图形语言交换格式,glTF是在Web浏览器WebGL三维应用中较为广泛的文件格式,其特性在于具有优秀的可扩展性和定制性。
[0004]在现有技术中,主要方法是将max文件导出为中间格式fbx文件,再将fbx文件再转换为glTF文件的
转换方法,从而得到符合WebGL渲染需求的glTF文件,其解析内容包括fbx 文件中的三维模型节点、网格、材质、贴图、动画等。
[0005]以上方式虽然可以生成glTF文件,但是存在以下五个方面技术特性的转换问题:[0006](1)无法实现对物理材质(PhysicalMaterial)的提取和转换;
[0007](2)无法实现对灯光贴图(LightingMap)的提取和转换;
[0008](3)无法实现自定义属性(UserDefinedProperties)的提取和转换;
[0009](4)无法实现对贴图文件(Texture)的压缩和转换。
[0010](5)无法实现max文件节点对象(Node)的自动拆分为若干个glTF文件。
[0011]而以上技术特性是决定3dmax三维模型在WebGL渲染环境下的视觉效果和性能表现的主要因素,而现有技术对以上五个问题尚未有全面有效的解决方案。
发明内容
[0012]本发明实施例提供了一种将max文件转换为glTF文件的转换方法,通过对max格式的三维模型进
行物理材质的提取和转换、灯光贴图的提取和转换、属性信息的提取和转换、贴图文件的压缩和转换、自动拆分一个max文件为若干个glTF文件,转换得到的glTF文件不会丢失原max文件的属性信息,能将在3dsMax软件中所定义的三维图形自定义属性一并导出并生成于glTF文件中。
[0013]一种将max文件直接转换为glTF文件的方法,包括以下步骤:
[0014]S1,max文件三维模型解析,对max格式的三维模型进行解析,获取max格式的三维模型文件的结构数据和属性数据;
[0015]S2,三维模型预处理,对所述步骤S1中获取的结构数据和属性数据执行GUID数值的指定以及贴图文件统一命名;
[0016]S3,节点转换与导出,对经过所述步骤S2处理后的结构数据和属性数据进行节点
转换并导出glTF文件,同时对导出的glTF文件进行拓展;
[0017]S4,材质转换与导出,对max格式的三维模型进行解析,获取max格式的三维模型文件的材质并导出为经过所述步骤S3拓展后的glTF的数据结构信息中;
[0018]S5,灯光贴图的转换与导出,对max格式的三维模型进行解析,获取max格式的三维模型文件的
灯光贴图数据并导出为经过所述步骤S4处理后的glTF文件的数据结构信息中;[0019]S6,自定义属性的转换与导出,获取所述步骤S5中glTF文件节点的IINode节点数据对象,通过SetUserPropString和GetUserPropString来设置和获取自定义属性值;[0020]S7,贴图文件的压缩与转换,读取所述步骤S5中glTF文件贴图文件到内存为24位的位图格式,将位图转换为webp格式并存储;
[0021]S8,节点导出glTF文件的拆分,采用递归方式循环读取步骤S7中glTF文件节点的信息,执行所述步骤S3节点转换与导出的操作,将glTF文件进行拆分;
[0022]S9,生成资源清单信息,获取glTF文件中场景对象IIGameScene,构造资源清单,包括:id、版本、节点集合、文件集合和相机集合信息。
[0023]进一步的,所述步骤S3中,glTF文件扩展包括:材质、贴图、图片文件、拓展插件和拓展插件使用信息数据内容的定义。
[0024]进一步的,所述步骤S7中的贴图文件进行webp格式压缩转换,包括:png、jpg、jpeg、dds、tga、tif、tiff、bmp和gif其中任一种格式。
[0025]进一步的,所述步骤S4中,材质包括物理材质,标准材质和阿诺德材质;
[0026]对于多维子材质的分解和导出,首先获取子材质的数量,将子材质按照多维子材质的类型,分别
按照上述的材质进行导出;
[0027]物理材质的导出方法:获取材质数据对象场景材质中材质属性值第一基础颜值、第一发射值、第一金属度值、第一粗糙度值、第一透明通道值、以及贴图属性值第二基础颜值、透明度值、第二金属度值、第二粗糙度值、遮蔽值、第二透明通道值和文件路径,将其转换为glTF文件的数据结构信息;
[0028]标准材质的导出方法:获取材质数据对象场景材质中材质属性值第一环境光值、第一高光值、高光强度值、第一发射值、以及贴图属性值漫反射值、不透明度值、透明通道、透明度值、第二环境光值、第二高光值、第二发射值、凹凸值、反射值,将其转换为glTF文件的数据结构信息;
[0029]阿诺德材质的导出方法,获取材质数据对象场景材质中材质属性值涂层权重值、第二基础颜值、第一发射值、第一金属度值、第一粗糙度值、第一透明通道值以及贴图属性值第二基础颜、透明度值、第二金属度值、第二粗糙度值、遮蔽值、第二透明通道和文件路径,将其转换为glTF文件的数据结构信息。
[0030]进一步的,对于阿诺德材质的转换,还包括以下属性的提取:折射索引、粗糙度、强度倍增、着彩、着厚度、凹凸图像信息。
[0031]本发明实施例提供的上述技术方案的有益效果至少包括:
[0032]本发明通过对max格式的三维模型进行物理材质的提取和转换、灯光贴图的提取和转换、属性信息的提取和转换、贴图文件的压缩和转换、自动拆分一个max文件为若干个glTF文件,转换得到的glTF文件不会丢失原max文件的属性信息,能将在3dsMax软件中所定义的三维图形自定义属性一并导出并生成于glTF文件中。

本文发布于:2024-09-21 19:04:28,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/418092.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   材质   转换   导出
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议