我们的应用程序旨在扫描房间,放下节点,然后在用户导入ARWorldMap时再次扫描房间时重新加载这些节点。该过程大部分都有效,但是会随机出现问题:
我们有SCNNode的子类,因此我们可以保存有关节点的其他信息。我们扫描一个房间,保存ARWorldMap文件并正确导入,然后使用世界位置值将节点保存到JSON文件中以将它们重新加载。但是,当我们将它们重新加载时,是否不一致它们将重新加载正确的值。看来,世界位置值是随机的。我们还存在从场景中删除节点的问题,并且仍然将其保存到ARWorldMap中。我们向上工作并删除所有关联的节点和锚点,它们有时仍会随机加载回场景中。
有时,当我们放置一个球体时,会将其半径保存为位置。
我们之前已从场景中删除了每个节点,但它们仍会重新加载。
ARKit中的内存是否已释放?什么会保留我们找不到的节点信息?
不是真的要求任何特定的代码示例,而是可能解释为什么会发生这种情况?是什么导致被删除的节点即使已被删除并且与它们关联的锚点也被继续导入?是什么导致世界地位在随机时间真正偏离?看起来我们的代码在部分时间内可以工作,但有时会偶尔产生意外结果。
任何信息都可以帮助您,谢谢!