最近在搞全景瀏覽的項目,
找了幾天資料發現,大部全景視圖都是用專業的軟件導出成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
這個項目很好,大家可以參考(以後會更新相關的代碼)