基于产业应用的WebVR应用方法技术

技术编号:33032229 阅读:10 留言:0更新日期:2022-04-15 09:09
本申请公开了一种基于产业应用的WebVR应用方法,属于虚拟现实技术领域,针对现有技术中WebVR应用因数据冗余、调度策略等引起的性能不足和体验感差的难题。对模型的网格和贴图文件进行优化,使用LWRP渲染管线自定义渲染管线,大大节省模型占用内存,使得渲染效率提升了30%;使用轻量级WebGL引擎和Three.JS进行开发,克服了之前的WebVR应用对浏览器插件的依赖,使得应用可在不同浏览器进行自由部署,提高了应用的可访问性和安全性;使用AssetBundle管理资源方式对资源进行打包、动态加载和卸载,提高了后期的维护效率。提高了后期的维护效率。

【技术实现步骤摘要】
基于产业应用的WebVR应用方法


[0001]本专利技术涉及一种基于产业应用的WebVR应用方法,属于虚拟现实领域。

技术介绍

[0002]5G网络的发展使得虚拟现实(Virtual Reality,VR)和增强现实技术(Augmented Reality,AR)受到了越来越多领域的关注,WebVR是一种特殊的VR体验形式,其将VR体验搬进了浏览器,用户通过浏览器就能够获得完整的VR体验,不仅降低了VR的体验门槛,同时也扩展了VR的使用环境和使用范围。
[0003]常见的WebVR应用在场景模型创建上分为两种:一种是照片全景模式实,将拍摄的360度实景照片拼接成的一个全景展示图像,观察者站在原地可360度观看,这种虚拟场景的观察点是预置好的,不可随便移动;另一种是使用3D建模,使用3D Max或Maya等建模工具创建3D场景和3D模型,用户可进行全景无死角漫游,并可对场景中任意3D模型的单独操作。
[0004]目前的3D建模仅考虑美术效果,不考虑性能表现,而WebVR应用需要通过网络传输模型文件,复杂模型和冗余的数据会导致网络传输出现延迟和卡顿,进而影响用户体验感,这使得规模大小和渲染效果受到很大的限制,并且WebVR应用因调度策略等问题,还会引起性能不足和体验感差等问题。

技术实现思路

[0005]本专利技术提供一种基于产业应用的WebVR应用方法,优化场景模型,去除冗余数据,使WebVR应用可以流畅运行,同时提升场景渲染的视觉效果,提升使用者的体验感。
[0006]本专利技术采取的技术方案是,一种基于产业应用的WebVR应用方法,包括以下步骤:
[0007]1)使用3DStudioMax创建三维模型;
[0008]2)将步骤1)创建的三维模型导入Unity3D编辑器中,使用Unity3D编辑器创建虚拟场景及UI;
[0009]3)使用Unity3D编辑器对步骤2)建立的虚拟场景进行材质处理、灯光设置和烘焙;
[0010]4)使用Unity3D编辑器,以C语言编写虚拟场景的交互程序,完成虚拟场景中对象间交互功能以及数据存储、访问;
[0011]5)将步骤3)完成后的虚拟场景、步骤4)完成后交互程序以WebGL格式发布并部署至Web服务器;
[0012]在步骤3)中,使用自我管理引用的方法,在编辑器模式下存储纹理文件及其与预制体表现材质之间的引用关系。
[0013]优化的,上述基于产业应用的WebVR应用方法,使用自我管理引用的方法,在编辑器模式下存储纹理文件及其与预制体表现材质之间的引用关系,其包括以下步骤:
[0014]3‑
1)将预制体表现材质所使用的纹理信息保存到PropertiesName和PropertiesTextureName两个变量中;将变量名打包到Bundle中,且变量名在重新解开Bundle的时候得到;
[0015]3‑
2)在加载出纹理文件后,建立纹理名字与纹理文件的关系表,并建立纹理的查找表Texture2DBundlerCache;通过纹理名字对纹理进行添加、查找、删除等操作;
[0016]3‑
3)修改预制体表现材质代码;当预制体表现材质不使用时,切断预制体表现材质与纹理的引用关系并将新生成的纹理文件删除;在预制体表现材质使用时,重新将预制体表现材质与纹理的引用关系恢复。
[0017]优化的,上述基于产业应用的WebVR应用方法,针对三维模型的网格数据,使用glTF配合Draco压缩的方式进行优化;针对三维模型的模型贴图,将png文件转换为basis文件。
[0018]优化的,上述基于产业应用的WebVR应用方法,在步骤3)中,对虚拟场景使用LWRP渲染管线进行渲染,并对LWRP渲染管线中的渲染代码做出改进,具体改进为:在没有特效、不需要刷新的界面中,复用之前的渲染效果;只在有点击事件、滑动事件、特效需要刷新的事件时,对界面的渲染效果进行更新。
[0019]优化的,上述基于产业应用的WebVR应用方法,在步骤5)完成后,通过WebGL调用用户终端设备的GPU进行渲染操作;unity3D编辑器中通过脚本将所需要的资源打包成AssetBundle文件上传至服务器中。
[0020]优化的,上述基于产业应用的WebVR应用方法,步骤5)完成后,使用GUI的方式进行数据交互,使用文字标签、输入域和按钮等控件构成的GUI作为体验者身份验证和信息维护的方式,通过事件监听方法与数据进行交互;采用MVC模式将前端界面通过控制器与后端的数据处理分离;
[0021]步骤5)完成后,定义射线方式完成体验者与模型和按钮的互动,通过鼠标单击发射射线,如果交互目标被击中,则进行互动。
[0022]优化的,上述基于产业应用的WebVR应用方法,体验者的数据以JSON格式的数据文件存储,并将数据导入到非关系型数据库Mongo数据库中,其具体过程为:
[0023]6‑
1)为每个体验者设立一个账号,生成一个“用户名.json”格式的数据文件,数据文件采用键值对进行记录;
[0024]6‑
2)创建用户实体UserData,在前端的GUI中获取数据,并通过UserData实例化对象传递数据,对.json文件进行读写操作;
[0025]6‑
3)使用C语言内置的I/O类库、File和FileStream及JsonUtility类库进行文件读写;读取数据时,将json字符串转成UserData对象;保存数据时,则将UserData对象转成json字符串。
[0026]本申请的有益效果在于:
[0027]本申请的技术方案,克服WebVR应用对浏览器插件的依赖,提高应用的可访问性和安全性;优化场景模型,去除冗余数据,使WebVR应用可以流畅运行,同时提升场景渲染的视觉效果,提升使用者的体验感;对内容管理实现可动态加载,提高后期维护的效率。
[0028]本申请的技术方案中,对模型的网格和贴图文件进行优化,使用LWRP渲染管线自定义渲染管线,大大节省模型占用内存,使得渲染效率提升了30%;使用轻量级Web GL引擎和Three.JS进行开发,克服了之前的WebVR应用对浏览器插件的依赖,使得应用可在不同浏览器进行自由部署,提高了应用的可访问性和安全性;最后使用AssetBundle管理资源方式对资源进行打包、动态加载和卸载,提高了后期的维护效率。
附图说明
[0029]图1为本申请的基于产业应用的WebVR应用方法的硬件架构示意图;
[0030]图2为本申请的基于产业应用的WebVR应用方法的操作流程图;
[0031]图3为本申请的基于产业应用的WebVR应用方法的应用构建流程图。
具体实施方式
[0032]下面结合附图与具体实施例进一步阐述本专利技术的技术特点。
[0033]此实施例公开了一种基于产业应用的WebVR应用方法,其基于如图1所示的硬件架构实现。此实施例的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于产业应用的WebVR应用方法,包括以下步骤:1)使用3DStudioMax创建三维模型;2)将步骤1)创建的三维模型导入Unity3D编辑器中,使用Unity3D编辑器创建虚拟场景及UI;3)使用Unity3D编辑器对步骤2)建立的虚拟场景进行材质处理、灯光设置和烘焙;4)使用Unity3D编辑器,以C语言编写虚拟场景的交互程序,完成虚拟场景中对象间交互功能以及数据存储、访问;5)将步骤3)完成后的虚拟场景、步骤4)完成后交互程序以WebGL格式发布并部署至Web服务器;其特征在于:在步骤3)中,使用自我管理引用的方法,在编辑器模式下存储纹理文件及其与预制体表现材质之间的引用关系。2.根据权利要求1所述的基于产业应用的WebVR应用方法,其特征在于:使用自我管理引用的方法,在编辑器模式下存储纹理文件及其与预制体表现材质之间的引用关系,其包括以下步骤:3

1)将预制体表现材质所使用的纹理信息保存到PropertiesName和PropertiesTextureName两个变量中;将变量名打包到Bundle中,且变量名在重新解开Bundle的时候得到;3

2)在加载出纹理文件后,建立纹理名字与纹理文件的关系表,并建立纹理的查找表Texture2DBundlerCache;通过纹理名字对纹理进行添加、查找、删除等操作;3

3)修改预制体表现材质代码;当预制体表现材质不使用时,切断预制体表现材质与纹理的引用关系并将新生成的纹理文件删除;在预制体表现材质使用时,重新将预制体表现材质与纹理的引用关系恢复。3.根据权利要求1所述的基于产业应用的WebVR应用方法,其特征在于:针对三维模型的网格数据,使用glTF配合Draco压缩的方式进行优化;针对三维模型的模型贴图,将png文件转换为basis文件。4.根据权利要求1所述的基于产业应...

【专利技术属性】
技术研发人员:于洋严小天郭秋华刘猛张晴晴
申请(专利权)人:北京航空航天大学青岛研究院
类型:发明
国别省市:

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

1