ndroid三种姿势带你玩转度全景图功能

大家好我是张鹏辉(道长)人如其名,我是天桥上算命的,转发这条博文,接下来一个月会有意想不到的惊喜发生。最近微博上的全景图火了,所以决定实现一下。工程里面图片资源来自网络,如有侵权请联系我,马上删除当然实现的方式很多比如OpenCV、u3d等。这里提供三种方式实现:

先看下三种实现的效果:

第一种方式使用OpenGL来实现(上面gif图截取因为博客限制上传图片的大小,我压缩了,看起来有些卡其实很流畅的)可以看到支持旋转手机查看、或者拖动图片查看、可以看到右边中心部分有个指示器会随着角度变化而变化并且点击可以还原起始位置。

有些小伙伴懒得看原理,直接就想拿来用所以我先说集成方式吧!

首先我们需要了解全景图是什么东西,全景图是一种广角图。通过全景播放器可以让观看者身临其境地进入到全景图所记录的场景中去,通常标准的全景图是一张2:1的图像,其背后的实质就是等距圆柱投影。等距圆柱投影是一种将球体上的各个点投影到圆柱体的侧面上的一种投影方式,投影完之后再将它展开就是一张2:1的长方形的图像。比较常见的就是应用在地图上的投影。

得到全景图后那我们就需要展示了,看到旁边地球了吗?

怎么展示呢简单来说就是把全景图片整个贴到一个球体上。好了知道原理那我们就该考虑在android上怎么实现了,在android中绘制3d图形可以使用OpenGL (就不说OpenGL 基础了想看的自己百度一大堆资料)。

引用tim_shadow大佬的关于全景图一篇文章介绍在OpenGL ES中基本上所有的立体图像都是通过一个个的小三角形拼接而成我们知道球面上面的每一个点(P(x,y,z))都会满足方程组(球的极坐标方程):x = r * sin(a) cos(b)y = r * cos(a)z = r * sin(a)sin(b)其中 r为球的半径,a为线段 OP与 z轴正方向所夹角,b为 OP在xoy平面的投影 OP‘ 与x的正方向所夹角

纹理和图片绑定绘制到屏幕上

第一想到的就是重力感应传感器,可是只能获得我们向那个位置偏移的方向,显然不可能满足我们旋转的需求,使用陀螺仪传感器。陀螺仪就是内部有一个陀螺,它的轴由于陀螺效应始终与初始方向平行,这样就可以通过与初始方向的偏差计算出实际方向。陀螺仪对设备旋转角度的检测是瞬时的而且是非常精确的。

首先注册陀螺仪传感器根据具体需要自己设置灵敏度,当然越灵敏,越耗电。

我这里为了测试设置了SENSOR_DELAY_FASTEST,实际使用建议用SENSOR_DELAY_GAME

当传感器的值发生变化时,例如磁阻传感器方向改变时会调用OnSensorChanged(). 当传感器的精度发生变化时会调用OnAccuracyChanged()方法。

从 x、y、z 轴的正向位置观看处于原始方位的设备,如果设备逆时针旋转,将会收到正值;否则,为负值得到两次检测到手机旋转的时间差(纳秒),并将其转化为秒将手机在各个轴上的旋转角度相加,即可得到当前位置相对于初始位置的旋转弧度,将弧度转化为角度

每次获得角度数据后只需要y,x的值计算位移的值

因为全景图上下旋转会翻转整个图所以我这里设置了上下只能偏移50f,如果不限制你可以去掉

加入手势这里没什么好说的了,就是重写onTouchEvent()方法。这里唯一要注意的就是,当手指点击屏幕的时候要关闭陀螺仪传感器的监听不然会引起冲突。当手指离开屏幕,重新监听陀螺仪传感器。和上面也一样只是这里换成获取手指偏移角度,而不是传感器的数值,直接看代码。

指示器这里弄了一个角标指示当前在全景图的角度,并且点击还原起始角度。可以想象同样是获取角度,我们直接放在全景图改变的地方,让指示器一起改变,而我们改变的地方只有2个陀螺仪和拖动屏幕。我这里指示器放了一张图也就是一个 ImageView 控件

1.为指示器加入动画跟随全景图一起转

2.点击指示器还原起始位置

看代码:

第二种也就是谷歌官方为移动平台下VR解决方案,有兴趣的可以点开下面链接玩玩,我们只使用其中全景图模块。

考虑到在多种机型兼容性,还有原生WebView的一些坑,我这里使用腾讯的X5内核的WebView。

你可以使用js交互将你的地址传到HTML上

直接上代码了:

很简单就是把系统的WebView换成Tencent_Webview其他类似

最后附上插件的可配置参数:

三种方式都实现完了,不用担心今天所有代码都会放在GitHub上。三种方式具体你使用哪种我还是没有推荐的这里只是一张图,你可以多张图实现来完成简单的全景街景功能!点击图片某个区域,跳转到下一个街景的图,包括百度地图里面也是一张张全景图拼接而成。

THE END
0.前端全景图VR最近有人问到这个前端实现这个vr看房,看车这种的需求,如何实现 实现的方案大致有2种,一种是通过某些工具来制作vr/全景图的网页,只要准备好图片就行,其他的都是自动配置,自动生成,然后把生产的网页放到服务器,前端请求获取这个网页的链接,然后显示,小程序用webView的src属性接收就行,其他的vue啥的也都更简单; 工具可用krpanjvzquC41yy}/lrfpuj{/exr1r1;29;98eh7ccm
1.VR全景图片如何拍摄制作,拍摄制作过程中要注意什么?|图文故事蛙色3DVR平台打造的互动营销元宇宙解决方案,为商企提供VR大空间,3D展厅,虚拟展厅,720全景制作工具和服务,大大提升了商企宣传转化效果。jvzquC41yy}/yjxgg0io1li16:?5
2.VR图片VR图片大全全景网-高端图片库和正版图片素材网站,拥有大量的VR图片及VR图片素材,个人免费下载使用高清图片,为企业提供一站式全媒体创意解决方案。jvzquC41o0wvcwokpi4dqv4ecvkhq{~14267:A720jznn
3.vivoVR图片vivoVR高清图外观图细节图ZOL中关村在线为您提供vivo VR VR眼镜图片大全,包括vivo VR外观图,vivo VR细节图,vivo VR界面图等,vivo VR真机图片360度完全欣赏jvzquC41fgzbku3|qn4dqv3ep1728:433865;94rke4tj}rn
4.VR全景图查看器(VRLook)VR全景图查看器(VRLook)VR全景图查看器(VRLook)是一款可以查看VR图片的软件,根据VRLook客户可以轻轻松松打开计算机中的全景图片并开展查看,软件也可以查看一般图片,不过是以VR的方式查看,有必须的可以下载应用。 【功能介绍】 1.加上电脑上存的全景图(一般图片也可以行,便是装进去很怪异罢了)。 jvzquC41zkg{cr3|qn4dqv3ep1jfvjnn17907;69354tj}rn
5.vr全景图片vr全景图片图片、vr全景图片高清图片,堆糖精选最新vr全景图片图片大全,一键收藏免费下载。jvzquC41yy}/f~nvcpm/exr1dnuhu8yci1Eocvj?xt+F7.=7'C>&G?*;;'GG'N:';D+CG.J9':?&:@
6.VR虚拟现实科技图片免费下载PNG素材编号zq9i5jxyv图精灵为您提供VR虚拟现实科技免费下载,本设计作品为VR虚拟现实科技,格式为PNG,尺寸为600x600,下载后直接使用,下载VR虚拟现实科技图片素材就到图精灵。jvzquC4183oz{x4ivvq
7.VR全景拍摄,360度全景摄影,全景视频制作,天源文化郑州中学vr全景(郑州商学院vr全景) VR全景动画是什么? VR全景看车(vr全景看车) 微信360VR全景看房是什么啊? 丰县中等学校vr全景 VR全景图内怎么加入多个场景? 小米vr全景播放(小米全景拍摄怎么用法) 小米vr一体机 能看vr视频么 vr全景活动图片(vr全景图片视频) jvzquC41yy}/njsujkvjp7hqo1
8.vr全景展示vr全景图片vr全景图制作软件在这里有你需要的vr全景展示,vr全景图片,丰富的模板可以供你选择和下载。如果需要制作vr全景图可以直接使用人人秀vr全景图制作软件轻松制作。jvzquC41tt~/ew4eqpzfp}2ttck5j
9.VR全景图查看器免费下载VR全景图查看器PC下载VR全景图查看器是款很实用的查看用户的VR图片软件,这个软件可以添加全景存储在您的计算机,也可以让你选择图像存储你想要的到的地方,进行保存程序中,想要的时候就可直接到程序中直接读取,这个软件会把图片存到一个指定的文件夹,方便读取它,查看图片可以左右切换浏览的。 基本简介 VR全景图查看器(VRLook)是一款能够jvzquC41uqlu0
10.汽车实拍VR看车最新汽车图片大全汽车图片大全,易车图片库是国内汽车图片量丰富、图片清晰度高的专业图片频道。摄影师为您呈现出,汽车外观、内饰、内部空间、行驶、汽车创意图等精美汽车图片。jvzq<84rjqzp0knvcwzp0lto1
11.VR看车汽车图片大全实拍图片 车型详解 VR看车 图片精选 分类: 全部 内饰VR 外观VR 沃尔沃XC70新能源 沃尔沃XC70新能源 高尔夫GTI 日产N6 岚图泰山 奥迪A5L Sportback 奔驰CLA级新能源 风云T11 五菱星光730新能源 锋坦Frontier Pro PHEV 极氪X 海豹06DM-i旅行版 海豹06DM-i旅行版 锋坦Frontier Pro PHEV 锋坦Frontier Pro jvzquC41o0vdc~yq0eun0ls1cwzp1yne1ktug{nqt1
12.vr全景真人美女图片下载vr全景真人美女高清图片素材大全3d溜溜网(3d66)的vr全景真人美女设计灵感素材库,给设计师精选10万+高清设计灵感图片限时免费下载,涵盖多种风格,高清JPG/PNG格式,适用于室内设计、建筑设计、家居装饰等场景,助您快速找到设计灵感。jvzquC41nkthijsvw09e8?3eqo5mkwlicpesgufvkqt0tnqcvkuoa@5865;60qyon
13.VR录屏工具(VRCapture)图集图片展示【VR录屏工具(VRCapture)】图集图片展示频道,提供当下VR录屏工具(VRCapture)官方最新版V1.0.44.128客户端截图、VR录屏工具(VRCapture)界面图片、VR录屏工具(VRCapture)官方图、活动图、宣传图等图片赏析服务,还有VR录屏工具(VRCapture)本地下载服务!欢迎您的到来,看软件jvzquC41o{jpyw3{guqz0lto1ritqoy132<3;9832aoncpj0jvsm
14.承压之年裁员凶猛,被Meta收购的10家VR独立工作室的生存之路图片来源:由无界 AI工具生成 自2022年11月以来,Meta迎来了公司史上最大规模裁员,并且2023年仍在持续裁员中,许多部门都在经历优化和重组。 而在今年2月9日,Meta公司宣布完成对Within的收购,这起旷日持久、引来美国反垄断监管机构FTC起诉的收购案终于尘埃落定,同时也使Meta旗下专注VR/元宇宙内容开发的工作室数量达到了jvzq<84hkpgoen3ukpg/exr0ep5cnxhmejgjp872453156821fud/rr{ptyrj=<885620|mvon
15.360度VR全景拍摄、VR全景制作、VR全景地图、VR全景图片、VR全景360度VR全景拍摄,VR全景制作,VR全景地图,VR全景图片制作,VR全景视频制作 所在地 重庆市两江新区金童路9号 联系电话 023-60888887 手机 13206080820 联系人 谢老师 请说明来自顺企网,优惠更多 请卖家联系我 c13206080820 42106891详细介绍 尊敬的商企领导,我是来自重庆信事达广告传媒有限公司的非常荣幸能有机会向您jvzquC41ejuoiznpi0726?<0eqs0kwkq14>:5@<230nuo
16.VeeRVR上线全景图片功能,助力VR内容的创作及分享VeeR VR上线全景图片功能,助力VR内容的创作及分享 VR内容聚合平台VeeR VR近日推出360全景图片平台,支持用户在网页及手机APP上传、观看及分享全景图片,成为国内唯一支持全景视频及图片展示的垂直平台。这也是VeeR在成为包括编辑、上传、分享、数据分析在内的一站式VR内容社区的的重要一步。jvzquC4158qs0lto1pkxuoqcujkt1B5833
17.HTCViveVRHTCViveVR报价参数图片怎么样显示类型:VR头显 刷新率:90Hz 分辨率:单眼:1200×1080 硬件配置:头盔+显示技术体感控制手柄 产品简介:在MWC 2016上,HTC如约公布了旗下虚拟现实装置Vive的售价为799美元(约5210元),2月29日开启预定,4月份发货,首发地区包括美国、加拿大、英国、法国、德国、澳大利亚、日本以及中国等 24 个国家和地区。该价格将包jvzq<84rtqjve}3reqtmkwj0eqs/ew4xtirbu|ju1jzd1?6376?/j}rn