HoloLens和沉浸式頭戴設(shè)備在開(kāi)發(fā)上的異同點(diǎn)

之前簡(jiǎn)單介紹了微軟HoloLens混合現(xiàn)實(shí)應(yīng)用開(kāi)發(fā)的開(kāi)發(fā)環(huán)境、所需配置、應(yīng)用的發(fā)布等,下面對(duì)于均屬于混合現(xiàn)實(shí)設(shè)備的HoloLens以及沉浸式頭戴設(shè)備二者在開(kāi)發(fā)上的異同點(diǎn)做個(gè)簡(jiǎn)單的比較:

相同點(diǎn):

首先,由于兩個(gè)產(chǎn)品都?xì)w類(lèi)于Windows 10 UWP MR的Device Family,所以二者的應(yīng)用在UWP支持上是差不多的。二者都和普通的UWP應(yīng)用有一樣的生命周期,都支持UWP的一些特點(diǎn),比如動(dòng)態(tài)磁貼,當(dāng)然也同時(shí)對(duì)于一些UWP API都不支持,比如Share Contract等;

其次,二者對(duì)于混合現(xiàn)實(shí)的特別功能,比如視線(Gaze)、語(yǔ)音(Voice)空間映射(Spatial Mapping)、空間坐標(biāo)(Spatial Coordinate)和立體聲效(Spatial Sound)都是支持的,而且微軟確保二者使用的API都一樣;

最后一點(diǎn)是,即使二者都可以支持2D View的應(yīng)用,但二者都以3D圖形應(yīng)用為主,使用相同的開(kāi)發(fā)中間件(比如Unity),相同的優(yōu)化理念(比如提高程序的幀率、降低DrawCall數(shù))和優(yōu)化工具,評(píng)價(jià)應(yīng)用的好壞的標(biāo)準(zhǔn)類(lèi)似。最關(guān)鍵的是如此造就了二者對(duì)于開(kāi)發(fā)團(tuán)隊(duì)的配置要求基本是一樣的,一個(gè)完善的混合現(xiàn)實(shí)開(kāi)發(fā)團(tuán)隊(duì)都需要有邏輯程序、圖形程序、場(chǎng)景美術(shù)、特效美術(shù)、音樂(lè)、策劃等。

不同點(diǎn):

雖然HoloLens和Immersive Headset屬于同一個(gè)設(shè)備家族,但畢竟是兩類(lèi)設(shè)備。設(shè)備的差異性勢(shì)必造成了開(kāi)發(fā)的差異性,這種差異性在微軟開(kāi)發(fā)官網(wǎng)上體現(xiàn)地淋漓盡致。大家可以在很多技術(shù)文檔里看到,官方在講一個(gè)問(wèn)題的時(shí)候,都會(huì)列一張表格,一邊是HoloLens,另外一邊是Immersive Headset,把二者做比較。比如開(kāi)發(fā)環(huán)境,比如參照坐標(biāo)系。此處筆者總結(jié)了三個(gè)主要的不同點(diǎn)。

1.設(shè)備性能不同

HoloLens可以看成是一臺(tái)能獨(dú)立運(yùn)算的手機(jī),而Immersive Headset可以看成是依靠外部PC運(yùn)算的另外一臺(tái)顯示器。也就是說(shuō)HoloLens開(kāi)發(fā)類(lèi)似于手機(jī)移動(dòng)應(yīng)用的開(kāi)發(fā),而Immersive Headset的開(kāi)發(fā)相當(dāng)于桌面應(yīng)用的開(kāi)發(fā)。這種的差距會(huì)在很多方面表現(xiàn)出不同,比如在美術(shù)資源的使用以及優(yōu)化要求, Immersive Headset對(duì)比HoloLens會(huì)相對(duì)高一些。兩者優(yōu)化的方法也會(huì)不同,比如 HoloLens 不推薦使用動(dòng)態(tài)光,而Immersive Headset沒(méi)有這個(gè)限制。從另外一個(gè)方面來(lái)看,HoloLens雖然性能還比不上高端筆記本,但它畢竟是專(zhuān)用設(shè)備,而且每一臺(tái)HoloLens的性能都是一樣的。這樣當(dāng)大家都了解設(shè)備性能以后反而比較容易開(kāi)發(fā)出好的應(yīng)用,而Immersive Headset使用PC,這是通用設(shè)備。每一臺(tái)PC的性能都是不同的,這樣會(huì)造成同一款應(yīng)用在不同機(jī)器上運(yùn)行的效果不同,這樣對(duì)于開(kāi)發(fā)團(tuán)隊(duì)來(lái)說(shuō)無(wú)疑增加了優(yōu)化和測(cè)試的難度。

2.交互方式

HoloLens強(qiáng)調(diào)自然交互,也就是用手勢(shì)、語(yǔ)音來(lái)完成大部分的操作。這樣不僅要求應(yīng)用使用支持手勢(shì)和語(yǔ)音的API,更重要的是從用戶體驗(yàn)角度就要對(duì)這二種輸入做更好的設(shè)計(jì),比如讓菜單更大更容易被選中,把大部分復(fù)雜操作都簡(jiǎn)化為點(diǎn)擊操作等。Immersive Headset 更強(qiáng)調(diào)用官方定制的motion controller來(lái)操作,同樣不僅需要應(yīng)用對(duì)于此設(shè)備有一個(gè)很好的支持和適配,更重要的是要求能去設(shè)計(jì)一些發(fā)揮motion controller相對(duì)精準(zhǔn)的操作體驗(yàn),比如開(kāi)槍、拾取動(dòng)作等。

3.設(shè)備的定位

HoloLens作為混合現(xiàn)實(shí)設(shè)備,現(xiàn)實(shí)場(chǎng)景就是背景。這樣在開(kāi)發(fā)中我們就不能使用天空盒,并且可能需要加入場(chǎng)景掃描模塊來(lái)確保現(xiàn)實(shí)場(chǎng)景變化后的更新,加入穩(wěn)定面來(lái)處理圖像漂移問(wèn)題,甚至可能還需要使用類(lèi)似于Vuforia這樣的SDK來(lái)實(shí)現(xiàn)和發(fā)揮AR的功能。而Immersive Headset更偏向于VR,它的背景就是虛擬場(chǎng)景。開(kāi)發(fā)Immersive Headset應(yīng)用需要考慮的是沉浸感,比如可以讓近裁面更近一些。當(dāng)然更需要使用各種手段來(lái)降低眩暈,確保用戶能較長(zhǎng)時(shí)間沉浸在應(yīng)用里。

總而言之,此二類(lèi)設(shè)備的開(kāi)發(fā)在整體上是類(lèi)似的,而在具體開(kāi)發(fā)的細(xì)節(jié)上又是截然不同的。