iOS全景視圖

最近在搞全景瀏覽的項目,

找了幾天資料發現,大部全景視圖都是用專業的軟件導出成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,

https://github.com/smartapps-fr/JAPanoView

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

使用 GLKTextureLoadercubeMapWithContentsOfFilestextureWithContentsOfFiletextureWithCGImage 我們很容易渲染出來一個球體效果,難點就在於根據手勢的拖動與縮放改變球體


對於全景視頻的話,推薦一個從code4app得到的資源

http://code4app.com/thread-11912-1-1.html

這個項目很好,大家可以參考(以後會更新相關的代碼)

發佈了25 篇原創文章 · 獲贊 10 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章