webVR全景图多种方案实现

  有一篇文章我说了H5实现全景图预览,全景视频播放的原理,有需要的小伙伴可以自行去看一下

  今天我就拿出我的实践干货出来,本人实测实测过

需求

  老板:我需要可以上传全景图片,然后手机网站上都可以360度看全景图

需求分析

  一个上传功能

  一个全景360度预览功能

正文

  H5 上传功能就不说了,或下一篇文章说。

  H5 有几种方式实现呢?

 第一种方案:three.js(大哥出山吧)

  作为前端界全景、3D大哥,大哥请开始你的表演

  官方地址:https://threejs.org/

  官方案例:https://threejs.org/examples/#css3d_panorama

  源码:简单,引入three,引入3d

  实现:2:1的全景在PC端,可以预览,左右上下 鼠标移动

  优点:aaaaa,我说不出口

  缺点:PC端不能放大缩小,图片需要裁剪六张,移动端,不能放大缩小,更加糟糕的是渲染滴很差,截图为证,手机也是如此(此方案 凉凉 不符合需求)

  大哥,就这样跪了吗?我没有深入的研究three,可能他的强大我没有用上吧

  刚开始我用的是,node+three  竟然没有 CSS3DRenderer 安装包 ,只有2D的 并且引用three 也是报各种错误 

  放一个我引入成功的示范:import * as THREE from "three";

  官方实例的静态页面,跟官方一个效果,但是不是我想要的;我不想切六张图,还有渲染也不好,图中出现黑色这是我们老板打死也不能接受的。是我没有深入了解

  本例子,不接受反驳,有能力的自己去研究。反正我是没有这个本事

  总之,这个我能力不够,搞不定 

  放一下源码:

  貌似有点多啊~ 你们还是去官网找吧,找不到私信一下

  

webVR全景图多种方案实现

 

第二种方案:aframe

  官方地址:https://aframe.io/

  官方案例:https://aframe.io/examples/showcase/sky/

  源码:真是太简单了,引入aframe 框架, <a-sky></a-sky> 

  实现:2:1的全景在PC端,可以预览,左右上下 鼠标移动,还支持VR模式,

  优点:简单方便,一顿操作猛于虎

  缺点:PC端不能放大缩小,移动端只能左右移动,不能放大缩小,不能上下滑动(此方案 凉凉 不符合需求)

<html> <head> <script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script> </head> <body> <body> <a-scene> <a-sky src="img/po.jpg" rotation="0 -130 0"></a-sky> </a-scene> </body> </body> </html>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjyyd.html