有没有办法在不破坏和重新制作会话脚本的情况下重置 ARCore 检测到的表面?

Is there a way to reset ARCore detected surfaces without destroying and remaking the session script?

我正在制作一个使用可选 ARCore 的应用程序。这意味着我在运行时启用和禁用 ARCore 设备。我注意到即使您禁用并重新启用 ARCore 设备,检测到的表面仍然存在。

有没有办法重置检测到的表面数据?我希望用户每次打开 AR 内容时都能重新开始。

我在其他线程中找到了这个问题的答案,但所有这些都涉及从 ARCore 设备中强行销毁 ARCoreSession 脚本,然后将脚本重新添加回它。这似乎..愚蠢且低效。

仅删除场景中检测到的平面(不破坏并重新创建 ArSession)不是使用 ARCore 的好习惯。另一种方法是删除所有 ArAnchors 旨在容纳 Renderables 的内容。尽管最稳健的方法是销毁当前的 ArSession 并重新创建一个新的。

查看此 GitHub 问题 #253 了解更多详细信息:Clear Planes and Anchors

和...

查看 Whosebug post 了解更多信息。