【技术实现步骤摘要】
一种基于WebGL虚拟现实自动旋转展示的方法
本专利技术涉及场景展示系统中图形展示
,特别是涉及一种基于WebGL虚拟现实自动旋转展示的方法。
技术介绍
WebGL是一种在任何可兼容的网页浏览器中渲染3D图形的JavaScriptAPI,无需加装插件。通过WebGL的技术,只需要编写网页代码即可实现3D图像的展示。WebGL是基于OpenGLES提供的3D图像API。可以利用JavaScript实现自动内存管理,WebGL使用GLSL作为着色器。虚拟现实(VirtualReality,简称VR)是利用计算机技术模拟产生三维的虚拟世界,让使用者及时、没有限制地感知虚拟空间内的事物。虚拟现实技术利用视觉、听觉、触觉、嗅觉等对人体进行全方位欺骗,达到让使用者“身临其境”的效果。近几年来,虚拟现实技术蓬勃发展,各大厂商也纷纷进入虚拟现实领域大展拳脚,该领域的投资并购不胜枚举。如图1所示,现在市面上的场景展示系统大多是基于正常照片的滚动式的照片橱窗浏览系统,图片底部是一个可以左右滑动的照片选择器,用户可以点击最左边或最右边的按钮移动照片选择器中的照片,点选其中的某张照片可以改变选择器上方的展示大图。现有的场景展示系统只能通过从某个固定角度拍摄的照片观看场景,具有较大的观察死角,无法客观了解场景的全貌,容易造成网上看到的与实地看到的场景有较大差距,实用性能不佳,存在着不足,不能满足社会高速发展的需求。综上所述,针对现有技术的缺陷,特别需要一种基于WebGL虚拟现实自动旋转展示的方法,以解决现有技术的不足。
技术实现思路
针对原有的场景展示系统存在盲区,导致无法客观了 ...
【技术保护点】
1.一种基于WebGL虚拟现实自动旋转展示的方法,其特征在于:包括如下步骤:步骤S1:通过拍摄设备到现场获取全景照片或视频;步骤S2:利用WebGL中的three.js将拍摄到的全景照片构成3D场景的基础构建,采用3D引擎库提升开发的效率;步骤S3:构建多个全景场景切换,即进入房间后的走动效果;步骤S4:构建全景场景的自动旋转;自动旋转的实现方式包含有电脑端、移动端;步骤S5:实现虚拟现实分屏观看;步骤S6:分屏模式下实现点击效果。
【技术特征摘要】
1.一种基于WebGL虚拟现实自动旋转展示的方法,其特征在于:包括如下步骤:步骤S1:通过拍摄设备到现场获取全景照片或视频;步骤S2:利用WebGL中的three.js将拍摄到的全景照片构成3D场景的基础构建,采用3D引擎库提升开发的效率;步骤S3:构建多个全景场景切换,即进入房间后的走动效果;步骤S4:构建全景场景的自动旋转;自动旋转的实现方式包含有电脑端、移动端;步骤S5:实现虚拟现实分屏观看;步骤S6:分屏模式下实现点击效果。2.根据权利要求1所述一种基于WebGL虚拟现实自动旋转展示的方法,其特征在于:获取展示素材的全景照片或视频的方式为:1)、直接拍摄全景照片或视频;2)、采用单反加鱼眼的模式拍摄多张照片,使用全景照片拼接软件拼合成一张全景图;3)、通过多个运动相机同时拍摄多个角度的视频,再使用拼接软件拼合成一个全景视频。3.根据权利要求1所述一种基于WebGL虚拟现实自动旋转展示的方法,其特征在于:构建基础3D场景的步骤为:调用THREE.Scene构建3D场景;调用THREE.WebGLRender生成渲染器;调用THREE.PerspectiveCamera创建透视摄像机;调用THREE.TextureLoader将全景图片或者全景视频传入生成图片texture;调用THREE.MeshBasicMaterial再将刚刚生成的texture作为map的参数传入生成全景材质;调用THREE.SphereGeometry创建球形的顶点模型;调用THREE.Mesh将球形定点模型与全景材质作为参数传入生成一个带材质的球形网格模型;将camera与mesh归零处理,并将mesh的scale.z设置为-1,将camera与mesh添加到场景中;创建functionrender函数,在其中调用webGLRender(camera,scene)渲染场景;调用requestAnimationFrame函数将render函数传入,做到每一次浏览器的渲染,必定调用render函数;将包含代码的页面与素材部署到服务器;打开浏览器访问网页地址,浏览场景展示系统。4.根据权利要求1所述一种基于WebGL虚拟现实自动旋转展示的方法,其特征在于:构建多个全景场景切换包括如下步骤:调用THREE.MeshTHREE.MeshBasicMaterialTHREE.PlaneGeometry构建一个点击按钮;将按钮放置在全景球的某个合适位置,如走道上,门口;调用THREE.Raycaster生成一条射线,对webGLRender.domElement监听click事件,记入鼠标点击位置,在鼠标位置生成一条射线,射线在发射过程中如果碰到按钮,会将第一个碰到的按钮返回,通过检测是否返回按钮可以判断按钮被点击了;重复调用生成全景场景全景球的方法,传入第二张全景图,生成全景球2号;在按钮上设置监听当按钮被点击...
【专利技术属性】
技术研发人员:施泽焱,
申请(专利权)人:实野信息科技上海有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。