[新手教程] 如何選擇合適的AR/VR開發工具?這裏有一份詳盡的指南

虛擬現實,增強現實和混合現實正在快速增長。這種體驗的動力和經濟影響將會繼續加快,因此現在是進軍內容開發的完美時機。然而,這將意味着你需要選擇一個適合的創作工具。

面對這個新興的領域,你可能會困惑於應該從何入手,因爲這三種類型的體驗似乎有時會相互重疊,而我們難以理解三者的相似之處和差異之處。每個體驗都需要一個稍微不同的開發堆棧和工具,以及需要針對用戶使用的不同顯示器進行設計。例如,爲繫留頭顯開發VR內容意味着你需要爲用戶創建一個完整的虛擬世界。


[新手教程] 如何選擇合適的AR-VR開發工具?這裏有一份詳盡的指南


例如,如果你希望爲Oculus開發VR內容,你可以從以下工具中進行選擇:

  1. Unity:用於開發跨平臺2D和3D體驗的引擎。開發者需要支付一定的費用才允許發行基於Unity的遊戲或體驗,但開發免費。
  2. Unreal:一個完全基於C ++開發的引擎,可用於開發跨平臺的體驗。開發免費,但開發者在發行遊戲或體驗時需要支付一定的費用。
  3. CryEngine:免費引擎,爲開發者提供源代碼訪問。開發免費,但如果要獲得額外的支持和培訓,開發者需要支付一定的費用。
  4. Lumberyard:來自亞馬遜的免費引擎,據說是基於CryEngine。亞馬遜免費發佈源代碼,開發免費。如果要使用Amazon Web Services,開發者需要支付一定的費用。

但如果你需要同時瞄準PlayStation VR,你的主要工具目前僅限於前三個:Unity,Unreal和CryEngine。

大多數iOS,tvOS,watchOS和MacOS開發者習慣於把XCode作爲開發環境。對於AR,VR和MR的新晉開發者而言,確定使用哪種工具是關鍵。下面將和大家一起看看如何選擇合適的開發工具。在着手開發之前,開發者需要確定自己瞄準的體驗和受衆。但在開始闡述不同的工具和環境之前,先讓我們一起看看不同類型的體驗,以及相關的術語。

1. 虛擬現實:一個由計算機生成的世界

大多數人都熟悉“虛擬現實”一詞。所謂的VR是指計算機生成的,有時是模擬的,有時是近似真實的3D世界視圖。虛擬世界可以是逼真的,想象的,或者是兩者的結合。要進入虛擬現實,用戶必須使用完全遮擋現實世界視場的屏幕,使眼睛沉浸在虛擬世界。這種屏幕可以是繫留頭顯(如Oculus或Vive)或移動頭顯(谷歌Cardboard三星Gear VR)的形式,或者VR一體機。許多其他企業也在研發的無需纜線,手機或筆記本電腦的一體機設備。

360度視頻是一種允許用戶控制視角的沉浸式體驗。有人將360度視頻與虛擬現實混爲一談,因爲用戶都會沉浸在視頻的360度視場中。當本文所指的“虛擬現實”不是指360度視頻,而是由計算機生成的3D視圖。

2. 增強現實:物理世界的補充

增強現實是指將計算機生成的內容疊加在真實世界之後所獲得的視圖,是一種通過附加信息或元數據(如聲音,圖形,GPS數據和文本顯示)來增強世界的技術。一般來說,疊加的內容不能與現實世界交互,反之亦然。用戶必須使用某種類型的屏幕才能查看這種世界。

想象一下,當你把手機攝像頭對準建築物,支持增強現實的應用就會顯示建築物中的名稱,地址和經營業務。雖然用戶不能與文字疊加層進行交互,但數據可以增強現實世界。目前最流行的AR屏幕是谷歌眼鏡和安裝了特定增強現實應用的智能手機。有許多科技公司正在開發增強現實眼鏡,預計產品將在未來幾年內開始進入市場。

跟增強現實類似,混合現實包含現實世界視圖,但混合現實所疊加的虛擬世界和虛擬對象可以與現實世界相互作用。當前主要的混合現實頭顯是微軟HoloLens。HoloLens可以在3D空間中映射真實世界,因此虛擬對象可以實際覆蓋在現實世界的表面和對象之上。例如,混合現實允許用戶將虛擬立方體放置在房間角落的桌子或椅子上。谷歌於幾年前發佈了Tango(以前稱爲Project Tango),並於最近發佈了ARCore,而這似乎是他們對蘋果ARKit的迴應。混合現實支持運動追蹤,光線估計和環境理解。ARCore現在可以支持運行着安卓N及更高版本的所有兼容手機,而SDK預覽版支持谷歌Pixel,Pixel XL和三星Galaxy S8。Tango則支持谷歌Pixel,Pixel XL,以及華碩和聯想的產品。

業界尚未對混合現實和增強現實之間的區別制定標準定義,兩者之間的界限似乎在不斷變化和模糊。蘋果最新的ARKit框架允許虛擬對象與現實世界進行交互,這進一步混淆了增強現實和混合現實之間的定義。我們相信行業最終會爲“增強現實”的用法制定標準,而其定義將包括可以與真實世界交互的對象,以及不能與現實世界相互作用的對象。就我看來,“增強現實”最終會包含“混合現實”的情景,行業將不再使用“混合現實”。因此在談論AR和MR時,我們將主要集中在AR的工具選擇。

3. 合適的工具

如前所述,VR和AR體驗有時候需要不同的工具和開發環境。例如,如果希望使用Unity開發虛擬現實遊戲,你需要指定目標頭顯(如HTC ViveOculus RiftPSVR等等)。如果你希望開發增強現實應用程序,你可以選擇在跨平臺工具集上開發(如ReactVR),否則你將需要進一步定位iOS或安卓設備。如果你希望爲HoloLens開發體驗,你可以選擇從Unity開始入手,然後再通過Visual Studio進行測試和部署應用程序。

不同體驗的用戶普及度尚未達到可以促使硬件和軟件行業爲工具、界面或編程語言制定統一標準的關鍵臨界點。在那之前,創新公司在開發標準化工具集上擁有無限的機遇。目前來說,開發者仍然需要確定他們希望創建的現實(VR或AR),瞄準頭顯和平臺類型,然後再瞭解所需的要求。

由於VR和AR的廣闊市場前景,希望爲一個或多個平臺開發內容的你很有可能正在閱讀這篇文章。統計數據表明,現在是採取行動的最好時機。市場分析機構預計,VR和AR到2020年的的預期經濟影響將從58億美元(低採用率)上升到205億美元(高採用率)。2018年的VR軟件市場規模估計爲48億美元。在明確的廣闊的市場前景後,我們需要明確的問題是:如何爲特定現實開發選擇合適的工具。

在我認識的開發者中,沒有太多願意學習一個只能支持一款設備的新工具或應用。我們不想將時間和金錢投入到無法轉換或轉移到其他工具和平臺的東西上。如果你像我一樣,所有這三種體驗都激勵着你,你可能希望在未來一天中都能掌握它們全部。這意味着你應該選擇可以儘可能支持更多平臺,更多設備和更多體驗的工具,或者你應該願意學習多種不同的平臺和工具集。

4. 選擇VR開發工具

選擇工具的第一步是觀察市場並確定目標受衆。我們應該考慮創建硬件和平臺的公司實力,並評估其中的發展潛力。下面的圖片顯示了市場分析機構預測的2016年暢銷VR頭顯。然後,你需要考慮應該開發什麼類型的應用程序,以及所面向的平臺和用戶。你是否正在開發教育,遊戲,商業,培訓或營銷領域的應用程序呢?大多數硬核玩家都在使用其中一款繫留頭顯,因爲這種設備能夠提供更高的分辨率,更好的刷新率,以及更優秀的傳感器和控制器。

表1:VR頭顯和開發工具

VR頭顯HTC ViveOculus RiftPSVR三星Gear VR谷歌Daydream
繫留頭顯
2016年銷量42萬35.5萬74.5萬230萬26.1萬
開發工具支持支持支持支持支持
Unreal支持支持支持支持支持
Unity3D支持支持支持支持支持
CryEngine支持支持支持不支持不支持
Lumberyard支持支持不支持不支持不支持

顯然,Unreal和Unity主要5款主要的VR頭顯。如果你希望爲三大系留VR頭顯開發內容,你可以選擇

  1. Unreal:支持Oculus, Steam, HTC Vive, Playstation VR, Mac, iOS/ARKit, 三星Gear VR, Google VR, Leap Motion和OSVR
  2. Unity3D:支持Unreal支持的所有平臺,外加Nintendo Wii, Hololens, Xbox One, Facebook Gameroom等等。
  3. CryEngine:支持Oculus,Xbox One,Windows PC,Playstation 4和Linux PC。

5. 選擇AR開發工具

增強現實(和混合現實)要求用戶通過屏幕查看疊加了數字內容的現實世界。這意味着用戶必須使用搭載攝像頭的手機或平板電腦,或者說他們必須佩戴某種形式的屏幕。這種屏幕可以分爲兩種主要的形式:一種可供用戶佩戴的頭顯;搭載攝像頭的手機或平板電腦。由於攝像頭,處理能力和AR顯示器的問題,今天市場上的頭顯仍然相當笨重,體積巨大。但可以想象,設備的體積將會不斷縮小,而我們最終有可能會穿戴一種眼鏡形態的AR顯示屏。就目前而言,AR頭顯市場中尚未出現主要的領先者,所以文本暫時不會納入頭顯的分析。

表2:AR設備和開發工具

AR設備iOS手機和平板電腦安卓手機和平板電腦
用戶比例33%65%
Unreal支持支持
CryEngine支持支持
Lumberyard不支持不支持
ARKit不支持支持
ARCore不支持支持

Unreal:需要ARToolkit和增強現實插件

CryEngine:需要Vuforia(iOS和安卓),或ARKit(iOS),或ARCore(安卓)

如你所見,如果你希望開發的體驗能夠支持儘可能多的設備,你的主要選項仍然是Unreal和Unity3D。然而,這並不意味着開發支持更多設備的體驗將變得容易或無縫,而且在某些情況下,你必須專門針對目標設備開發應用程序,但我們認爲至少你能夠掌握一款可支持衆多設備的工具。

如果你對安卓設備的AR應用開發最爲感興趣,你可以選擇Unreal引擎或Unity3D,以及最新的ARCore。另一方面,如果你對iPhone和iPad的AR應用開發最感興趣,ARKit毫無疑問將是你的第一選擇。AR是一項令人興奮的技術,特別是因爲蘋果最新iPhone X智能手機。開發者很快就可以創建支持面部識別的應用。想象一下,當你走進一個會議或酒店時,一個禮賓員會對你說:“歡迎回來。我們第一次見面是在兩週前,對吧?你的房間已經準備好了,在7樓。你需要我爲你帶一本雜誌嗎?”這一切都是得益於面部識別和AR功能,以及因爲AR眼鏡的外形尺寸將不斷縮小至可管理的大小。未來將至,但我們現在就可以開始進行開發。

如果你已經知道Objective-C和/或Swift,那你現在可以使用Xcode開發AR應用程序。如果你不知道Objective-C或Swift,Unity可以幫助你用更少的代碼行來完成大量的工作。所以選擇一個工具,然後開始着手開發,相信不久之後你可以發行屬於自己的ARKit應用程序。


     想學習VR開發嗎?我們有積累8年的資源庫、教程庫和交流社區,點擊進入。


(本文轉自:oreilly&映維)

文章標籤VR入門,AR入門


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章