1. 程式人生 > >【VR】虛擬現實軟體開發工具與技術

【VR】虛擬現實軟體開發工具與技術

各式各樣新型的虛擬現實的相關硬體裝置相繼推出、聆郎滿目,但是沒有軟體內容的硬體永遠都是沒有靈魂的硬殼。 硬體的的發展為軟體的開發創造了平臺和前提條件。 本文主要從Unity引擎開發,講述虛擬現實相關的軟體技術。

1. 外設驅動——Nibiru SDK 睿銳

這麼的多的外設,各有各的SDK,作為開發者應該何從選擇?從何下手?睿銳科技為遊戲外設驅動提供了統一的跨平臺解決方案,聲稱適配市面上絕大多數操控外設(包括上一篇介紹的智慧指環、4D 座椅、各種眼鏡等),以及多種裝置。顯然這種跨平臺的思想同Unity引擎如出一轍。 從功能定位上來講,Nibiru還是比較偏向遊戲領域(從圖表設計即可看出)。但技術的領域應用是自由的,事在人為的。這樣的跨平臺多裝置外設驅動同樣可以很好的應用於VR技術領域(其實二者很多時候界限本身就不分明)。 值得一提的是,Nibiru CTO在UNITE 2015 虛擬現實技術專場中還特別提到了一種外設,就是通過感知玩家腦電波來獲取玩家的精神集中程度,從而控制玩家在遊戲中的集中力。這個是比較有意思的一點。 從技術上說,Nibiru是基於藍芽裝置和Android技術體系結構建立的,官方提供的文件主要針對Android工程師。至於其它平臺如何使用,還有待調研和探討。 截止2014年底,Nibiru旗下就已經擁有完美世界的《神鬼幻想》、艾格拉斯《格鬥刀魂》、《神守衛》、《永恆之劍》以及《異星風暴》、《惡靈殺場》、《shadow gun VR》等大型虛擬現實遊戲,其在VR領域的後續發展值得關注和期待。

2. 3D引擎

目前的主流狀況是,主流遊戲引擎由於其功能之強大,被用於諸多VR產品的開發。另外一點值得一提的是,並非所有的VR產品或解決方案都需要依賴外設。以展示與簡單互動為主要內容的VR產品,在不涉及複雜的行業相關精準計算的條件下,會首選3D引擎配合電腦來完成。

(1)Unity


雖然劉鋼先生在在UNITE 2015上也說,抱歉,Unity引擎目前對於VR在BIM領域(以及其它領域)沒有提供原生的功能,但是Unity引擎本身功能靈活,有著對外開放的平臺(允許第三方新增各種各樣的外掛)。另在大會上例舉了一個來自麥肯錫的統計數字,稱市面上90%的VR產品都是用Unity引擎研發。雖然這個數字沒有考證,但是縱觀市面上公示出來的VR產品,但凡有一點Unity開發經驗的人都會覺得,這類產品用Unity引擎開發很容易實現。

(2)Unreal Engine 虛幻引擎

午時科技有限公司的虛擬產品就是用UE4完成的,特點是效果絢麗風格唯美,很適合建築或內裝的展示。 UE4與Unity5的競爭也趨於白熱化的狀態,這給我們開發者帶來最大的好處是,昔日可望不可及的大型3D引擎如今已經垂手可得了。 接下來提幾個專門用於VR領域的軟體開發平臺。

(3)Quest3D 

Quest3D主要面向建築領域,雖然也包含邏輯處理,相比之下更側重於給設計人員使用。簡單快速搭建虛擬建築模型,是Quest3D的主要用意。

(4)VRP

(5)EON

3. 圖形庫

有了3D引擎,似乎不需要開發人員直接呼叫3D圖形函式庫了。其實....不然,實際工作中由於這樣那樣的原因(或功能或效率),有時還是需要開發人員自己去呼叫圖形庫。

(1)OpenGL

(2)DirectX 3D

(3)WebGL

前不久HTML5技術浪潮湧起,也把WebGL推向了浪尖。Unity 5.0也強調了對WebGL的支援,使得網際網路上的3D互動及其頁面嵌入降低了很多隔閡感。

4. 虛擬現實程式語言

除了各大引擎自身所使用的指令碼語言之外,

(1)著色器程式語言: Cg/HLSL

(2)虛擬現實建模語言:VRML

VRML全稱Virtual Reality Modeling Language

(3)三維影象標記語言:X3D

後續

實在寫不動了... 這篇先不發表,先寫出題綱,後期再補充修改。