一种大型工业三维模型渲染的方法技术

技术编号:30757167 阅读:17 留言:0更新日期:2021-11-10 12:10
本发明专利技术提出了一种大型工业三维模型渲染的方法,包括以下步骤:S1.建模工程师根据实际的工业现场布局,并导出模型文件;S2.建模工程师、前端开发人员评估模型文件,若模型文件符合开发规范,则进行步骤S3;否则,返回步骤S1;S3.前端开发人员渲染模型,具体包括:S31.加载模型;S32.通过模型压缩工具,对网格模型进行压缩;S33.如果是首次加载模型,则将文件缓存到indexDB中;若不是首次加载该模型,则直接在indexDB查询对应模型,获取二进制数据;S34.判断模型是否含有动画,若解析完的模型数据中带有动画数据,则使用ANIMATION_MIXER工具渲染动画;否则,直接使用GLTF_LOADER渲染。该方法能够利用浏览器随时随地加载、渲染三维模型,大大减少企业的软件开发、应用成本。应用成本。应用成本。

【技术实现步骤摘要】
一种大型工业三维模型渲染的方法


[0001]本专利技术涉及模型渲染的
,特别是一种大型工业三维模型渲染的方法。

技术介绍

[0002]1、OpenGL(Open Graphics Library:开放图形库或者开放式图形库)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。
[0003]2、WebGL提供了通过浏览器直接和底层的OpenGL库打交道的能力。
[0004]3、three.js是在WebGL的基础上进行了进一步封装和简化的工具库,也可以称其为“三维引擎”。经过three.js的封装后,屏蔽了所有的WebGL的细节,前端人员可以向开发正常的JS程序一样制作3D场景。
[0005]4、Web Worker是HTML5标准的一部分,这一规范定义了一套API,它允许一段JavaScript程序运行在主线程之外的另外一个线程中。
[0006]利用上述技术及其关联技术(javaScript等),可以实现超大三维模型(一般不大于2G)在Web浏览器的加载、渲染、交互。但是,目前工业世界大型三维模型只能在指定的三维客户端程序中运行,现提出一种大型工业三维模型渲染的方法。

技术实现思路

[0007]本专利技术的目的就是解决现有技术中的问题,提出一种大型工业三维模型渲染的方法,能够利用浏览器随时随地加载、渲染三维模型,大大减少企业的软件开发、应用成本。
[0008]为实现上述目的,本专利技术提出了一种大型工业三维模型渲染的方法,包括以下步骤:
[0009]S1.建模工程师根据实际的工业现场布局,并导出模型文件;
[0010]S2.建模工程师、前端开发人员评估模型文件,若模型文件符合开发规范,则进行步骤S3;否则,返回步骤S1;
[0011]S3.前端开发人员渲染模型,具体包括:
[0012]S31.加载大模型;
[0013]S32.通过模型压缩工具,对网格模型进行压缩;
[0014]S33.如果是首次加载模型,则将文件缓存到indexDB中;若不是首次加载该模型,则直接在indexDB查询对应模型,获取二进制数据;
[0015]S34.判断模型是否含有动画,使用THREEJS提供的GLTF_LOADER工具解析加载的文件,若解析完的模型数据中带有动画数据,则使用ANIMATION_MIXER工具渲染动画;否则,直接使用GLTF_LOADER渲染。
[0016]作为优选,步骤S1中,建模工程师通过建模软件制作三维模型,并根据前端工程师
的需求,导出相应格式的模型文件,包括obj+mtl,gltf/glb,fbx等格式文件,优选采用gltf/glb格式的模型文件。
[0017]作为优选,步骤S2中,评估模型的方法为:通过模型预览工具,对模型的结构、组件命名展开评审,对于不符合开发规范的模型文件,返回步骤S1,将需要修改的部分进行调整、修改;对于符合开发规范的模型文件,进行步骤S3的操作。
[0018]作为优选,步骤S2中,采用的模型预览工具为GLTF

VIEW。
[0019]作为优选,步骤S31中,使用web worker多线程加载模型。
[0020]作为优选,步骤S32中采用gltf

pipeline模型压缩工具,对网格模型进行压缩,若压缩成功,则利用Basis Universal GPU纹理技术,将模型中的贴图转化为basic文件;否则,返回步骤S1。
[0021]作为优选,将模型中的贴图转化为basic文件后,再次判断是否压缩成功,若压缩成功,则进入步骤S33;否则,返回步骤S1。
[0022]作为优选,步骤S32中,对网格模型进行压缩的压缩比为10:1。
[0023]作为优选,步骤S34中,在判断模型是否含有动画之前,先使用剔除技术剔除不需要渲染的模型部分。
[0024]本专利技术的有益效果:本专利技术提高了浏览器渲染模型的上限,可以流畅的渲染2G左右的超大模型(一般在桌面级应用也很少会单独渲染如此大的模型),极大的降低了大模型的渲染门槛,节约了企业的软件成本。
[0025]本专利技术的特征及优点将通过实施例结合附图进行详细说明。
【附图说明】
[0026]图1是本专利技术实施例1的流程图。
【具体实施方式】
[0027]本专利技术一种大型工业三维模型渲染的方法,包括以下步骤:
[0028]S1.建模工程师根据实际的工业现场布局,建模工程师通过blender、CINEMA4D等建模软件制作三维模型,并根据前端工程师的需求,导出相应格式的模型文件,包括obj+mtl,gltf/glb,fbx等格式文件,优选采用gltf/glb格式的模型文件;
[0029]S2.建模工程师、前端开发人员评估模型文件,通过GLTF

VIEW等模型预览工具,对模型的结构、组件命名展开评审,对于不符合开发规范的模型文件,返回步骤S1,由建模工程师将需要修改的部分进行调整、修改;对于符合开发规范的模型文件,进行步骤S3的操作;
[0030]S3.前端开发人员渲染模型,具体包括:
[0031]S31.采用分包流式的手段加载大模型,分包流式是指将一个大文件拆分成多个数据包,利用web worker等js工具,多线程的加载这些数据包,最终汇总到主线程中,优选使用web worker多线程加载模型;
[0032]S32.采用gltf

pipeline模型压缩工具,对网格模型进行压缩,压缩比为10:1左右,gltf

pipeline并不会压缩模型中的纹理贴图,若压缩成功,则利用Basis Universal GPU纹理技术,将模型中的贴图转化为basic文件;否则,返回步骤S1;将模型中的贴图转化
为basic文件后,再次判断是否压缩成功,若压缩成功,则进入步骤S33;否则,返回步骤S1;
[0033]S33.如果是首次加载模型,则将文件缓存到indexDB中;若不是首次加载该模型,则直接在indexDB查询对应模型,获取二进制数据;indexDB具有良好的查询性能,理论上可以无限拓展的缓存空间,因此优选使用indexDB缓存技术,对模型进行缓存;
[0034]S34.判断模型是否含有动画,使用THREEJS提供的GLTF_LOADER工具解析加载的文件,若解析完的模型数据中带有动画数据,则使用ANIMATION_MIXER工具渲染动画;否则,直接使用GLTF_LOADER渲染。
[0035]进一步地,步骤S34中,在判断模型是否含有动画之前,先使用剔除技本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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,将...

【专利技术属性】
技术研发人员:钱晨阳李建成
申请(专利权)人:杭州玖欣物联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1