我是ARKit的新手。我试图在相机前面的场景视图中添加这么多新节点。我想添加具有不同颜色的物体,例如圆柱体和球体。问题是我在场景中添加了30个对象后,帧速将显着下降,并且手机开始滞后很多。我搜索了很多解决方案,发现此功能很有帮助。 prepare(_:completionHandler:)。这就是我没有准备功能就将对象添加到场景中的方式。
self.sceneView.scene.rootNode.addChildNode(cylinder)
现在我正在使用如下的prepare函数:
self.sceneView.prepare([cylinder], completionHandler: { (success) in
self.sceneView.scene.rootNode.addChildNode(cylinder)
})
现在像以前一样掉落一帧,在将50个对象添加到场景后,应用也会崩溃。
我认为我没有正确使用它,也不知道如何使用它!!
还有,我在想我还能做些什么来改善我的ARKit应用程序?
答案 0 :(得分:0)
如何添加对象与所看到的帧速率以及使用所有可用内存的时间无关。添加对象的不同方法对于保持UI响应速度很有用,但是在将大量对象放入ARKit场景时,您将需要优化(或使用功能更强大的硬件)。
如果您想了解ARKit的性能,medium article on ARKit 1.5 vs. 2.0可能会有用。