0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HoloLens 2開發(fā)怎么上手?

fFU3_vrtuoluo ? 來源:lq ? 2019-06-07 17:36 ? 次閱讀

在五月初舉行的MR Dev Days上,微軟不僅正式公開了大量的開發(fā)內(nèi)容,還開放了HoloLens 2開發(fā)動手實(shí)驗(yàn)室,我們有幸在數(shù)小時內(nèi)快速構(gòu)建了一個引擎拆解應(yīng)用,效果如下:

這么簡單就能做出來這樣的應(yīng)用?在MRTK 2的幫助下真的不難,但首先你需要了解HoloLens 2的一些開發(fā)基礎(chǔ)知識,在本篇文章中我們就來介紹從混合現(xiàn)實(shí)開發(fā)者搭建開發(fā)環(huán)境角度的新特性。

開發(fā)環(huán)境

操作系統(tǒng)SDK

開發(fā)HoloLens2應(yīng)用的電腦必須安裝有Windows SDK 18362以上版本,也就是要安裝“Windows 10 May 2019”或者說1903的SDK。Windows本身需要是1809以上,也可以升級到1903(如果沒有推送,可以加入Insider Preview選擇Fast Track,有風(fēng)險(xiǎn))。

開發(fā)工具

開發(fā)工具首選還是Unity。完善的工具鏈,C#的開發(fā)環(huán)境,天生的跨平臺特性,豐富的第三方插件,都使得Unity成為最方便好用的開發(fā)載體。至少要升級到2018.3以上的版本。因?yàn)槟壳癠nity2019版本還不夠穩(wěn)定,所以在較長時間之內(nèi),都將建議使用Unity2018進(jìn)行開發(fā)。

Unreal引擎也已經(jīng)官方支持HoloLens 2,但暫時SDK還沒有被放出。Unreal引擎能夠打造非常高質(zhì)量的3D內(nèi)容,在一些場景下HoloLens 2可產(chǎn)生更好畫面效果。本來這次Build大會上的HoloLens 2 demo就是使用這套Unreal SDK制作的整套的登月火箭展示,效果相當(dāng)不錯,可惜由于一些不穩(wěn)定因素當(dāng)場演示失敗。

比較硬核的開發(fā)者還可以選擇使用原生DirectX開發(fā),如果水平高的話效率會高很多,這樣做的大多是一些擁有自研3D引擎的公司。OpenXR的runtime支持也已經(jīng)加入,但還比較早期。

由于HoloLens2仍然運(yùn)行的是UWP程序,所以不管你使用任何環(huán)境,最終還是需要Visual Studio 2017進(jìn)行打包發(fā)布。

MRTK v2

要方便地開發(fā)HoloLens2應(yīng)用,最關(guān)鍵的是MRTK v2。MRTK提供了一整套在MR設(shè)備上操作、交互及協(xié)同的框架,在HoloLens一代的年代,我們還可以不使用MRTK自行開發(fā),但到了HoloLens2的時代,我們幾乎已經(jīng)能繞不開MRTK v2了(或者說,繞開它的成本很高,且毫無意義。后文會再詳細(xì)討論MRTK v2)。也許你之前的應(yīng)用就是用MRTK v1開發(fā)的,如果是這樣,官方提供了教程,可以將MRTK v1開發(fā)的應(yīng)用遷移到MRTK v2。

HoloLens 2 或 模擬

有HoloLens 2當(dāng)然要用HoloLens 2啦!

沒有HoloLens2設(shè)備的話,我們也可以使用模擬器進(jìn)行開發(fā)。如要安裝HoloLens2模擬器,需要將操作系統(tǒng)升級到1809版本或以上。

編譯架構(gòu)

HoloLens2已經(jīng)進(jìn)化到ARM架構(gòu),因此在Visual Studio中,發(fā)布平臺要選擇ARM。Unity 2018.3版本尚不能支持ARM64,所以目前發(fā)布的平臺只是ARM32。如果要使用ARM64,需要等待Unity 2019穩(wěn)定。

開發(fā)套件(MRTK v2)

MRTK v2相比老版本做了大量的進(jìn)化,不客氣地說,MRTK v2絕對是目前MR開發(fā)最強(qiáng)大的套件,沒有之一。MRTK v2的代碼進(jìn)行了大量重構(gòu),橫跨了AR/VR/MR(統(tǒng)稱XR),同時,由于增加了對OpenVR的支持,MRTK v2的覆蓋面變得更加廣泛,可以直接支持HTC Vive和Oculus Rift等VR設(shè)備,擁有強(qiáng)大的輸入兼容性。經(jīng)過重構(gòu)的Input模塊,使得所有設(shè)備的不同輸入方式可以被包容在一起,開發(fā)者可以用相對統(tǒng)一的思路,來處理各種不同設(shè)備的輸入方式。

重構(gòu)也使得MRTK v2有了更清晰的模塊化結(jié)構(gòu),更靈活的配置性和更好的擴(kuò)展性。基于MRTKPackage結(jié)構(gòu)進(jìn)行的開發(fā),使得它的擴(kuò)展性得到了空前的提升。從下面的package結(jié)構(gòu)圖可窺一斑。

使用方面,除了很多組件變得更加清晰好用之外,還引入了大量的配置文件,可以方便地設(shè)置MR中的各種核心功能,還可以創(chuàng)建自己的配置以便切換。

最后,從MRTK v2的路線圖來看,目前發(fā)布的只是RC1版本,而開發(fā)團(tuán)隊(duì)顯然有更大的野心,在后面的規(guī)劃中還有更多的內(nèi)容,讓我們拭目以待。

自然手勢

HoloLens 2給人印象最深刻的特性,就是可以用最自然的方式,讓雙手和虛擬物體交互了。通過我們此前提到的Azure Kinect深度攝像頭實(shí)時抓取高分辨率深度數(shù)據(jù),HoloLens 2通過機(jī)器學(xué)習(xí)能夠近實(shí)時捕捉手部的最多25個關(guān)節(jié),效果接近Leap Motion,這也就意味著我們可以掌控整個手部的動作(有趣的是,在MR Dev Day上微軟的官方推薦也是用Leap Motion來對這種操作進(jìn)行簡單模擬)。手部位置的追蹤和基礎(chǔ)的手勢已經(jīng)內(nèi)置在MRTK v2之中,只要使用默認(rèn)的配置制作的應(yīng)用,伸出雙手,我們就能看到有一雙虛擬的手完整的套在你的手上,并隨著你的手實(shí)時運(yùn)動。

使用默認(rèn)的設(shè)置,我們就可以隨意的用手抓取近處的虛擬物體,如果物體較遠(yuǎn),還可以用手部伸出的射線來像光標(biāo)一樣選取。我們可以用手觸摸物體,用手抓,用手指捏,可以按、可以推、可以撥動UI。如果你只是簡單的想嘗試所有這些,甚至不用寫一行代碼就可以實(shí)現(xiàn)。當(dāng)然了,如果要實(shí)現(xiàn)真正可用的功能,還是需要用代碼把這些功能整理到你的應(yīng)用之中。

值得一提的是,MRTK v2中提供了一個能夠讓人體驗(yàn)全部HoloLens2輸入方式和UI的示例場景,上手時,可以優(yōu)先考慮用它來進(jìn)行初次體驗(yàn)。

視線追蹤

視線追蹤也是這次設(shè)備帶來的重要新功能,設(shè)備可以追蹤使用者的眼睛所觀察的方向,可以真正做到一個眼神就知道你要做什么。通過MRTK v2提供的功能,我們能獲取使用者當(dāng)前眼鏡所注視的位置,可以用視線來選取物體,滾動文本,甚至可以統(tǒng)計(jì)使用者視線聚焦的位置情況,以便更好的分析使用者的操作習(xí)慣。

但是,由于視線移動非常靈活,過度使用視線追蹤有可能會造成使用者的困擾,產(chǎn)生大量違背使用者意圖的誤操作,因此官方建議只在合適的地方嘗試使用視線追蹤,并多加測試。

共享空間錨

做過多人協(xié)同的MR應(yīng)用的開發(fā)者都知道,空間不能共享是一件多么痛苦的事情。當(dāng)我們有多臺MR設(shè)備需要在一個共同場景中同步時,由于每一臺設(shè)備對空間的理解都不相同,我們往往需要逐個調(diào)整每一臺設(shè)備中的空間錨,才能讓這些設(shè)備中看到的畫面看起來在同一個位置。

微軟在HoloLens 1階段曾經(jīng)設(shè)計(jì)了一套API,能將空間信息序列化,并通過網(wǎng)絡(luò)傳輸給其他HoloLens,讓其他設(shè)備的空間與這臺設(shè)備共享。然而當(dāng)時的這一套機(jī)制實(shí)用性卻不強(qiáng)。一方面,空間信息序列化后過于龐大,經(jīng)常達(dá)到上百M(fèi)B的容量,網(wǎng)絡(luò)傳輸困難;另一方面,其他設(shè)備下載空間信息后,有很大概率無法和自身識別的空間進(jìn)行匹配,導(dǎo)致經(jīng)常不能使用。隨著HoloLens 2的到來,微軟也發(fā)布了新Azure Spatial Mapping。

Azure Spatial Mapping可以讓不同的MR設(shè)備之間共享空間認(rèn)知,不止HoloLens之間分享,還可以涵蓋ARKit和ARCore。與之前不同,這次是直接將空間信息通過簡單的REST API上傳Azure,由Azure管理并存儲,其他端則是從Azure下載。我們在Redmond進(jìn)行了簡單的測試,上傳下載的速度還是很快的,比之前應(yīng)該是做了大幅的優(yōu)化。世紀(jì)互聯(lián)版Azure據(jù)說也要上線該服務(wù),尚不清楚國內(nèi)版性能會怎么樣。

另外,Azure Spatial Mapping還提供了一些附加的功能,例如可以累加式地添加空間錨,不必在一次運(yùn)行時完全添加,可以在以后打開程序時再次添加;例如還可以在空間錨之間創(chuàng)建聯(lián)系,幫助使用者進(jìn)行尋路,獲取距離當(dāng)前空間錨最近的空間錨,等等。

有了Azure Spatial Mapping,我們就可以很容易地在不同的MR設(shè)備之間共享空間錨信息,多設(shè)備協(xié)同時的前期調(diào)校工作會變得更加簡便。唯一的問題在于,我們必須而且當(dāng)然要連上Azure公有云才能訪問此服務(wù),在純內(nèi)網(wǎng)環(huán)境中就無法使用了,這時候還是需要自己寫相應(yīng)的映射服務(wù)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6609

    瀏覽量

    123026
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    360

    瀏覽量

    40770
  • HoloLens 2
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    5496

原文標(biāo)題:【技術(shù)干貨】HoloLens 2開發(fā)初窺

文章出處:【微信號:vrtuoluo,微信公眾號:VR陀螺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    開發(fā)開發(fā)了一款Hololens應(yīng)用 通過手勢和眼神來操控家電

    一位開發(fā)開發(fā)了一款Hololens應(yīng)用,該應(yīng)用用戶通過手勢和眼神來操控家電。
    發(fā)表于 04-17 15:57 ?2450次閱讀

    Styly開發(fā)團(tuán)隊(duì)將時尚電子商務(wù)帶給HoloLens

    微軟HoloLens的這個新混合現(xiàn)實(shí)(MR)商業(yè)平臺是Psychic VR Lab與時裝公司chloma合作完成的。 蘇富比國際地產(chǎn)公司和Houzz等公司推出的增強(qiáng)現(xiàn)實(shí)(AR)應(yīng)用程序(如
    的頭像 發(fā)表于 04-06 12:01 ?4955次閱讀

    Mozilla的Firefox Reality瀏覽器將支持HoloLens 2

    設(shè)備、Oculus Go和谷歌Daydream View,以及Magic Leap One的早期開發(fā)者預(yù)覽版。HoloLens 2的版本目前只是一個原型。
    發(fā)表于 02-26 09:27 ?699次閱讀

    微軟攜HoloLens 2亮相2019年世界移動通信大會(MWC 2019)

    微軟攜HoloLens 2亮相2019MWC 今天微軟在MWC正式面向全球發(fā)布了HoloLens 2,同時為其準(zhǔn)備了一套全新的Azure Kinect DK,它是一款
    發(fā)表于 02-26 09:15 ?550次閱讀

    微軟在MWC發(fā)布了全新產(chǎn)品HoloLens 2

    昨天刷爆網(wǎng)絡(luò)的最強(qiáng)單品非HoloLens 2莫屬了,昨天在巴塞羅那舉行的2019 MWC世界移動通信大會上,微軟發(fā)布了全新產(chǎn)品HoloLens 2,這款萬眾矚目的產(chǎn)品一直備受期待,關(guān)于
    發(fā)表于 03-11 14:58 ?951次閱讀

    微軟賣的不是HoloLens 2,而是“云”。

    回顧HoloLens的發(fā)展,在其最初的原型,實(shí)際上是一款B端和C端的雙定位AR設(shè)備,這與HoloLens開發(fā)團(tuán)隊(duì)不無關(guān)系。起初在團(tuán)隊(duì)建設(shè)上,該開發(fā)團(tuán)隊(duì)就沿襲了Xbox項(xiàng)目中的核心成員
    的頭像 發(fā)表于 03-01 11:17 ?3182次閱讀

    微軟 HoloLens團(tuán)隊(duì)推出,針對企業(yè)使用的HoloLens 2產(chǎn)品

    恭喜Microsoft HoloLens團(tuán)隊(duì)推出了針對企業(yè)使用的HoloLens 2產(chǎn)品! HoloLens和RealWear HMT-1是相輔相成的兩款優(yōu)秀產(chǎn)品。
    發(fā)表于 03-07 16:57 ?836次閱讀

    HoloLens 2中文官方網(wǎng)站正式亮相

    近日,HoloLens 2 中文官網(wǎng)已正式上線了。現(xiàn)在,用戶可以直接訪問https://www.microsoft.com/zh-cn/hololens/來獲得有關(guān)HoloLens
    的頭像 發(fā)表于 04-26 09:05 ?5887次閱讀

    微軟與Unity合作發(fā)布了HoloLens 2開發(fā)

    微軟混合現(xiàn)實(shí)高級總監(jiān)馬特?弗萊肯斯坦在一份聲明中表示:“通過將HoloLens 2、Azure MR services和Unity平臺整合在一起,我們讓開發(fā)者比以往任何時候都更容易開始構(gòu)建推動第三波計(jì)算浪潮的實(shí)時3D體驗(yàn)?!?/div>
    的頭像 發(fā)表于 05-07 09:52 ?2764次閱讀

    微軟HoloLens 2將是混合現(xiàn)實(shí)頭顯中的重大技術(shù)改進(jìn)

    HoloLens 2HoloLens1相比,手勢感覺要自然得多,眼動追蹤的添加為用戶體驗(yàn)增加了新的交互性。
    發(fā)表于 11-25 09:39 ?650次閱讀

    微軟HoloLens 2 幕后的設(shè)計(jì)故事

    卡爾·萊德貝特(Carl Ledbetter)興奮到不能自已。這位負(fù)責(zé)Xbox游戲主機(jī)和HoloLens設(shè)計(jì)工作的總監(jiān)的心情十分雀躍,他在《快公司》記者馬克·威爾遜(Mark Wilson)的專訪中分享了微軟最新產(chǎn)品HoloLens 2
    發(fā)表于 07-18 10:15 ?985次閱讀

    微軟HoloLens 2開發(fā)版正式在美國上市:售價約23412元,總價值31773元

    早在 2019 年 5 月,微軟首次公布了 HoloLens 2 開發(fā)版套裝。在宣布 1 年半之后,微軟今天宣布 HoloLens 2
    的頭像 發(fā)表于 11-03 18:00 ?2968次閱讀

    微軟在美國全面上市面向開發(fā)人員的HoloLens2

    本文來自cnBeta 早在 2019 年 5 月,微軟就已經(jīng)宣布了面向開發(fā)人員的 HoloLens 2 。然而直到一年半以后,它才終于在美國全面上市。此外微軟承諾在 2020 年底之前,將
    的頭像 發(fā)表于 11-06 14:57 ?2212次閱讀

    微軟混合現(xiàn)實(shí)HoloLens 2有哪些亮點(diǎn)

    小編說:虛擬與現(xiàn)實(shí)的邊界,如何輕松打破,HoloLens 2所構(gòu)建的奇趣數(shù)字空間,又將有哪些超級亮點(diǎn)呢?讓我們一起來看看吧~
    的頭像 發(fā)表于 01-25 10:37 ?2604次閱讀

    HoloLens 2將應(yīng)用在汽車上?微軟聯(lián)手大眾推動該技術(shù)發(fā)展

    近日,微軟宣布其旗下產(chǎn)品HoloLens 2將新增移動平臺功能,據(jù)了解,大眾汽車參與了這項(xiàng)功能的開發(fā)。 微軟稱,新推出的移動平臺功能解決了HoloLens設(shè)備傳感器混亂的問題。大眾在使
    的頭像 發(fā)表于 05-06 17:46 ?1551次閱讀