CN113628321A - 一种大型工业三维模型渲染的方法 - Google Patents

一种大型工业三维模型渲染的方法 Download PDF

Info

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
Application number
CN202110802377.9A
Other languages
English (en)
Inventor
钱晨阳
李建成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Jiuxin Internet Of Things Science & Technology Co ltd
Original Assignee
Hangzhou Jiuxin Internet Of Things Science & Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Jiuxin Internet Of Things Science & Technology Co ltd filed Critical Hangzhou Jiuxin Internet Of Things Science & Technology Co ltd
Priority to CN202110802377.9A priority Critical patent/CN113628321A/zh
Publication of CN113628321A publication Critical patent/CN113628321A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three 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中,在判断模型是否含有动画之前,先使用剔除技术剔除不需要渲染的模型部分。
CN202110802377.9A 2021-07-15 2021-07-15 一种大型工业三维模型渲染的方法 Pending CN113628321A (zh)

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)

* Cited by examiner, † Cited by third party
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的建筑项目前期数字化交付与评审系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
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数据的方法、装置、设备及介质
US8725466B2 (en) System and method for hybrid solid and surface modeling for computer-aided design environments
US7394464B2 (en) Preshaders: optimization of GPU programs
EP1847966B1 (en) OpenGL to openGL/ES translator and openGL/ES simulator
WO2022095808A1 (zh) 基于Vulkan实现图形渲染的方法及相关装置
US8988434B1 (en) Text rendering for browsers and mobile based applications
CN112316433B (zh) 游戏画面渲染方法、装置、服务器和存储介质
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模型组织方法
CN116977523B (zh) 一种step格式在web端的渲染方法
CN113628321A (zh) 一种大型工业三维模型渲染的方法
CN109858059B (zh) 基于cad超大模型的虚拟现实技术在水电站仿真的应用方法
US8838749B1 (en) Cloud based client computing system for and method of receiving cross-platform remote access to 3D graphics applications
CN117292039A (zh) 顶点坐标生成方法、装置、电子设备及计算机存储介质
CN113362430A (zh) 一种工业产线模型动画数字孪生方法
CN115270530A (zh) 进度可视化模型快速建立方法、系统、设备及介质
US9064292B1 (en) System for and method of classifying and translating graphics commands in client-server computing systems
CN114461959A (zh) Bim数据的web端在线显示方法、装置及电子设备
CN104869167A (zh) 一种服务器和桌面虚拟应用的负载平衡系统
CN114596195A (zh) 一种地形数据处理方法、系统、装置及计算机存储介质
CN116310078B (zh) 一种基于urdf的数字孪生创建方法

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