最近在搞全景浏览的项目,
找了几天资料发现,大部全景视图都是用专业的软件导出成H5格式,然后发布到网上,
目前找到的国内是720yun
如果说要把全景视图整合到原生的iOS应用中,方法还是有的
开源的项目里面有不少,但是大部分都放弃更新了,
自己搜集了几个,方便大家以后能用到,感觉请教国内的开发人员都是支支吾吾的(除了真正的大牛会愿意分享)
参考了来自http://www.cnblogs.com/mawenqiangios/p/5884373.html的博客
首先介绍一下,全景图片
这个可以参考几个库,比较老了,但是还能用可以在github中搜到有别的大神帮忙更新的库
PanoramaGL
PanoramaGL是世界上第一个开源的实现360度全景图像的iOS、Android类库。基于OpenGL 支持球,立方体,圆柱。有重力加速等。
很老的一个库了,但是效果做的非常棒,缺点就是非常耗内存,并且作者早已经不在维护了,bug非常多
https://code.google.com/p/panoramagl
本人在生产环境用了很久这个库,所以自己也fork了一个版本,修改了若干bug,满足基本使用
https://github.com/shaojiankui/PanoramaGL
在推荐一个,是我现在用的库
https://github.com/heroims/HelloPanoramaGL
JAPanoView
JAPanoView是一个UIView子类,从立方全景图像创建显示360 - 180度全景,交互式平移和缩放。可以添加任何UIView JAPanoView热点。类库非常棒,完全基于iOS类库实现,没有借助OpenGL
https://bitbucket.org/javieralonso/japanoview/
显然这个库也很久更新了,Bug也有些,偌大互联网也有人fork了下,修复了bug,
Panorama
同样是基于OpenGL的
https://github.com/robbykraft/Panorama
threejs.org
Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象。你可以在它的主页上看到许多精彩的演示。不过,这款引擎目前还处在比较不成熟的 开发阶段,其不够丰富的 API 以及匮乏的文档增加了初学者的学习难度(尤其是文档的匮乏)。但是显示在iOS Webview略显鸡肋。最后放弃之
three.js的代码托管在github上面
https://github.com/mrdoob/three.js
类库非常强大。全景展示仅仅是一个小功能
http://threejs.org/examples/webgl_panorama_equirectangular.html
自己动手实现
GLKit.framework 与OpenGLES
使用 GLKTextureLoader
的cubeMapWithContentsOfFiles
,textureWithContentsOfFile
,textureWithCGImage
我们很容易渲染出来一个球体效果,难点就在于根据手势的拖动与缩放改变球体
对于全景视频的话,推荐一个从code4app得到的资源
http://code4app.com/thread-11912-1-1.html
这个项目很好,大家可以参考(以后会更新相关的代码)