關於虛擬現實(VR)內容開發綜述
目前VR產業以頭顯設備為核心,主要覆蓋硬體、內容製作、平台分發三大業務板塊;VR 是產業鏈較寬較長的行業,具備產業做大的基礎與潛力;VR產業爆發仍需時間,目前面VR行業臨從 B 端應用向 C端市場切換的臨界點;未來VR產業在中國國內很有可能重複之前智能手機的「故事」。
硬體、內容與分發三大業務板塊中,硬體是核心與基礎,目前由國外三大廠主導,內容目前較為缺乏,目前分發平台暫無形成完善生態,未來內容分發由硬體巨頭主導的可能性較大,但專業細分分發平台仍然存在機會。
1.1硬體目前硬體設計邏輯在於:從內容出發,考慮如何讓硬體架構使得內容更好的呈現。
在頭顯設備方面,國外Oculus、HTC vive、Sony三大廠佔據市場龍頭地位,在用戶體驗和VR沉浸感方面已經大幅超出消費者預期。HTC vive依靠精準運動性略拔頭籌。國內的頭戴式 VR 顯示器產業已初具規模。但國內的 VR 頭顯產品中能夠打開市場,迅速積累口碑的產品偏少,與三大廠產品相比,在用戶體驗、技術含量、做工等方面還有一定的差距。從產品形態來看,眼鏡盒子產品為過渡性產品,PC一體機提供了目前最好的使用體驗,但移動性較差;移動一體機代表外來發展趨勢,但目前面臨技術等各方面短板。
在輸入與交互設備方面,新的輸入交互還在探索和創新階段,目前主要分為類似傳統手柄的感應操作桿、手勢識別與手勢捕捉裝備、動作捕捉設備等。VR精確性和沉浸感提升建立在感測系統和交互輸入設備的基礎之上 。未來針對 VR 系統的專業化感應和輸入設備將成為 VR 硬體的標配, 並大大擴展 VR 應用場景和用戶體驗。未來眼球追蹤、手勢識別、動作捕捉是感應和輸入設備的三大發展方向。
在VR視頻拍攝設備方面,目前 VR 視頻源的製作還是需要依賴國外的工業級設備,這部分市場將被高端的設備提供商佔據,國內廠商暫無較大市場機會。拍攝VR視頻則需要視頻拍攝設備能夠以 360 度全方位拍攝,對設備的技術要求很高。
1.2內容VR 內容主要分為 VR 視頻、VR 遊戲和 VR 應用三大塊。VR 視頻、VR 遊戲正處於發展初期,VR 應用目前還在摸索的階段。
VR應用目前主要集中在企業級市場,行業未來前景向好,但行業爆發尚需時機,預計要在VR遊戲與視頻爆發之後,進入爆發高峰期,未來各方面應用正在嘗試中,核心要素在於VR+可以助力具體產業實現更高的效力或創新性商業模式。短期內行業應用投資機會較小,更多在探索嘗試階段。
1.3分發平台內容分發方面,從內容分發渠道來看,主要包括線上的應用商店分發和網站分發。線下分發主要包括體驗店與主題公園模式。
在線上渠道方面,VR內容的線上分發渠道主要以各個硬體廠商自己搭建的渠道為主,第三方內容分發平台還沒有明顯的布局。現有的分發平台也基本沒有盈利能力。
在體驗店方面,硬體廠商、系統集成商和綜合運營商將在線下體驗店的布局中佔有優勢。短期內,VR體驗店會保持數量上的快速增長,並且被資本青睞。畢竟潛在市場有較大,沒有品牌已經建立明確的市場優勢。但隨著體驗店越來越多,未來會逐漸洗牌。
在主題公園方面,主題公園提供的是能夠多人交互的、更豐富的VR體驗,這是家庭場景和體驗店都很難做到的。基於這種獨特的互動體驗以及更強的客流承載能力,主題公園或成為2016年線下體驗戰場上的一支重要力量。
1.4國內現狀硬體方面涉及顯示硬體、體感輸入,高端的還有觸覺反饋等等;此外還有VR一體機,動感座椅等。
目前頭顯做得比較好的有大朋,3G等,體感輸入則有ximmers,諾亦騰等,一體機深圳那邊很多公司都在做,由於基本都是代工廠出方案,一堆公司貼標的運作模式,你也難說貼標的公司是「領先的VR技術公司」,動感座椅在15年遍地開花,樂客,奇境等公司推出了很多產品,算是進行了第一波市場教育,但是由於都是觀覽式VR,缺乏互動性,所以早晚會被市場淘汰。
軟體方面就是VR應用或者遊戲程序開發。而VR根據運行載體還分為PC VR,手機VR(也包含了極具中國特色的一體機VR),不同的運行載體因為運算性能的巨大差異都要實現VR效果其軟體開發方式也不盡相同(比如建模精度,渲染方式等)。
軟體方面因為各大遊戲公司都在憋大招,目前透漏的信息還很少。但是基本可以肯定的是,由於專業美術的支持,傳統的3D遊戲大廠想轉VR不會太難。
此外VR視頻也是VR應用的一大分野,這裡視頻的編碼解碼,網路傳輸等又涉及到不同的領域。而擁有大量視頻資源,視頻技術的視頻網站在這塊的競爭優勢也是非常大,比如樂事,暴風等。
而VR平台,騰訊、樂視都發布了自己的VR平台,估計企鵝最後會碾軋一切,搞出VR界的微信。
目前Nibiru推出的VR SDK能兼容很多VR外設,也算是在VR平台化的一種探索。
2虛擬現實知識列表2.1虛擬現實操作系統也被稱為靈境技術或人工環境,是一種全部或部分由計算機生成的視覺、聽覺、觸覺等多維感官模擬環境。可直接運行在設備上的基本系統軟體,為其它軟體的正常運行提供虛擬現實平台。
2.2虛擬現實硬體主要是指與虛擬現實技術領域相關的硬體產品,是虛擬現實解決方案中用到的硬體設備。目前硬體設備主要分為四類,包括建模設備、三維視覺顯示設備、聲音設備和交互設備。
2.3虛擬現實內容製作是利用計算機技術模擬出來的虛擬世界,具有沉浸感、交互性和多感知性的特點。其中包含虛擬現實內容開發整個生命周期的相關工具及技術。涉及3D引擎、SDK/API、圖形API等具體技術。
2.4應用商店/分發平台這是虛擬現實內容製作成品的集合,可幫助虛擬現實開發者打造一個產品發布渠道,通過該平台開發者可快速的發布相關的虛擬現實應用。
3虛擬現實開發工具與技術3.1外設驅動——Nibiru SDK 睿銳市面上外設多,各有各的SDK,作為開發者應該何從選擇?從何下手?睿銳科技為遊戲外設驅動提供了統一的跨平台解決方案,聲稱適配市面上絕大多數操控外設(包括智能指環、4D 座椅、各種眼鏡等),以及多種設備。顯然這種跨平台的思想同Unity引擎如出一轍。
從功能定位上來講,Nibiru還是比較偏向遊戲領域(從圖表設計即可看出)。但技術的領域應用是自由的,事在人為的。這樣的跨平台多設備外設驅動同樣可以很好的應用於VR技術領域(其實二者很多時候界限本身就不分明)。
值得一提的是,Nibiru CTO在UNITE 2015 虛擬現實技術專場中還特別提到了一種外設,就是通過感知玩家腦電波來獲取玩家的精神集中程度,從而控制玩家在遊戲中的集中力。這個是比較有意思的一點。
從技術上說,Nibiru是基於藍牙設備和Android技術體系結構創建的,官方提供的文檔主要針對Android工程師。至於其它平台如何使用,還有待調研和探討。
Nibiru開發者工具 http://www.inibiru.com/nibirusdk.html?lan=1
Nibiru開發者中心 http://dev.inibiru.com/index.jsp
3.23D引擎目前的主流狀況是,主流遊戲引擎由於其功能之強大,被用於諸多VR產品的開發。另外一點值得一提的是,並非所有的VR產品或解決方案都需要依賴外設。以展示與簡單交互為主要內容的VR產品,在不涉及複雜的行業相關精準計算的條件下,會首選3D引擎配合電腦來完成。
(1)Unity
(官網:http://unity3d.com/industries)
雖然劉鋼先生在UNITE 2015上也說,抱歉,Unity引擎目前對於VR在BIM領域(以及其它領域)沒有提供原生的功能,但是Unity引擎本身功能靈活,有著對外開放的平台(允許第三方添加各種各樣的插件)。另在大會上例舉了一個來自麥肯錫的統計數字,稱市面上90%的VR產品都是用Unity引擎研發。雖然這個數字沒有考證,但是縱觀市面上公示出來的VR產品,但凡有一點Unity開發經驗的人都會覺得,這類產品用Unity引擎開發很容易實現。
主要難點在於特殊的高標準Shader的自主研發設計以及高模擬的現實模型提煉。有媒體說,Unity引擎在逐漸向虛擬現實遊戲轉型(http://digi.it.sohu.com/20141125/n406359656.shtml)。
(2)Unreal Engine 虛幻引擎
(官網:https://www.unrealengine.com/zh-CN/what-is-unreal-engine-4)
午時科技有限公司的虛擬產品就是用UE4完成的,特點是效果絢麗風格唯美,很適合建築或內裝的展示。
UE4與Unity5的競爭也趨於白熱化的狀態,這給我們開發者帶來最大的好處是,昔日可望不可及的大型3D引擎如今已經垂手可得了。
接下來提幾個專門用於VR領域的軟體開發平台。
(3)Quest3D
(官網:http://quest3d.com/)
Quest3D主要面向建築領域,雖然也包含邏輯處理,相比之下更側重於給設計人員使用。簡單快速搭建虛擬建築模型,是Quest3D的主要用意。
(4)VRP
(論壇:http://bbs.vrp3d.com/forum.php)
(5)EON
其它開源的三維JS引擎還有
一、小場景的
1.BabylonJS:http://www.babylonjs.com/
優點:有微軟背景,有不少的demo,有較詳細的api文檔,有供測試的平台,有提供3dsmax轉換模型的插件,
缺點:中文資料很少,沒有系統的中文教程,如從入門到精通都可以給你講一遍系統的教程,論壇也會被牆,相關的qq群較少,群里的人也不多,所以能真正指導我們的大牛也比較少。應該是國內用的比較少。
2.Three.js
優點:國內用的比較多,所以中文的資料也會比較多,有比較系統的中文教程如從入門到精通。用的人比較多,所以相關的qq群較多,群里的人也較多,接觸到的大牛應該也會比較多。
缺點:沒有提供一些基礎建模軟體的插件,比如3dsmax的模型導出插件,雖然說提供一些讀3ds格式,fbx格式的場景。
二、大場景基於earth的
1.Cesiumjs(http://cesiumjs.org/)
優點:有較多的demo,詳細的api文檔,有測試平台,比較豐富的展示特性和擴展。
2.WebGL Earth(http://www.webglearth.com/)
demo較少,但一些基本的gis功能都有,簡單實用,好像沒什麼更新過
3.OpenWebGlobe(http://world.openwebglobe.org/)
效果不是很好,載入不流暢,展示的功能也比較少
3.3 圖形庫有了3D引擎,似乎不需要開發人員直接調用3D圖形函數庫了。其實不然,實際工作中由於這樣那樣的原因(或功能或效率),有時還是需要開發人員自己去調用圖形庫。
(1)OpenGL
(2)DirectX 3D
(3)WebGL
HTML5技術浪潮湧起,也把WebGL推向了浪尖。Unity 5.0也強調了對WebGL的支持,使得互聯網上的3D交互及其頁面嵌入降低了很多隔閡感。
3.4虛擬現實編程語言
開發語言方面,C#,JavaScript,只要會開發移動端程序和Web端程序,還是容易入門的。除了各大引擎自身所使用的腳本語言之外,還有:
(1)著色器編程語言: Cg/HLSL
(2)虛擬現實建模語言:VRML,全稱Virtual Reality Modeling Language
(3)三維圖像標記語言:X3D
4虛擬現實內容製作VR 內容主要分為 VR 視頻、VR 遊戲和 VR 應用三大塊。VR遊戲不做考慮,VR視頻錄製需要使用特殊的全景攝像機來錄製360度視角的視頻了。光場相機將會是這個領域的顛覆者,例如攝像機360Heros、Samsung Gear 360。當然,想要對視頻做編輯,得用VR視頻編輯器,例如SpliceVR Editor(http://www.splicevr.com/blog/)。
對於VR應用開發,主要有原生和Web兩種方式。
1)原生應用開發
首先要學習建模,那就需要熟練並精通3D引擎,比如Unity 3D或者 Unreal Engine4。Unity 3D容易上手,如果對美術、動畫以及過場電影感興趣,建議使用Unreal Engine4。
Unity是一種優秀的3D引擎,會C#和JavaScript就可以玩轉了。使用Unity可以開發原生應用,可以安裝在MAC、PC、Play Station 或者安卓、iOS上面。
入門教材推薦Unity3D官網給出的Roll-a-ball,可以用它初步熟悉Unity。
進一步的學習,就可以直接去Oculus官網的Developer Center(https://developer.oculus.com/)找學習文檔和SDK。
還要學習交互原理相關的內容,推薦這本書,Essential Mathematics for Games and Interactive Applications: A Programmer"s Guide, Second Edition2nd EditionbyJames M. Van Verth(Author),Lars M. Bishop(Author)
3D引擎需要用到的演算法還可能包括:模型匹配,機器學習,深度學習,人體反向動力學,計算機視覺,物理加速,樣本訓練,骨架資料庫,動態跟蹤及矯正,物體識別庫,骨架識別和提取,動態實時3D建模,實時3D摳圖等。
2)Web應用開發
如果在Web上,將視頻切換到「VR模式」,購物、約會和在線課程學習,是不錯的體驗。Google和Mozilla目前正在聯手制定WebVR, 3D版本的萬維網不久就要來到了。
這是WebVR的網站https://webvr.info/,可以去試一試。這裡有例子 https://webvr.info/samples/
WebVR是一個實驗性的JavaScript API,其提供了在瀏覽器中訪問諸如Oculus Rift或谷歌Cardboard的虛擬現實設備的功能。在https://w3c.github.io/webvr/可以看到2016年6月1號的討論版本。
具體的開發需要學習一款運行在瀏覽器中的 3D 引擎three.js,由JavaScript編寫的WebGL第三方庫,可以用它創建各種3D場景,包括了攝影機、光影、材質等各種對象,網站是 http://threejs.org/
怎麼來玩呢?
第一,實現簡單的VR網站,可以參考下面這個鏈接,介紹了10分鐘使用WebVR的4個步驟
主要是參考Github上的 borismus/webvr-boilerplate項目實現簡單的VR網站,
這段代碼實現了建立webVR項目(如polyfill,mode manager等)的基本功能。
第二,建好以後,使用Chromium或者Mozilla nightly來測試VR站,參考webvr.info。
第三,向場景中加入3D模型,並試著改變它的位置,並將它旋轉,參考threejs.org的examples。
第四,如果要加入一些物理信息系統,參考Github中的Hello-Cannon.js!項目。https://github.com/schteppe/cannon.js/wiki/Hello-Cannon.js!
另有一個實例:Oculus + Node.js + Three.js 打造VR世界http://www.vr013.com/47
與VR輸入設備開發相關有leap motion開發者中心、Oculus touch 或者HTC Vive。https://developer.leapmotion.com/
5虛擬現實參考資料5.1 VR有哪些比較好的論壇和網站資源?
國內最受歡迎的VR技術社群是VR玩VR技術頻道,分享交流國內外領先的VR虛擬現實技術。http://www.ivrwan.com/news/jishu/
國外的網站,http://www.roadtovr.com/
IEEE的,http://ieeevr.org/2016/
Google的,https://developers.google.com/vr/
矽谷的,http://svvr.com/
5.2書籍
網路資源很多,也夠學了,還是介紹一本書吧。
Learning Virtual Reality: Developing Immersive Experiences and Applications for Desktop, Web, and Mobile1st Edition
byTony Parisi(Author)
5.3知識結構圖
參考資料
1.VR發展趨勢及投資機會深度預測報告
2.知乎:中國有哪些在 VR 技術上比較領先的公司?,燃冰飛雪之魂的回答,http://www.zhihu.com/question/37382460/answer/80102041
3.知乎:VR應用開發需要什麼知識?,http://www.zhihu.com/question/29304759
4.CSDN虛擬現實知識庫,http://lib.csdn.NET/base/vr
5.CSDN博客:【VR】虛擬現實軟體開發工具與技術,http://blog.csdn.Net/duzixi/article/details/45249691
6.CSDN博客:WebGL開源三維引擎的選擇,http://blog.csdn.net/lh1162810317/article/details/50827948
7.CSDN博客:虛擬現實相關硬體設備,http://blog.csdn.net/duzixi/article/details/45232077
推薦閱讀:
※ǒ三 毛 大量實用網址教你玩51_第2頁-電腦技術|電腦硬體|計算機軟體|網站開發|虛擬主...
※虛擬現實能否成為下一隻風口上的豬?
※原來,虛擬的愛情,只是一場心碎離傷
※HTC宣布虛擬現實頭盔Vive推遲至明年4月發布
※去掉所有渲染與特效,真正的虛擬現實其實是這樣的(上篇)