ARFoundation入门教程11-地理空间和云锚点的配置

托管和解析云锚点必须授权您的应用调用 ARCore Cloud Anchor API。授权包括使用API密钥授权无密钥授权,区别是:

使用API密钥授权托管和解析最多24小时(1天)的云锚点。

使用无密钥授权来托管和解析 TTL 介于1到365天之间的 Cloud Anchors。

一、创建项目工程和安装ARCore Extensions软件包

详见:

https://blog.csdn.net/weixin_40239288/article/details/125328974

二、unity设置

1.unity项目- Edit > Project Settings > XR > ARCore Extensions:

2.Android Authentiation Strategy,下拉菜单,选择Keyless。并在Optional Features勾选Cloud AnchorsGeospatial两个选项。

3.生成证书和打包:

a. Edit - Project Settings > Player > Publishing Settings,点击Keystore Manager:

b.点击Create New-Anywhere,弹出保存提示框,输入名称,点击保存:

c.依次输入相关内容,点击Add Key完成创建:

c.创建成功:

d.点击yes

  e. 签名打包的APK

4. SHA-1 指纹签名密钥

打开命令提示符-进入证书所在目录,把未签名的APK放到当前目录,更名orient.apk,命令行输入:

jarsigner -verbose -keystore user.keystore -signedjar sign.apk orient.apk 212

user.keystore为证书,如:F:\unity\sign\user.keystore

orient.apk为未签名APK,如:F:\unity\sign\orient.apk

sign.apk为签名后的APK

212为证书创建时设置的别名,执行后生成签名的apk:

5.查看SHA-1 指纹,命令行输入:

keytool -list -printcert -jarfile sign.apk

复制SHA1内容即可。

三、设置google cloud项目

使用视觉定位系统(VPS),需要关联一个 Google Cloud 项目, 并在该Google Cloud 项目中启用ARCore API,新建Google Cloud项目:

1.访问:https://console.cloud.google.com/projectcreate,新建项目。

2.点击创建后新建成功:

3.侧边栏菜单选择API和服务-库:

4.输入ARCore API并搜索

5.点击选择ARCore API(ARCore Cloud API 已不再使用

6.点击启用,即可启用地理空间和云锚点

7.进入如下页面

四、google cloud项目设置

应用需要授权后,才能调用Geospatial API,授权有无密钥授权和API密钥授权,推荐使用无密钥授权。

实现无密钥授权步骤:

1.创建建 OAuth 客户端 ID(未配置同意屏幕)

a.google cloud项目中,选择侧边栏菜单-API和服务-凭据

b.点击创建凭据-OAuth客户端ID:

c.点击配置同意屏幕

d.选择-外部,点击创建按钮:

e.填写应用名称邮箱,创建

f.第二步直接点击保存并继续

g.添加测试用户,点击继续:

h.完成

5.创建建 OAuth 客户端 ID(已配置同意屏幕)

a.google cloud项目中,选择侧边栏菜单-API和服务-凭据

b.点击创建凭据-OAuth客户端ID:

c.应用类型-Android:

d.输入数据,名称填写app名称,软件包名称填写app的包名,SHA1证书指纹填写上面签名中复制的SHA1,点击创建:

e.创建成功

Google项目创建完成。

五、unity启用Geospatial API

1.Assets下选择 ARCoreExtensionsConfig 脚本对象,然后在 Inspector 窗口中,下拉 Geospatial Mode 选择 Enabled。

ARCoreExtensionsConfig的创建:

《ARFoundation从零开始3-创建ARFoundation项目》:

https://blog.csdn.net/weixin_40239288/article/details/125328974

六、常见问题

1. 使用ARCore Extension API例子程序:Window-Package Manager-ARCore Extensions-Samples,点击Import按钮导入要使用的示例代码。

2.添加Scene,打包:

2.错误CS0234:命名空间“UnityEditor”中不存在类型或命名空间名称“iOS”:

解决:安装UnitySetup-iOS-Support-for-Editor-2020.2.6f1。

七、参考文献

1. Unity api:

Unity - Manual: Unity User Manual 2021.3 (LTS)

2. Geospatial和cloud anchor 文档:

使用 ARCore Geospatial API 打造全球规模的沉浸式 AR 体验  |  Google Developers

https://developers.google.cn/ar/develop/cloud-anchors?hl=zh-cn

3.Google AR

https://github.com/google-ar

https://github.com/google-ar/arcore-unity-extensions

猜你喜欢

转载自blog.csdn.net/weixin_40239288/article/details/126423522