如何選擇VR開發(fā)工具【VR開發(fā)培訓(xùn)】
2017年11月14日,虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)和混合現(xiàn)實(shí)正在快速增長。這種體驗(yàn)的動力和經(jīng)濟(jì)影響將會繼續(xù)加快,因此現(xiàn)在是進(jìn)軍內(nèi)容開發(fā)的完美時(shí)機(jī)。然而,這將意味著你需要選擇一個(gè)適合的創(chuàng)作工具。
面對這個(gè)新興的領(lǐng)域,你可能會困惑于應(yīng)該從何入手,因?yàn)檫@三種類型的體驗(yàn)似乎有時(shí)會相互重疊,而我們難以理解三者的相似之處和差異之處。每個(gè)體驗(yàn)都需要一個(gè)稍微不同的開發(fā)堆棧和工具,以及需要針對用戶使用的不同顯示器進(jìn)行設(shè)計(jì)。例如,為系留頭顯開發(fā)VR內(nèi)容意味著你需要為用戶創(chuàng)建一個(gè)完整的虛擬世界。
例如如果你希望為Oculus開發(fā)VR內(nèi)容,你可以從以下工具中進(jìn)行選擇:
Unity:用于開發(fā)跨平臺2D和3D體驗(yàn)的引擎。開發(fā)者需要支付一定的費(fèi)用才允許發(fā)行基于Unity的游戲或體驗(yàn),但開發(fā)免費(fèi)。
Unreal:一個(gè)完全基于C 開發(fā)的引擎,可用于開發(fā)跨平臺的體驗(yàn)。開發(fā)免費(fèi),但開發(fā)者在發(fā)行游戲或體驗(yàn)時(shí)需要支付一定的費(fèi)用。
CryEngine:免費(fèi)引擎,為開發(fā)者提供源代碼訪問。開發(fā)免費(fèi),但如果要獲得額外的支持和培訓(xùn),開發(fā)者需要支付一定的費(fèi)用。
Lumberyard:來自亞馬遜的免費(fèi)引擎,據(jù)說是基于CryEngine。亞馬遜免費(fèi)發(fā)布源代碼,開發(fā)免費(fèi)。如果要使用Amazon Web Services,開發(fā)者需要支付一定的費(fèi)用。
但如果你需要同時(shí)瞄準(zhǔn)PlayStation VR,你的主要工具目前僅限于前三個(gè):Unity、Unreal和CryEngine。
大多數(shù)iOS,tvOS,watchOS和MacOS開發(fā)者習(xí)慣于把XCode作為開發(fā)環(huán)境。對于AR,VR和MR的新晉開發(fā)者而言,確定使用哪種工具是關(guān)鍵。下面映維網(wǎng)將和大家一起看看如何選擇合適的開發(fā)工具。在著手開發(fā)之前,開發(fā)者需要確定自己瞄準(zhǔn)的體驗(yàn)和受眾。但在映維網(wǎng)開始闡述不同的工具和環(huán)境之前,先讓我們一起看看不同類型的體驗(yàn),以及相關(guān)的術(shù)語。
1. 虛擬現(xiàn)實(shí):一個(gè)由計(jì)算機(jī)生成的世界
大多數(shù)人都熟悉“虛擬現(xiàn)實(shí)”一詞。所謂的VR是指計(jì)算機(jī)生成的,有時(shí)是模擬的,有時(shí)是近似真實(shí)的3D世界視圖。虛擬世界可以是逼真的、想象的,或者是兩者的結(jié)合。要進(jìn)入虛擬現(xiàn)實(shí),用戶必須使用完全遮擋現(xiàn)實(shí)世界視場的屏幕,使眼睛沉浸在虛擬世界。這種屏幕可以是系留頭顯(如Oculus或Vive)或移動頭顯(如谷歌Cardboard或三星Gear VR)的形式,或者VR一體機(jī)。許多其他企業(yè)也在研發(fā)的無需纜線,手機(jī)或筆記本電腦的一體機(jī)設(shè)備。
360度視頻是一種允許用戶控制視角的沉浸式體驗(yàn)。有人將360度視頻與虛擬現(xiàn)實(shí)混為一談,因?yàn)橛脩舳紩两谝曨l的360度視場中。當(dāng)本文所指的“虛擬現(xiàn)實(shí)”不是指360度視頻,而是由計(jì)算機(jī)生成的3D視圖。
2. 增強(qiáng)現(xiàn)實(shí):物理世界的補(bǔ)充
增強(qiáng)現(xiàn)實(shí)是指將計(jì)算機(jī)生成的內(nèi)容疊加在真實(shí)世界之后所獲得的視圖,是一種**附加信息或元數(shù)據(jù)(如聲音,圖形,GPS數(shù)據(jù)和文本顯示)來增強(qiáng)世界的技術(shù)。一般來說,疊加的內(nèi)容不能與現(xiàn)實(shí)世界交互,反之亦然。用戶必須使用某種類型的屏幕才能查看這種世界。
想象一下,當(dāng)你把手機(jī)攝像頭對準(zhǔn)建筑物,支持增強(qiáng)現(xiàn)實(shí)的應(yīng)用就會顯示建筑物中的名稱,地址和經(jīng)營業(yè)務(wù)。雖然用戶不能與文字疊加層進(jìn)行交互,但數(shù)據(jù)可以增強(qiáng)現(xiàn)實(shí)世界。目前**流行的AR屏幕是谷歌眼鏡和安裝了特定增強(qiáng)現(xiàn)實(shí)應(yīng)用的智能手機(jī)。有許多科技公司正在開發(fā)增強(qiáng)現(xiàn)實(shí)眼鏡,預(yù)計(jì)產(chǎn)品將在未來幾年內(nèi)開始進(jìn)入市場。
跟增強(qiáng)現(xiàn)實(shí)類似,混合現(xiàn)實(shí)包含現(xiàn)實(shí)世界視圖,但混合現(xiàn)實(shí)所疊加的虛擬世界和虛擬對象可以與現(xiàn)實(shí)世界相互作用。當(dāng)前主要的混合現(xiàn)實(shí)頭顯是微軟HoloLens。HoloLens可以在3D空間中映射真實(shí)世界,因此虛擬對象可以實(shí)際覆蓋在現(xiàn)實(shí)世界的表面和對象之上。例如:混合現(xiàn)實(shí)允許用戶將虛擬立方體放置在房間角落的桌子或椅子上。谷歌于幾年前發(fā)布了Tango(以前稱為Project Tango),并于**近發(fā)布了ARCore,而這似乎是他們對蘋果ARKit的回應(yīng)?;旌犀F(xiàn)實(shí)支持運(yùn)動追蹤,光線估計(jì)和環(huán)境理解。ARCore現(xiàn)在可以支持運(yùn)行著安卓N及更高版本的所有兼容手機(jī),而SDK預(yù)覽版支持谷歌Pixel,Pixel XL和三星Galaxy S8。Tango則支持谷歌Pixel,Pixel XL,以及華碩和聯(lián)想的產(chǎn)品。
業(yè)界尚未對混合現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)之間的區(qū)別制定標(biāo)準(zhǔn)定義,兩者之間的界限似乎在不斷變化和模糊。蘋果**新的ARKit框架允許虛擬對象與現(xiàn)實(shí)世界進(jìn)行交互,這進(jìn)一步混淆了增強(qiáng)現(xiàn)實(shí)和混合現(xiàn)實(shí)之間的定義。我們相信行業(yè)**終會為“增強(qiáng)現(xiàn)實(shí)”的用法制定標(biāo)準(zhǔn),而其定義將包括可以與真實(shí)世界交互的對象,以及不能與現(xiàn)實(shí)世界相互作用的對象。就我看來,“增強(qiáng)現(xiàn)實(shí)”**終會包含“混合現(xiàn)實(shí)”的情景,行業(yè)將不再使用“混合現(xiàn)實(shí)”。因此在談?wù)揂R和MR時(shí),我們將主要集中在AR的工具選擇。
3. 合適的工具
如前所述,VR和AR體驗(yàn)有時(shí)候需要不同的工具和開發(fā)環(huán)境。例如,如果希望使用Unity開發(fā)虛擬現(xiàn)實(shí)游戲,你需要指定目標(biāo)頭顯(如HTC Vive,Oculus Rift,PSVR等等)。如果你希望開發(fā)增強(qiáng)現(xiàn)實(shí)應(yīng)用程序,你可以選擇在跨平臺工具集上開發(fā)(如ReactVR),否則你將需要進(jìn)一步定位iOS或安卓設(shè)備。如果你希望為HoloLens開發(fā)體驗(yàn),你可以選擇從Unity開始入手,然后再**Visual Studio進(jìn)行測試和部署應(yīng)用程序。
不同體驗(yàn)的用戶普及度尚未達(dá)到可以促使硬件和軟件行業(yè)為工具,界面或編程語言制定統(tǒng)一標(biāo)準(zhǔn)的關(guān)鍵臨界點(diǎn)。在那之前,創(chuàng)新公司在開發(fā)標(biāo)準(zhǔn)化工具集上擁有無限的機(jī)遇。目前來說,開發(fā)者仍然需要確定他們希望創(chuàng)建的現(xiàn)實(shí)(VR或AR),瞄準(zhǔn)頭顯和平臺類型,然后再了解所需的要求。
由于VR和AR的廣闊市場前景,希望為一個(gè)或多個(gè)平臺開發(fā)內(nèi)容的你很有可能正在閱讀這篇文章。統(tǒng)計(jì)數(shù)據(jù)表明,現(xiàn)在是采取行動的**時(shí)機(jī)。市場分析機(jī)構(gòu)預(yù)計(jì),VR和AR到2020年的的預(yù)期經(jīng)濟(jì)影響將從58億美元(低采用率)上升到205億美元(高采用率)。2017年的VR軟件市場規(guī)模估計(jì)為48億美元。在明確的廣闊的市場前景后,我們需要明確的問題是:如何為特定現(xiàn)實(shí)開發(fā)選擇合適的工具。
在我認(rèn)識的開發(fā)者中,沒有太多愿意學(xué)習(xí)一個(gè)只能支持一款設(shè)備的新工具或應(yīng)用。我們不想將時(shí)間和金錢投入到無法轉(zhuǎn)換或轉(zhuǎn)移到其他工具和平臺的東西上。如果你像我一樣,所有這三種體驗(yàn)都激勵著你,你可能希望在未來一天中都能掌握它們?nèi)?。這意味著你應(yīng)該選擇可以盡可能支持更多平臺,更多設(shè)備和更多體驗(yàn)的工具,或者你應(yīng)該愿意學(xué)習(xí)多種不同的平臺和工具集。
4. 選擇VR開發(fā)工具
選擇工具的**步是觀察市場并確定目標(biāo)受眾。我們應(yīng)該考慮創(chuàng)建硬件和平臺的公司實(shí)力,并評估其中的發(fā)展?jié)摿ΑO旅娴膱D片顯示了市場分析機(jī)構(gòu)預(yù)測的2016年暢銷VR頭顯。然后,你需要考慮應(yīng)該開發(fā)什么類型的應(yīng)用程序,以及所面向的平臺和用戶。你是否正在開發(fā)教育、游戲、商業(yè)、培訓(xùn)或營銷領(lǐng)域的應(yīng)用程序呢?大多數(shù)硬核玩家都在使用其中一款系留頭顯,因?yàn)檫@種設(shè)備能夠提供更高的分辨率,更好的刷新率,以及更優(yōu)秀的傳感器和控制器。
表1:VR頭顯和開發(fā)工具
顯然,Unreal和Unity主要5款主要的VR頭顯。如果你希望為三大系留VR頭顯開發(fā)內(nèi)容,你可以選擇
Unreal:支持Oculus, Steam, HTC Vive, Playstation VR, Mac, iOS/ARKit, 三星Gear VR, Google VR, Leap Motion和OSVR
Unity3D:支持Unreal支持的所有平臺,外加Nintendo Wii, Hololens, Xbox One,Facebook Gameroom等等。
CryEngine:支持Oculus,Xbox One,Windows PC,Playstation 4和Linux PC。
5. 選擇AR開發(fā)工具
增強(qiáng)現(xiàn)實(shí)(和混合現(xiàn)實(shí))要求用戶**屏幕查看疊加了數(shù)字內(nèi)容的現(xiàn)實(shí)世界。這意味著用戶必須使用搭載攝像頭的手機(jī)或平板電腦,或者說他們必須佩戴某種形式的屏幕。這種屏幕可以分為兩種主要的形式:一種可供用戶佩戴的頭顯;搭載攝像頭的手機(jī)或平板電腦。由于攝像頭處理能力和AR顯示器的問題,今天市場上的頭顯仍然相當(dāng)笨重、體積巨大。但可以想象,設(shè)備的體積將會不斷縮小,而我們**終有可能會穿戴一種眼鏡形態(tài)的AR顯示屏。就目前而言,AR頭顯市場中尚未出現(xiàn)主要的**者,所以文本暫時(shí)不會納入頭顯的分析。
表2:AR設(shè)備和開發(fā)工具
Unreal:需要ARToolkit和增強(qiáng)現(xiàn)實(shí)插件
CryEngine:需要Vuforia(iOS和安卓),或ARKit(iOS),或ARCore(安卓)
如你所見:如果你希望開發(fā)的體驗(yàn)?zāi)軌蛑С直M可能多的設(shè)備,你的主要選項(xiàng)仍然是Unreal和Unity3D。然而,這并不意味著開發(fā)支持更多設(shè)備的體驗(yàn)將變得容易或無縫,而且在某些情況下,你必須專門針對目標(biāo)設(shè)備開發(fā)應(yīng)用程序,但映維網(wǎng)認(rèn)為至少你能夠掌握一款可支持眾多設(shè)備的工具。
如果你對安卓設(shè)備的AR應(yīng)用開發(fā)**為感興趣,你可以選擇Unreal引擎或Unity3D,以及**新的ARCore。另一方面,如果你對iPhone和iPad的AR應(yīng)用開發(fā)**感興趣,ARKit毫無疑問將是你的**選擇。AR是一項(xiàng)令人興奮的技術(shù),特別是因?yàn)樘O果**新iPhone X智能手機(jī)。開發(fā)者很快就可以創(chuàng)建支持面部識別的應(yīng)用。想象一下,當(dāng)你走進(jìn)一個(gè)會議或酒店時(shí),一個(gè)禮賓員會對你說:“歡迎回來。我們**次見面是在兩周前對吧?你的房間已經(jīng)準(zhǔn)備好了在7樓。你需要我為你帶一本雜志嗎?”這一切都是得益于面部識別和AR功能,以及因?yàn)锳R眼鏡的外形尺寸將不斷縮小至可管理的大小。未來將至,但我們現(xiàn)在就可以開始進(jìn)行開發(fā)。
如果你已經(jīng)知道Objective-C和/或Swift,那你現(xiàn)在可以使用Xcode開發(fā)AR應(yīng)用程序。如果你不知道Objective-C或Swift,Unity可以幫助你用更少的代碼行來完成大量的工作。所以選擇一個(gè)工具,然后開始著手開發(fā),相信不久之后你可以發(fā)行屬于自己的ARKit應(yīng)用程序。
如果想要報(bào)名學(xué)習(xí)VR開發(fā)課程,可以電聯(lián)我們的咨詢顧問老師:金老師 010-64707530 。