Cloud Anchor,為 云錨點(diǎn)。
定義:通過云錨點(diǎn),可以讓位于同一現(xiàn)實(shí)場(chǎng)景中的多臺(tái)設(shè)備加載同一個(gè)錨點(diǎn),并渲染到各自的場(chǎng)景中,在該錨點(diǎn)上進(jìn)行多人AR體驗(yàn)和交互。
云錨點(diǎn)可以讓位于同一現(xiàn)實(shí)場(chǎng)景的設(shè)備多次進(jìn)入同一個(gè)AR場(chǎng)景,實(shí)現(xiàn)AR內(nèi)容的持久化。
云錨點(diǎn)的本質(zhì)是記錄了場(chǎng)景空間特征信息和虛擬物體所在位置信息的序列化文件,云錨點(diǎn)的解析和托管通過服務(wù)器完成,為了體驗(yàn)該AR效果,必須保證客戶端設(shè)備連接互聯(lián)網(wǎng),可以正常訪問服務(wù)器。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
延伸閱讀:
ARCore關(guān)于Cloud Anchor的使用(UnitySDK)
默認(rèn)樣例需要使用Google Cloud,所以梯子是必不可少的,使用的Unity版本為2019.4.13f1c1,ARCore版本為1.20
需要額外導(dǎo)入的Package
某些API從2019版本開始默認(rèn)不在支持,需要從Window->Package Manager打開包管理器,導(dǎo)入以下包
1、XR Legacy Input Helpers ,與獲取輸入設(shè)備的位姿有關(guān),我用的2.1.4
2、Multiplayer HLAPI ,多人游戲有關(guān),我用的1.0.6
然后再導(dǎo)入ARCore的Unitypackage,就不再報(bào)錯(cuò)啦,關(guān)于Build的設(shè)置可以查看我的上一篇
Google Cloud設(shè)定
默認(rèn)Cloud Anchor樣例需要使用Google Cloud,進(jìn)入Console,麻煩的地方在于要加各種權(quán)限設(shè)置,不然你在上面啟用的API會(huì)收到很多請(qǐng)求(網(wǎng)絡(luò)攻擊?),以致于不能對(duì)目標(biāo)應(yīng)用做出響應(yīng)
1、進(jìn)入API概覽,點(diǎn)擊憑據(jù),左上角創(chuàng)建憑據(jù),選擇API密鑰,接著點(diǎn)擊限制密鑰
2、應(yīng)用限制為Android應(yīng)用,添加內(nèi)容為安卓包的名字,以及簽名證書的指紋
3、安卓包的名字:注意ARCore的腳本里面有的會(huì)在打包時(shí)改名字,所以在project settings -> player ->other settings界面里改的東西,打包出來可能會(huì)變。最穩(wěn)妥的方法是先build一次,然后復(fù)制other settings里面腳本改動(dòng)后的包名。這段代碼其實(shí)在ExamplePreprocessBuild.cs里,有需要自行修改。
4、簽名證書的指紋:project settings -> player ->publish settings里選擇Custom Keystore,建議在一個(gè)不帶空格的路徑下創(chuàng)建,需要填寫兩個(gè)密碼。然后打開命令行,進(jìn)入JDK的bin目錄下。我用的是Android Studio的JDK,…\Android Studio\jre\bin,總之就是有keytool.exe文件的目錄,使用指令
keytool -list -v -keystore keystore完整路徑 -alias 你設(shè)置的Alias名
5、然后復(fù)制SHA1編碼,填到Google Cloud要求的簽名證書指紋里,點(diǎn)擊保存
在project settings ->Google ARCore-> Android Authentication Strategyl欄里,選擇API Key,將剛才生成的API密鑰復(fù)制到里面。
Multiplayerd的設(shè)定
點(diǎn)擊Unity右上角的云圖標(biāo),選擇組織,創(chuàng)建project,然后選擇Multiplayer,接著點(diǎn)Go to dashboard,填每個(gè)房間允許的人數(shù),我建議4(因?yàn)樘?的時(shí)候個(gè)人遇到不能加入的問題,以及Cloud Anchor樣例里的Networkinfo的高級(jí)選項(xiàng)里的Max Connections里也是4),保存,可以看下左上角project名是否變成自己的項(xiàng)目名字,沒有下拉菜單,以及再次保存刷新一下。確認(rèn)dashboard里更改好后,回到Unity里選擇Refresh Configuration,就能打包了。
延伸閱讀來源:https://blog.csdn.net/zrh2126446_163/article/details/109537789