CN108230439B - 一种用于web端三维模型轻量化方法、电子设备及存储介质 - Google Patents
一种用于web端三维模型轻量化方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN108230439B CN108230439B CN201711462067.7A CN201711462067A CN108230439B CN 108230439 B CN108230439 B CN 108230439B CN 201711462067 A CN201711462067 A CN 201711462067A CN 108230439 B CN108230439 B CN 108230439B
- Authority
- CN
- China
- Prior art keywords
- dimensional model
- file
- information
- web
- lightening
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供一种用于web端三维模型轻量化方法,包括:获取三维模型文件,将三维模型文件拆分为若干网格面片段;将每个网格面片段进行切割成若干三角面片,记录三角面片的ID信息和几何信息,并计算三角面片的表面积;创建实例树;将三角面片的几何信息和ID信息存储在片段内;根据三角面片的表面积对片段进行排序,将若干几何信息以流格式序列化为若干包文件,根据若干包文件生成流列表文件,将流列表文件进行序列化处理为二进制形式。本发明的一种用于web端三维模型轻量化方法,在将原始三维模型文件转换成文件体积更小的流格式文件的流列表文件的同时,并没有丢弃原三维模型的任何细节数据。
Description
技术领域
本发明涉及三维模型制作领域,尤其涉及一种用于web端三维模型轻量化方法、电子设备及存储介质。
背景技术
在对三维模型进行处理的过程中,有许多种对三维模型进行轻量化的方法。例如:Seo针对B-rep模型提出了一种利Wrap-around操作的简化算法,该算法首先对孔、槽、倒角、倒圆等可隐藏特征进行识别,然后根据细节层次决定可抑制特征的删除序列,最后生成所需要的一系列细节层次模型。Lee提出一种基于特征的多分辨实体模型,算法保证了无论特征重排是正还是负,都能生成合理的、外观形状相同的LOD模型。王启富提出了一种针对复杂产品模型数据的轻量化算法,该算法采用非几何信息过滤、曲线曲面简化和编码压缩等步骤对原始产品模型进行简化,在保证一定的精度的条件下具有较高的压缩比,适合于工程应用。另外,还有将三维的模型信息在二维的采样轮廓上加以分析并简化的方法。尽管上述方法可以应用于复杂产品模型的轻量化,但是生成的简化模型并没有保持原有模型的外观,且某些重要特征可能在简化模型中得不到体现,对三维可视化交流有一定程度的影响。
张小兵将模型的轻量化分为细微结构的抑制和替换、表面特征的处理、装配间隙的缝合以及模型抽壳四个过程,实现了大装配体模型的轻量化。殷明强提出了一种装配模型的简化算法,在保持模型外观不变的前提下,能够达到较好的简化效果。这两种方法在生成的轻量化模型中都直接去掉了隐藏的零件,用户无法获得装配体模型完整的装配关系和模型内部信息,使其无法用于装配动画、干涉检查等方面,限制了其使用范围。
Lattice公司提出了一种基于XML的轻量化三维模型压缩技术——XVL,这种轻量化技术采用Lattice Structrue多边形网格控制的Gergory曲面来逼近原始模型,可以保持较高的数据精度,简化后的文件尺寸只有原尺寸的百分之一。然而生成的轻量化模型改变了原始模型的拓扑结构,且Gregory曲面表达形式与现有的大多数三维CAD系统并不兼容,模型的操作只能利用该公司的二次开发接口实现,限制了其使用范围。
综上,上述对于三维模型轻量化的处理存在三维可视化交流受影响以及使用范围受限的问题。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种用于web端三维模型轻量化方法,其能解决三维可视化交流受影响以及使用范围受限的问题。
本发明的目的之二在于提供一种电子设备,其能解决三维可视化交流受影响以及使用范围受限的问题。
本发明的目的之三在于提供一种计算机可读存储介质,其能解决三维可视化交流受影响以及使用范围受限的问题。
本发明的目的之一采用以下技术方案实现:
一种用于web端三维模型轻量化方法,包括:
生成网格面片段,获取三维模型文件,将所述三维模型文件拆分为若干网格面片段;
切割网格面片段,将每个所述网格面片段进行切割成若干网格面片,记录所述网格面片的ID信息和几何信息,并计算所述网格面片的表面积;
创建实例树,所述实例树包含若干片段列表,每个所述片段列表由若干片段组成,定义所述片段以及片段列表名称;将所述网格面片的几何信息和所述ID信息存储在所述片段内;
流列表文件序列化,根据所述网格面片的表面积对所述片段进行排序,将若干所述包文件以流格式方式生成流列表文件,根据若干所述包文件生成流列表文件,将所述流列表文件进行序列化处理为二进制形式。
进一步地,还包括根据所述ID信息和所述几何信息生成索引信息,将若干所述索引信息存储生成含有若干索引信息的清单文件,将所述清单文件序列化。
进一步地,还包括对所述流列表文件进行渲染。
进一步地,所述对所述流列表进行渲染为根据相关空间划分、图元剔除及排序算法来选择性的渲染所述流列表文件。
进一步地,所述生成网格面片段具体为根据所述三维模型文件的渲染信息将所述三维模型文件拆分为若干网格面片段。
进一步地,所述切割网格面片段具体为:将每个所述网格面片段按预设切割标准进行切割成若干网格面片,所述切割标准为网格面片顶点数小于64K和网格面片大小低于4MB。
进一步地,所述实例树包括一根节点和若干叶子节点,每条从所述根节点到所述叶子节点的路径对应一个唯一路径,每个所述叶子节点对应一个所述网格面片。
进一步地,所述几何信息包括顶点、法线、RGBA颜色及UV坐标。
本发明的目的之二采用以下技术方案实现:
一种电子设备,包括:处理器;
存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行本发明的一种用于web端三维模型轻量化方法。
本发明的目的之三采用以下技术方案实现:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行本发明的一种用于web端三维模型轻量化方法。
相比现有技术,本发明的有益效果在于:本发明的一种实用于web的三维模型轻量化方法,通过将三维模型文件拆分为若干网格面片段,并将每个网格面片段切割成若干网格面片,创建实例树,将网格面片的几何信息和ID信息存储在实例树的片段内,加工若干几何信息以流格式序列化为若干包文件,将若干包文件以流格式方式生成流列表文件,并将流列表文件进行序列化处理为二进制形式,本方法实质是对原三维模型文件的信息进行了重组,在将原始三维模型文件转换成文件体积更小的流格式文件的流列表文件的同时,并没有丢弃原三维模型的任何细节数据,因此使用该方法生成的轻量化模型能够保持原有的模型外观及零部件信息。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的一种用于web端三维模型轻量化方法的流程图;
图2为本发明的一种用于web端三维模型轻量化方法的详细步骤流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
如图1-2所示的一种用于web端三维模型轻量化方法,本方法应用于web端,即网页及网络端,包括以下步骤:
生成网格面片段,获取三维模型文件,将三维模型文件拆分为若干网格面片段;三维模型文件包含原始渲染信息,根据原始渲染信息类别将三维模型文件拆分为若干个不同的网格面片段,因为三维模型文件即由多个三角面组成,因此此处的网格面片段即使三维模型文件的组成部分;
切割网格面片段,将每个网格面片段进行切割成若干网格面片(mesh),具体为将非常大的网格面片段按照切割标准切割成小块的网格面片,保证每个网格面片所含顶点数小于64K,且每个网格面片的数据大小控制在4MB以下,切割标准为网格面片顶点数小于64K和网格面片大小低于4MB;使用该切割标准切割可以保证一个网格面片(mesh)的顶点索引在GPU上用16位整型取地址读取,加快了网格面片(mesh)渲染数据读取的速度;可以保证访问时内存的高效率。记录所述网格面片的ID信息和几何信息,并计算所述网格面片的表面积和包围盒,ID信息即为每个网格面片对应的特定的身份信息,几何信息包括顶点、法线、RGBA颜色及UV坐标,多个网格面片的会组合成一个包围盒,包围盒的大小为多个网格面片的表面积相同,包围盒即为对个呈现网格面片的图形。
创建实例树,实例树包含若干片段列表,每个片段列表由若干片段组成,定义片段以及片段列表名称;将网格面片的几何信息和ID信息存储在片段内。实例树包括一根节点和若干叶子节点,每条从所述根节点到所述叶子节点的路径对应一个唯一路径,每个所述叶子节点对应一个所述网格面片。在本实施例中每一个实例树的叶子节点都对应唯一一个网格面片(即网格面片数据)。每一个网格面片包含一个包围盒、局部坐标到世界坐标转换矩阵、材质引用和几何引用的数据。根据三维模型定义实力书中的片段以及片段列表的名称。
流列表文件序列化,根据所述网格面片的表面积和包围盒对所述片段进行排序,将若干所述几何信息以流格式序列化为若干包文件,根据若干所述包文件生成流列表文件,将所述流列表文件进行序列化处理为二进制形式。因为实例树中片段内存储有每个网格面片的几何信息和ID信息,因此每个片段都对应一个唯一的网格面片,根据网格面片的表面积的大小对每个片段进行排序,此顺序为降序;将每个片段中的几何信息以流格式方式序列化为包文件,因此若干片段中的几何信息转化为多个包文件,若干包文件组成流列表文件,将流列表文件进行序列化处理为二进制形式,本实施例中的序列化处理为按照OpenCTM标准序列化处理。根据网格面片的ID信息和网格面片的几何信息生成索引信息,将若干所述索引信息存储生成含有若干索引信息的清单文件,将清单文件序列化,此处序列化也为。
最终多个流列表文件组成了新的轻量化三维模型,具体的原始三维模型与轻量化后的轻量三维化模型的大小如表1所示;
表1:轻量化前后三维模型大小数据
还包括对所述流列表文件进行渲染,对流列表渲染为根据相关空间划分、图元剔除及排序算法来选择性的渲染所述流列表文件。流列表文件包括多个流文件,每个流文件由多个片段组成,片段即为网格面片,此时根据每个片段的表面积确定各个片段的渲染顺序,因此每个片段包含了独立的渲染信息,流列表文件中的每个片段可以依次被渲染,进而保证随着轻量化后的模型文件的不断下载,用户乐意连贯的浏览轻量化后的模型。本实施例中的网格面片段即为常见的三角面片段,则网格面片段中的若干网格面片为三角面片。
本发明的用于web的三维模型轻量化方法,通过将三维模型文件拆分为若干网格面片段,并将每个网格面片段切割成若干三角面片,创建实例树,将三角面片的几何信息和ID信息存储在实例树的片段内,加工若干几何信息以流格式序列化为若干包文件,将若干包文件以流格式方式生成流列表文件,并将流列表文件进行序列化处理为二进制形式,本方法实质是对原三维模型文件的信息进行了重组,在将原始三维模型文件转换成文件体积更小的流格式文件的流列表文件的同时,并没有丢弃原三维模型的任何细节数据,因此使用该方法生成的轻量化模型能够保持原有的模型外观及零部件信息。
以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。
Claims (9)
1.一种用于web端三维模型轻量化方法,其特征在于包括:
生成网格面片段,获取三维模型文件,将所述三维模型文件拆分为若干网格面片段;
切割网格面片段,将每个所述网格面片段切割成若干网格面片,记录所述网格面片的ID信息和几何信息,并计算所述网格面片的表面积;
创建实例树,所述实例树包含若干片段列表,每个所述片段列表由若干片段组成,定义所述片段以及片段列表名称;将所述网格面片的几何信息和所述ID信息存储在所述片段内;
流列表文件序列化,根据所述网格面片的表面积对所述片段进行排序,将若干所述几何信息以流格式序列化为若干包文件,将若干所述包文件以流格式方式生成流列表文件,将所述流列表文件进行序列化处理为二进制形式。
2.如权利要求1所述的一种用于web端三维模型轻量化方法,其特征在于:还包括根据所述ID信息和所述几何信息生成索引信息,将若干所述索引信息存储生成含有若干索引信息的清单文件,将所述清单文件序列化。
3.如权利要求2所述的一种用于web端三维模型轻量化方法,其特征在于:还包括对所述流列表文件进行渲染。
4.如权利要求3所述的一种用于web端三维模型轻量化方法,其特征在于:所述对所述流列表进行渲染为根据相关空间划分、图元剔除及排序算法来选择性的渲染所述流列表文件。
5.如权利要求1所述的一种用于web端三维模型轻量化方法,其特征在于:所述生成网格面片段具体为根据所述三维模型文件的渲染信息将所述三维模型文件拆分为若干网格面片段。
6.如权利要求1所述的一种用于web端三维模型轻量化方法,其特征在于:所述实例树包括一根节点和若干叶子节点,每条从所述根节点到所述叶子节点的路径对应一个唯一路径,每个所述叶子节点对应一个所述网格面片。
7.如权利要求1所述的一种用于web端三维模型轻量化方法,其特征在于:所述几何信息包括顶点、法线、RGBA颜色及UV坐标。
8.一种电子设备,其特征在于包括:处理器;
存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行权利要求1-7任意一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711462067.7A CN108230439B (zh) | 2017-12-28 | 2017-12-28 | 一种用于web端三维模型轻量化方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711462067.7A CN108230439B (zh) | 2017-12-28 | 2017-12-28 | 一种用于web端三维模型轻量化方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108230439A CN108230439A (zh) | 2018-06-29 |
CN108230439B true CN108230439B (zh) | 2021-09-03 |
Family
ID=62646163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711462067.7A Active CN108230439B (zh) | 2017-12-28 | 2017-12-28 | 一种用于web端三维模型轻量化方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108230439B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109345628A (zh) * | 2018-08-07 | 2019-02-15 | 云南电网有限责任公司曲靖供电局 | 一种模型轻量化处理方法、装置及电子设备 |
CN110287351B (zh) * | 2019-06-27 | 2021-11-02 | 哈工大(张家口)工业技术研究院 | 一种三维模型轻量化展示优化方法 |
CN112330811B (zh) * | 2019-07-20 | 2022-11-01 | 北京圜晖科技有限公司 | 三维模型的数据轻量化存储方法及装置 |
CN113034663B (zh) * | 2019-12-09 | 2023-09-19 | 北京博超时代软件有限公司 | Gim模型轻量化处理方法和装置、设备及存储介质 |
CN111815770B (zh) * | 2020-06-30 | 2024-05-03 | 郑州信大先进技术研究院 | Web模型轻量化处理方法、装置及可读存储介质 |
CN114926605B (zh) * | 2022-07-19 | 2022-09-30 | 北京飞渡科技有限公司 | 一种三维模型的抽壳方法 |
CN115080512A (zh) * | 2022-08-22 | 2022-09-20 | 南京国睿信维软件有限公司 | 三维模型格式到轻量化数据格式快速转换方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393646A (zh) * | 2011-07-05 | 2012-03-28 | 西安赛龙航空科技有限公司 | 用于叶片生产线的多层次动态碰撞检测方法及系统 |
WO2014008387A2 (en) * | 2012-07-05 | 2014-01-09 | King Abdullah University Of Science And Technology | Three-dimensional object compression |
CN103593513A (zh) * | 2013-10-30 | 2014-02-19 | 中国运载火箭技术研究院 | 一种cae及实物试验数据统一读取及轻量化显示工具 |
CN106204745A (zh) * | 2016-08-31 | 2016-12-07 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于标准图集管理的监测bim模型快速加载交互方法及系统 |
CN106909640A (zh) * | 2017-02-16 | 2017-06-30 | 杭州新迪数字工程系统有限公司 | 基于webgl的三维模型轻量化展示技术 |
CN107247832A (zh) * | 2017-05-26 | 2017-10-13 | 武汉理工大学 | 基于Web的三维轻量化模型虚拟装配方法及其装置 |
-
2017
- 2017-12-28 CN CN201711462067.7A patent/CN108230439B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102393646A (zh) * | 2011-07-05 | 2012-03-28 | 西安赛龙航空科技有限公司 | 用于叶片生产线的多层次动态碰撞检测方法及系统 |
WO2014008387A2 (en) * | 2012-07-05 | 2014-01-09 | King Abdullah University Of Science And Technology | Three-dimensional object compression |
CN103593513A (zh) * | 2013-10-30 | 2014-02-19 | 中国运载火箭技术研究院 | 一种cae及实物试验数据统一读取及轻量化显示工具 |
CN106204745A (zh) * | 2016-08-31 | 2016-12-07 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于标准图集管理的监测bim模型快速加载交互方法及系统 |
CN106909640A (zh) * | 2017-02-16 | 2017-06-30 | 杭州新迪数字工程系统有限公司 | 基于webgl的三维模型轻量化展示技术 |
CN107247832A (zh) * | 2017-05-26 | 2017-10-13 | 武汉理工大学 | 基于Web的三维轻量化模型虚拟装配方法及其装置 |
Non-Patent Citations (4)
Title |
---|
Lightweight Web3D Visualization Framework Using Dijkstra-Based Mesh Segmentation;Wen Zhou 等;《International Conference on Technologies for E-Learning and Digital Entertainment》;20171012;第138-151页 * |
三维模型轻量化技术研究与实现;王文志;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170615(第6期);第I139-126页 * |
基于轻量化模型的三维装配动画研究;赵伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20080315(第3期);第I138-516页 * |
面向装配的复杂模型几何及结构轻量化技术研究;柳伟 等;《中国科学:信息科学》;20141120;第44卷(第11期);第1422-1431页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108230439A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108230439B (zh) | 一种用于web端三维模型轻量化方法、电子设备及存储介质 | |
US8253730B1 (en) | System and method for construction of data structures for ray tracing using bounding hierarchies | |
US20080192054A1 (en) | Combined Spatial Index for Static and Dynamic Objects Within a Three-Dimensional Scene | |
US20130278607A1 (en) | Systems and Methods for Displaying Animations on a Mobile Device | |
CN103810756B (zh) | 基于不规则区域的自适性的Loop细分曲面的绘制方法 | |
EP1986158B1 (en) | Decorating computer generated character with surface attached features | |
CN108416843A (zh) | 三维场景构建方法、装置、设备及计算机可读存储介质 | |
WO2021109688A1 (zh) | 光照探针生成方法、装置、存储介质和计算机设备 | |
CN116051708A (zh) | 三维场景轻量化模型渲染方法、设备、装置及存储介质 | |
KR20080018404A (ko) | 게임 제작을 위한 배경 제작 프로그램을 저장한 컴퓨터에서읽을 수 있는 기록매체 | |
CN110956699A (zh) | 一种三角形网格模型gpu并行切片方法 | |
EP1986157B1 (en) | Placing skin-attached features on a computer generated character | |
CN111773719A (zh) | 虚拟对象的渲染方法和装置、存储介质、电子装置 | |
Marrs et al. | Real-Time View Independent Rasterization for Multi-View Rendering. | |
CN109472861A (zh) | 交互式树木建模方法、模型生成方法、系统及仿生树木 | |
WO2020244214A1 (zh) | 一种形状词云的生成方法和装置 | |
US20230186565A1 (en) | Apparatus and method for generating lightweight three-dimensional model based on image | |
Bauszat et al. | The Minimal Bounding Volume Hierarchy. | |
US11995771B2 (en) | Automated weighting generation for three-dimensional models | |
CN113240786B (zh) | 一种视频点云渲染方法、装置、电子设备及存储介质 | |
Aman et al. | Multi‐level tetrahedralization‐based accelerator for ray‐tracing animated scenes | |
CN109087392A (zh) | 一种动态细节层次模型实现方法 | |
Gao et al. | Real-Time Ray Tracing Algorithm for Dynamic Scene | |
Stein et al. | hare3d-rendering large models in the browser | |
Liu et al. | GPU-based dynamic quad stream for forest rendering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |