[发明专利]一种面向WEBGL应用的三维模型轻量化方法有效
申请号: | 202010068718.X | 申请日: | 2020-01-21 |
公开(公告)号: | CN111275814B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 徐同明;刘卫民;汤继生;舒鹏飞;焦学瑞;黄广健;王少刚;于兆洋;李伯钊;乔峰;高怀金 | 申请(专利权)人: | 浪潮通用软件有限公司 |
主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T19/00 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 webgl 应用 三维 模型 量化 方法 | ||
1.一种面向WEBGL应用的三维模型轻量化方法,其特征在于:包括如下步骤:
S1、创建三维模型;
S2、将所述三维模型转存为OBJ格式,获得OBJ文件和MTL材质文件;
S3、将所述OBJ文件信息和MTL材质文件信息按零件进行分解;
S4、将分解后的OBJ文件和相对应的MTL材质文件进行匹配,获得每个细分零件模型;
S5、将OBJ文件和MTL材质文件按既定规则进行重命名和关联;
S6、将每个细分零件模型采用Draco压缩;
S7、Web端采用并行加载的方式,对所有细分模型及相应材质进行渲染加载。
2.根据权利要求1所述的方法,其特征在于:步骤S1中,用于创建三维模型的软件包括Solidworks、Solidedge、CATIA、Pro/E和UG中的其中一种或几种组合。
3.根据权利要求2所述的方法,其特征在于:在步骤S2中,所述将三维模型转存为OBJ格式的步骤包括:
将三维模型在当前创建软件下保存为零件格式的模型文件;
将所保存的零件格式的模型文件通过OBJ转存软件打开,然后导出为OBJ格式文件,三维模型的材质信息保存于MTL格式文件中。
4.根据权利要求3所述的方法,其特征在于:将所保存的零件格式的模型文件通过3DMAX软件打开后,将模型调整至原点坐标处。
5.根据权利要求1所述的方法,其特征在于:在步骤S3中,将所述OBJ文件信息按零件进行分解的步骤包括:
检索每个零件的最后一个面的信息,获取该面的行号,并定义该行号为第一行号;
检索每个零件的第一个顶点的信息,并获取该顶点的行号,并且定义该行号为第二行号;
第一行号与第二行号之间即为相对应的零件的所有模型信息,从这些模型信息中获取该零件的顶点信息、纹理坐标信息、顶点法向量信息和面信息;
计算当前零件之前存在的累计顶点索引数、累计纹理坐标索引数和累计顶点法向量索引数,更新当前零件的面的表达式;
将上述获取的顶点信息、纹理坐标信息、法向量信息和计算后的面信息和所采用材质信息存入到新建的细分零件的OBJ文件中。
6.根据权利要求5所述的方法,其特征在于:在步骤S4中,将OBJ文件和MTL材质文件按既定规则进行重命名和关联的步骤包括:
若每个零件的OBJ文件信息中存在该零件的名称,则提取该零件的名称作为新建的细分零件的OBJ文件名称;
若每个零件的OBJ文件信息中不存在该零件的名称,则提取该零件引用的材质信息和分隔顺序信息作为新建的细分零件的OBJ文件名称。
7.根据权利要求5所述的方法,其特征在于:在步骤S3中,将所述MTL材质文件的分割和重命名步骤包括:
将生成的MTL材质文件中信息以“newmtl”作为分隔符提取每个零件的材质信息,并转存至新建的MTL材质文件中,并以相对应零件的名称重命名新建的MTL材质文件。
8.一种WEB应用,其特征在于:所述应用包括权利要求1-7中任何一项所述三维模型轻量化方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮通用软件有限公司,未经浪潮通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010068718.X/1.html,转载请声明来源钻瓜专利网。