?
Hololens開發(fā)環(huán)境
Hololens也是屬于Win10通用應(yīng)用家族的一員。對(duì)于Hololens的開發(fā)毋庸置疑是Win10的開發(fā),大家從開發(fā)環(huán)境上可以看出要裝Win10的SDK,從開發(fā)工具上來說推薦大家使用新一代的集成編譯環(huán)境Visual Studio 2017。
?
當(dāng)然你需要去購買Hololens設(shè)備。不管有沒有設(shè)備,都要向大家推薦安裝Hololens的模擬器。對(duì)于第三方的開發(fā)插件來說,我們是推薦大家使用Unity。從5.5版本開始,Unity已經(jīng)把Hololens列入到正式版本當(dāng)中。
?
除了Unity以外還可以安裝Vuforia。Vuforia從6.1版本開始支持Hololens平臺(tái)。大家如果希望在Hololens上實(shí)現(xiàn)手機(jī)AR的功能,大家可以直接使用Vuforia6.1的版本來開發(fā)。
使用Hololens開發(fā)大概會(huì)遇到哪些問題?它的開發(fā)包括了哪些部分?
一般來說一個(gè)Hololens的程序會(huì)包含材質(zhì)、模型、貼圖、腳本等。一個(gè)3D的圖形程序不外乎也是這樣幾個(gè)部分,這跟普通的3D程序沒有什么區(qū)別。
?

?
因?yàn)镠ololens設(shè)備的特殊性,有六樣?xùn)|西是需要大家做特殊的處理的,前面三個(gè)是跟Hololens獨(dú)特的輸入相關(guān)的。在Hololens的應(yīng)用程序中需要去處理凝視操作、手勢(shì)操作、語音輸入。另外三個(gè)是跟空間感知相關(guān)的,你需要去識(shí)別空間錨標(biāo)的位置、去處理空間映射、空間聲音。
?
這六部分是Hololens程序跟其他程序所不同的部分。中間這六塊內(nèi)容是HoloToolkit。這是微軟為了方便大家開發(fā)Hololens應(yīng)用而開源的Unity插件。大家可以到微軟官方的開源網(wǎng)址上找到并且下載下來??梢灾苯邮褂肏oloToolkit來開發(fā)HoloLens應(yīng)用。
?
重點(diǎn)說一下用Unity開發(fā)Hololens。開發(fā)的過程和開發(fā)3D應(yīng)用區(qū)別不是太大,需要注意的是有一些具體設(shè)置。
?

?
近裁面是0.85,為什么要做這樣的設(shè)計(jì)呢?普通的是0.3米,Hololens推薦大家是設(shè)置為0.85。原因是由于Hololens有一個(gè)最基本的動(dòng)作,Airtap。大家可以看一下手臂抬起來從肩到前方大約就是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,一般來說Hololens里面不會(huì)整合Windows 10的控件,所以大家直接選D3D,保證它的渲染效果是最好。
?
因?yàn)槲医佑|Hololens的開發(fā)者比較多,所以大家對(duì)Hololens的開發(fā)提出過不少問題,其中比較尖銳的就兩個(gè)問題。
?
第一個(gè)問題是性能問題,也就是性能不足的問題,Hololens不足以支撐非常復(fù)雜的3D圖形的渲染,這里給大家提供一個(gè)叫Simplygon的軟件。
?

?
這個(gè)工具最主要的功能是能夠幫你自動(dòng)地生成LOD的模型以及做材質(zhì)的整合。而且它不管是虛幻還是Unity都整合的非常好。如果你不喜歡它內(nèi)制的一些設(shè)定,它也提供了非常豐富的API給大家做定制。
?
使用Simplygon有兩種方式,一種是到官網(wǎng)上下載,另一種是直接到Unity的插件商店里面搜Simplygon下載就可以了。
?
第二個(gè)問題是定位漂移的問題。Hololens是通過激光束定位的,所以它有時(shí)候會(huì)受光線的影響,光線不同的話,放的空間的錨標(biāo)在位置上會(huì)有偏移。
?
如何解決物體在Hololens里面會(huì)產(chǎn)生漂移的問題呢?大家可以發(fā)揮一下Vuforia的功能。如果我要定位某項(xiàng)物體的話,可以在實(shí)物的物品上放一些非常簡(jiǎn)單的特殊圖片,利用Vuforia這個(gè)工具,在Hololens里掃描特別的圖片以后,通過Vuforia可以把物體非常好地定位在原來的地方,避免物體在Hololens里面產(chǎn)生漂移的狀態(tài)。
?
流程是這樣,第一把Vuforia和Hololens的主場(chǎng)景進(jìn)行關(guān)聯(lián)。下面有一個(gè)配置選項(xiàng)。Vuforia從6.1版本開始有專門針對(duì)Hololens的配置,所以在這邊選擇Hololens,就做這樣兩步就OK了,最后把Extended Tracking勾選一下,選的作用是可以把Vuforia里面對(duì)物體定位的三維坐標(biāo)數(shù)據(jù)和Hololens的空間坐標(biāo)系數(shù)據(jù)自動(dòng)關(guān)聯(lián)起來。