如何在自定义应用中访问Unity Geospatial Creator创建的地理空间锚点?
核心结论
直接通过API Key跨应用访问Unity Geospatial Creator创建的锚点行不通——Creator生成的锚点默认和Unity打包的应用绑定,不会自动同步到云端供其他应用调用。
可行的解决办法
手动提取参数硬编码(快速上手)
在Unity编辑器里选中你放置的Geospatial锚点,Inspector面板里能直接看到经纬度、海拔、旋转角度这些参数,把数值复制出来,到Android Studio的自定义应用里,调用对应平台的地理空间API(比如Google ARCore Geospatial API),手动创建对应的地理锚点就行。导出锚点数据到云端/本地存储(适合多锚点场景)
要是锚点数量多或者需要后续更新,在Unity里写个简单逻辑,把所有锚点的空间数据(经纬度、海拔、旋转、自定义ID等)导出成JSON/CSV格式文件,把文件传到自己的服务器或者云端存储,Android应用请求这个文件,解析后再创建锚点。自定义云端同步服务(进阶动态场景)
如果需要实时同步锚点的创建和修改,可以基于Google Cloud Anchors或者自己搭后端服务,在Unity里创建锚点时就把数据上传到后端,Android应用再从后端拉取数据还原锚点。不过这个方案需要额外做后端开发。
额外说明
Unity Geospatial Creator主要是用来快速搭建地理空间AR体验的,默认只服务于Unity打包的应用,本身没有跨平台/跨应用的锚点共享机制。所以要在非Unity构建的应用里用这些锚点,必须通过数据导出+二次开发的方式实现。
内容的提问来源于stack exchange,提问作者tibo mertz

