使用Hololens開(kāi)發(fā)大概會(huì)遇到哪些問(wèn)題?它的開(kāi)發(fā)包括了哪些部分?

Jyadmin 提交于 周一, 12/09/2019 - 17:27

?

Hololens開(kāi)發(fā)環(huán)境

Hololens也是屬于Win10通用應(yīng)用家族的一員。對(duì)于Hololens的開(kāi)發(fā)毋庸置疑是Win10的開(kāi)發(fā),大家從開(kāi)發(fā)環(huán)境上可以看出要裝Win10的SDK,從開(kāi)發(fā)工具上來(lái)說(shuō)推薦大家使用新一代的集成編譯環(huán)境Visual Studio 2017。

?

當(dāng)然你需要去購(gòu)買Hololens設(shè)備。不管有沒(méi)有設(shè)備,都要向大家推薦安裝Hololens的模擬器。對(duì)于第三方的開(kāi)發(fā)插件來(lái)說(shuō),我們是推薦大家使用Unity。從5.5版本開(kāi)始,Unity已經(jīng)把Hololens列入到正式版本當(dāng)中。

?

除了Unity以外還可以安裝Vuforia。Vuforia從6.1版本開(kāi)始支持Hololens平臺(tái)。大家如果希望在Hololens上實(shí)現(xiàn)手機(jī)AR的功能,大家可以直接使用Vuforia6.1的版本來(lái)開(kāi)發(fā)。

使用Hololens開(kāi)發(fā)大概會(huì)遇到哪些問(wèn)題?它的開(kāi)發(fā)包括了哪些部分?

一般來(lái)說(shuō)一個(gè)Hololens的程序會(huì)包含材質(zhì)、模型、貼圖、腳本等。一個(gè)3D的圖形程序不外乎也是這樣幾個(gè)部分,這跟普通的3D程序沒(méi)有什么區(qū)別。

?

HoloLens 2啟動(dòng)界面

?

因?yàn)镠ololens設(shè)備的特殊性,有六樣?xùn)|西是需要大家做特殊的處理的,前面三個(gè)是跟Hololens獨(dú)特的輸入相關(guān)的。在Hololens的應(yīng)用程序中需要去處理凝視操作、手勢(shì)操作、語(yǔ)音輸入。另外三個(gè)是跟空間感知相關(guān)的,你需要去識(shí)別空間錨標(biāo)的位置、去處理空間映射、空間聲音。

?

這六部分是Hololens程序跟其他程序所不同的部分。中間這六塊內(nèi)容是HoloToolkit。這是微軟為了方便大家開(kāi)發(fā)Hololens應(yīng)用而開(kāi)源的Unity插件。大家可以到微軟官方的開(kāi)源網(wǎng)址上找到并且下載下來(lái)。可以直接使用HoloToolkit來(lái)開(kāi)發(fā)HoloLens應(yīng)用。

?

重點(diǎn)說(shuō)一下用Unity開(kāi)發(fā)Hololens。開(kāi)發(fā)的過(guò)程和開(kāi)發(fā)3D應(yīng)用區(qū)別不是太大,需要注意的是有一些具體設(shè)置。

?

Unity質(zhì)量設(shè)置

?

近裁面是0.85,為什么要做這樣的設(shè)計(jì)呢?普通的是0.3米,Hololens推薦大家是設(shè)置為0.85。原因是由于Hololens有一個(gè)最基本的動(dòng)作,Airtap。大家可以看一下手臂抬起來(lái)從肩到前方大約就是0.85的長(zhǎng)度,所以建議不要把畫面呈現(xiàn)在手指的近處,這樣看上去效果不是太好。

?

Hololens是一個(gè)手機(jī)性能設(shè)備,渲染能力不是太強(qiáng),所以在Unity里面建議大家把工程質(zhì)量選項(xiàng)目設(shè)置成最快。還需要設(shè)置Win10的Capability選項(xiàng)。上方是構(gòu)建選項(xiàng),這跟普通的Windows 10的選項(xiàng)是一樣的。下方有一個(gè)叫UWP Build Type,在這里推薦大家使用D3D,一般來(lái)說(shuō)Hololens里面不會(huì)整合Windows 10的控件,所以大家直接選D3D,保證它的渲染效果是最好。

?

因?yàn)槲医佑|Hololens的開(kāi)發(fā)者比較多,所以大家對(duì)Hololens的開(kāi)發(fā)提出過(guò)不少問(wèn)題,其中比較尖銳的就兩個(gè)問(wèn)題。

?

第一個(gè)問(wèn)題是性能問(wèn)題,也就是性能不足的問(wèn)題,Hololens不足以支撐非常復(fù)雜的3D圖形的渲染,這里給大家提供一個(gè)叫Simplygon的軟件。

?

Unity導(dǎo)出設(shè)置

?

這個(gè)工具最主要的功能是能夠幫你自動(dòng)地生成LOD的模型以及做材質(zhì)的整合。而且它不管是虛幻還是Unity都整合的非常好。如果你不喜歡它內(nèi)制的一些設(shè)定,它也提供了非常豐富的API給大家做定制。

?

使用Simplygon有兩種方式,一種是到官網(wǎng)上下載,另一種是直接到Unity的插件商店里面搜Simplygon下載就可以了。

?

第二個(gè)問(wèn)題是定位漂移的問(wèn)題。Hololens是通過(guò)激光束定位的,所以它有時(shí)候會(huì)受光線的影響,光線不同的話,放的空間的錨標(biāo)在位置上會(huì)有偏移。

?

如何解決物體在Hololens里面會(huì)產(chǎn)生漂移的問(wèn)題呢?大家可以發(fā)揮一下Vuforia的功能。如果我要定位某項(xiàng)物體的話,可以在實(shí)物的物品上放一些非常簡(jiǎn)單的特殊圖片,利用Vuforia這個(gè)工具,在Hololens里掃描特別的圖片以后,通過(guò)Vuforia可以把物體非常好地定位在原來(lái)的地方,避免物體在Hololens里面產(chǎn)生漂移的狀態(tài)。

?

流程是這樣,第一把Vuforia和Hololens的主場(chǎng)景進(jìn)行關(guān)聯(lián)。下面有一個(gè)配置選項(xiàng)。Vuforia從6.1版本開(kāi)始有專門針對(duì)Hololens的配置,所以在這邊選擇Hololens,就做這樣兩步就OK了,最后把Extended Tracking勾選一下,選的作用是可以把Vuforia里面對(duì)物體定位的三維坐標(biāo)數(shù)據(jù)和Hololens的空間坐標(biāo)系數(shù)據(jù)自動(dòng)關(guān)聯(lián)起來(lái)。