CN113628321A - 一种大型工业三维模型渲染的方法 - Google Patents
一种大型工业三维模型渲染的方法 Download PDFInfo
- Publication number
- CN113628321A CN113628321A CN202110802377.9A CN202110802377A CN113628321A CN 113628321 A CN113628321 A CN 113628321A CN 202110802377 A CN202110802377 A CN 202110802377A CN 113628321 A CN113628321 A CN 113628321A
- Authority
- CN
- China
- Prior art keywords
- model
- rendering
- file
- animation
- dimensional model
- 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.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000006835 compression Effects 0.000 claims abstract description 18
- 238000007906 compression Methods 0.000 claims abstract description 18
- 238000011161 development Methods 0.000 claims abstract description 12
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出了一种大型工业三维模型渲染的方法,包括以下步骤:S1.建模工程师根据实际的工业现场布局,并导出模型文件;S2.建模工程师、前端开发人员评估模型文件,若模型文件符合开发规范,则进行步骤S3;否则,返回步骤S1;S3.前端开发人员渲染模型,具体包括:S31.加载模型;S32.通过模型压缩工具,对网格模型进行压缩;S33.如果是首次加载模型,则将文件缓存到indexDB中;若不是首次加载该模型,则直接在indexDB查询对应模型,获取二进制数据;S34.判断模型是否含有动画,若解析完的模型数据中带有动画数据,则使用ANIMATION_MIXER工具渲染动画;否则,直接使用GLTF_LOADER渲染。该方法能够利用浏览器随时随地加载、渲染三维模型,大大减少企业的软件开发、应用成本。
Description
【技术领域】
本发明涉及模型渲染的技术领域,特别是一种大型工业三维模型渲染的方法。
【背景技术】
1、OpenGL(Open Graphics Library:开放图形库或者开放式图形库)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。
2、WebGL提供了通过浏览器直接和底层的OpenGL库打交道的能力。
3、three.js是在WebGL的基础上进行了进一步封装和简化的工具库,也可以称其为“三维引擎”。经过three.js的封装后,屏蔽了所有的WebGL的细节,前端人员可以向开发正常的JS程序一样制作3D场景。
4、Web Worker是HTML5标准的一部分,这一规范定义了一套API,它允许一段JavaScript程序运行在主线程之外的另外一个线程中。
利用上述技术及其关联技术(javaScript等),可以实现超大三维模型(一般不大于2G)在Web浏览器的加载、渲染、交互。但是,目前工业世界大型三维模型只能在指定的三维客户端程序中运行,现提出一种大型工业三维模型渲染的方法。
【发明内容】
本发明的目的就是解决现有技术中的问题,提出一种大型工业三维模型渲染的方法,能够利用浏览器随时随地加载、渲染三维模型,大大减少企业的软件开发、应用成本。
为实现上述目的,本发明提出了一种大型工业三维模型渲染的方法,包括以下步骤:
S1.建模工程师根据实际的工业现场布局,并导出模型文件;
S2.建模工程师、前端开发人员评估模型文件,若模型文件符合开发规范,则进行步骤S3;否则,返回步骤S1;
S3.前端开发人员渲染模型,具体包括:
S31.加载大模型;
S32.通过模型压缩工具,对网格模型进行压缩;
S33.如果是首次加载模型,则将文件缓存到indexDB中;若不是首次加载该模型,则直接在indexDB查询对应模型,获取二进制数据;
S34.判断模型是否含有动画,使用THREEJS提供的GLTF_LOADER工具解析加载的文件,若解析完的模型数据中带有动画数据,则使用ANIMATION_MIXER工具渲染动画;否则,直接使用GLTF_LOADER渲染。
作为优选,步骤S1中,建模工程师通过建模软件制作三维模型,并根据前端工程师的需求,导出相应格式的模型文件,包括obj+mtl,gltf/glb,fbx等格式文件,优选采用gltf/glb格式的模型文件。
作为优选,步骤S2中,评估模型的方法为:通过模型预览工具,对模型的结构、组件命名展开评审,对于不符合开发规范的模型文件,返回步骤S1,将需要修改的部分进行调整、修改;对于符合开发规范的模型文件,进行步骤S3的操作。
作为优选,步骤S2中,采用的模型预览工具为GLTF-VIEW。
作为优选,步骤S31中,使用web worker多线程加载模型。
作为优选,步骤S32中采用gltf-pipeline模型压缩工具,对网格模型进行压缩,若压缩成功,则利用Basis Universal GPU纹理技术,将模型中的贴图转化为basic文件;否则,返回步骤S1。
作为优选,将模型中的贴图转化为basic文件后,再次判断是否压缩成功,若压缩成功,则进入步骤S33;否则,返回步骤S1。
作为优选,步骤S32中,对网格模型进行压缩的压缩比为10:1。
作为优选,步骤S34中,在判断模型是否含有动画之前,先使用剔除技术剔除不需要渲染的模型部分。
本发明的有益效果:本发明提高了浏览器渲染模型的上限,可以流畅的渲染2G左右的超大模型(一般在桌面级应用也很少会单独渲染如此大的模型),极大的降低了大模型的渲染门槛,节约了企业的软件成本。
本发明的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
图1是本发明实施例1的流程图。
【具体实施方式】
本发明一种大型工业三维模型渲染的方法,包括以下步骤:
S1.建模工程师根据实际的工业现场布局,建模工程师通过blender、CINEMA4D等建模软件制作三维模型,并根据前端工程师的需求,导出相应格式的模型文件,包括obj+mtl,gltf/glb,fbx等格式文件,优选采用gltf/glb格式的模型文件;
S2.建模工程师、前端开发人员评估模型文件,通过GLTF-VIEW等模型预览工具,对模型的结构、组件命名展开评审,对于不符合开发规范的模型文件,返回步骤S1,由建模工程师将需要修改的部分进行调整、修改;对于符合开发规范的模型文件,进行步骤S3的操作;
S3.前端开发人员渲染模型,具体包括:
S31.采用分包流式的手段加载大模型,分包流式是指将一个大文件拆分成多个数据包,利用web worker等js工具,多线程的加载这些数据包,最终汇总到主线程中,优选使用web worker多线程加载模型;
S32.采用gltf-pipeline模型压缩工具,对网格模型进行压缩,压缩比为10:1左右,gltf-pipeline并不会压缩模型中的纹理贴图,若压缩成功,则利用Basis UniversalGPU纹理技术,将模型中的贴图转化为basic文件;否则,返回步骤S1;将模型中的贴图转化为basic文件后,再次判断是否压缩成功,若压缩成功,则进入步骤S33;否则,返回步骤S1;
S33.如果是首次加载模型,则将文件缓存到indexDB中;若不是首次加载该模型,则直接在indexDB查询对应模型,获取二进制数据;indexDB具有良好的查询性能,理论上可以无限拓展的缓存空间,因此优选使用indexDB缓存技术,对模型进行缓存;
S34.判断模型是否含有动画,使用THREEJS提供的GLTF_LOADER工具解析加载的文件,若解析完的模型数据中带有动画数据,则使用ANIMATION_MIXER工具渲染动画;否则,直接使用GLTF_LOADER渲染。
进一步地,步骤S34中,在判断模型是否含有动画之前,先使用剔除技术(Culling)剔除不需要渲染的模型部分,剔除技术是指,只渲染我们需要渲染的部分,选择性放弃渲染不重要的物体,剔除技术一般有视椎体剔除、遮挡剔除、背面渲染剔除等,本质上都是为了减少渲染的物体数量来达到提升渲染效率的目的。
实施例1
参阅图1,本发明一种大型工业三维模型渲染的方法,包括以下步骤:
1、建模工程师根据工业现场实际产线布局,使用blender建模软件绘制1:1的产线模型,导出GLB/GLTF格式的文件,提供到前端开发人员。
2、建模工程师与前端开发人员评审设计好的模型初稿,针对组件结构、命名规范等展开讨论,若需要修改,则由建模工程师调整、修改后重新导出,直至符合开发规范(这里的开发规范是指软件开发规范,在大型模型所需要解析的数据结构一般比较庞大,因此需要更多的约定和约束来规范模型的数据结构)。
3、前端开发人员利用gltf-pipeline技术,压缩网格模型,再利用Google basisuniversal技术,将贴图转化为basic文件。
4、如果是首次加载模型,则由运维人员先将压缩完的模型上传文件服务器,然后前端开发人员利用web worker技术,分布式下载文件流,并将文件缓存到indexDB中;若不是首次加载该模型,则直接在indexDB查询对应模型,获取二进制数据(GLB格式是天然的二进制文件,在indexDB中可以免去二进制转换的时间,因此效率较高)。
5、前端工程师使用THREEJS提供的GLTF_LOADER工具解析加载的文件,若解析完的模型数据中带有动画数据,则使用ANIMATION_MIXER工具渲染动画,否则直接使用GLTF_LOADER渲染即可。
6、完成渲染。
上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。
Claims (9)
1.一种大型工业三维模型渲染的方法,其特征在于:依次包括以下步骤:
S1.建模工程师根据实际的工业现场布局,并导出模型文件;
S2.建模工程师、前端开发人员评估模型文件,若模型文件符合开发规范,则进行步骤S3;否则,返回步骤S1;
S3.前端开发人员渲染模型,具体包括:
S31.加载模型;
S32.通过模型压缩工具,对网格模型进行压缩;
S33.如果是首次加载模型,则将文件缓存到indexDB中;若不是首次加载该模型,则直接在indexDB查询对应模型,获取二进制数据;
S34.判断模型是否含有动画,使用THREEJS提供的GLTF_LOADER工具解析加载的文件,若解析完的模型数据中带有动画数据,则使用ANIMATION_MIXER工具渲染动画;否则,直接使用GLTF_LOADER渲染。
2.如权利要求1所述的一种大型工业三维模型渲染的方法,其特征在于:步骤S1中,建模工程师通过建模软件制作三维模型,并根据前端工程师的需求,导出相应格式的模型文件,包括obj+mtl,gltf/glb,fbx格式文件。
3.如权利要求1所述的一种大型工业三维模型渲染的方法,其特征在于:步骤S2中,评估模型的方法为:通过模型预览工具,对模型的结构、组件命名展开评审,对于不符合开发规范的模型文件,返回步骤S1,将需要修改的部分进行调整、修改;对于符合开发规范的模型文件,进行步骤S3的操作。
4.如权利要求3所述的一种大型工业三维模型渲染的方法,其特征在于:步骤S2中,采用的模型预览工具为GLTF-VIEW。
5.如权利要求1所述的一种大型工业三维模型渲染的方法,其特征在于:步骤S31中,使用web worker多线程加载模型。
6.如权利要求1所述的一种大型工业三维模型渲染的方法,其特征在于:步骤S32中采用gltf-pipeline模型压缩工具,对网格模型进行压缩,若压缩成功,则利用BasisUniversal GPU纹理技术,将模型中的贴图转化为basic文件;否则,返回步骤S1。
7.如权利要求6所述的一种大型工业三维模型渲染的方法,其特征在于:将模型中的贴图转化为basic文件后,再次判断是否压缩成功,若压缩成功,则进入步骤S33;否则,返回步骤S1。
8.如权利要求6所述的一种大型工业三维模型渲染的方法,其特征在于:步骤S32中,对网格模型进行压缩的压缩比为10:1。
9.如权利要求6所述的一种大型工业三维模型渲染的方法,其特征在于:步骤S34中,在判断模型是否含有动画之前,先使用剔除技术剔除不需要渲染的模型部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110802377.9A CN113628321A (zh) | 2021-07-15 | 2021-07-15 | 一种大型工业三维模型渲染的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110802377.9A CN113628321A (zh) | 2021-07-15 | 2021-07-15 | 一种大型工业三维模型渲染的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113628321A true CN113628321A (zh) | 2021-11-09 |
Family
ID=78379863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110802377.9A Pending CN113628321A (zh) | 2021-07-15 | 2021-07-15 | 一种大型工业三维模型渲染的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113628321A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050212803A1 (en) * | 2004-03-26 | 2005-09-29 | Pixar | Dynamic scene descriptor method and apparatus |
US20140292753A1 (en) * | 2013-04-02 | 2014-10-02 | Sheng Bi | Method of object customization by high-speed and realistic 3d rendering through web pages |
CN107219969A (zh) * | 2017-05-10 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 3d显示方法和装置 |
CN108597028A (zh) * | 2018-04-11 | 2018-09-28 | 北京邮电大学 | 一种连续加载Web AR对象的方法、装置及设备 |
CN109753334A (zh) * | 2019-01-14 | 2019-05-14 | 长沙眸瑞网络科技有限公司 | 一种基于WebGL的三维模型显示方法 |
CN112434364A (zh) * | 2020-11-26 | 2021-03-02 | 上海市城市建设设计研究总院(集团)有限公司 | 基于ifc的建筑项目前期数字化交付与评审系统及方法 |
-
2021
- 2021-07-15 CN CN202110802377.9A patent/CN113628321A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050212803A1 (en) * | 2004-03-26 | 2005-09-29 | Pixar | Dynamic scene descriptor method and apparatus |
US20140292753A1 (en) * | 2013-04-02 | 2014-10-02 | Sheng Bi | Method of object customization by high-speed and realistic 3d rendering through web pages |
CN107219969A (zh) * | 2017-05-10 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 3d显示方法和装置 |
CN108597028A (zh) * | 2018-04-11 | 2018-09-28 | 北京邮电大学 | 一种连续加载Web AR对象的方法、装置及设备 |
CN109753334A (zh) * | 2019-01-14 | 2019-05-14 | 长沙眸瑞网络科技有限公司 | 一种基于WebGL的三维模型显示方法 |
CN112434364A (zh) * | 2020-11-26 | 2021-03-02 | 上海市城市建设设计研究总院(集团)有限公司 | 基于ifc的建筑项目前期数字化交付与评审系统及方法 |
Non-Patent Citations (3)
Title |
---|
孙金晖: "BIM 在建筑工程管理中的应用", 《商丘师范学院学报》, vol. 35, no. 6, pages 61 - 65 * |
我是歌手233: "Revit二次开发——模型审查工具", pages 1 - 4, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/465897398> * |
林红旭 LEO: "也聊webgl中的大场景性能优化", pages 1 - 14, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/154425898> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1594091B1 (en) | System and method for providing an enhanced graphics pipeline | |
Behr et al. | Using images and explicit binary container for efficient and incremental delivery of declarative 3d scenes on the web | |
CN110751696A (zh) | 将BIM模型数据转化为glTF数据的方法、装置、设备及介质 | |
US7394464B2 (en) | Preshaders: optimization of GPU programs | |
EP1847966A2 (en) | OpenGL to openGL/ES translator and openGL/ES simulator | |
WO2022095808A1 (zh) | 基于Vulkan实现图形渲染的方法及相关装置 | |
US20100179788A1 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
CN102254292A (zh) | 远程3d指令渲染系统及方法 | |
US8988434B1 (en) | Text rendering for browsers and mobile based applications | |
CN112316433B (zh) | 游戏画面渲染方法、装置、服务器和存储介质 | |
CN116977523B (zh) | 一种step格式在web端的渲染方法 | |
CN109325157B (zh) | 基于浏览器的地理空间信息承载方法 | |
US9355429B1 (en) | Client computing system for and method of receiving cross-platform remote access to 3D graphics applications | |
CN115908672A (zh) | 一种三维场景渲染加速方法、系统、介质、设备及终端 | |
KR100948510B1 (ko) | 하드웨어 방식의 벡터 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 단말기, 및 그 프로세서에서그래픽 가속방법 | |
CN112818450B (zh) | 基于区块索引的bim模型组织方法 | |
CN113628321A (zh) | 一种大型工业三维模型渲染的方法 | |
US8838749B1 (en) | Cloud based client computing system for and method of receiving cross-platform remote access to 3D graphics applications | |
CN116310078B (zh) | 一种基于urdf的数字孪生创建方法 | |
CN104869168A (zh) | 一种桌面虚拟应用的负载平衡方法 | |
CN115270530B (zh) | 进度可视化模型快速建立方法、系统、设备及介质 | |
CN113362430A (zh) | 一种工业产线模型动画数字孪生方法 | |
US9064292B1 (en) | System for and method of classifying and translating graphics commands in client-server computing systems | |
CN117372662A (zh) | 一种基于复杂装备的三维模型轻量化方法 | |
CN104869167A (zh) | 一种服务器和桌面虚拟应用的负载平衡系统 |
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 |