You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ARCore API启用时Unity附加场景卸载后GameObject未销毁的问题求助

ARCore API启用时Unity附加场景卸载后GameObject未销毁的问题求助

大家好,我现在在测试一款对接Google ARCore API的地理空间应用,遇到了一个棘手的问题,想请教下各位大佬。

我采用附加加载(additively)的方式将子场景加载到主场景中,但当我执行场景卸载操作时,里面的GameObject居然还留在原地——哪怕UnloadSceneAsync操作显示已经成功完成了。

更奇怪的是,这个问题只在ARCore API启用的情况下才会出现:如果我在Google Cloud Console里禁用该API,让应用仅依靠GPS和IMU进行定位,场景卸载就完全正常,所有对象都能被正确清理。

为了解决这个问题,我已经尝试了以下几种方法,但都没有效果:

  • 卸载场景后调用Resources.UnloadUnusedAssets()来清理未使用的资源
  • 卸载场景前先禁用ARSession,等卸载完成后再重新启用它
  • 卸载场景前尝试销毁所有Geospatial Creator锚点,担心是ARSession或EarthManager阻止了这些对象被卸载

补充一些细节信息:

  • 这个问题在Android和iOS设备上都会出现,而且我不清楚如何在Unity编辑器中使用VPS功能,所以只能在真机上测试验证结果
  • 我发现如果ARSession初始化失败(有时候Android Resolver构建项目出错会导致这种情况),场景卸载反而能正常工作
  • 所有场景的加载和卸载都是异步操作,并且我都会等待前一个操作完成后再执行下一个
  • ARSession是在第二个场景中加载并初始化的,第一个场景始终保留并作为活动场景。第二个场景加载完成后,我会选择加载几个包含Geospatial Creator锚点的小型附加场景

备注:内容来源于stack exchange,提问作者BR14N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 09:00:27