ARKit-将3D模型添加到场景时,相机口吃

时间:2018-11-18 23:46:53

标签: ios swift scenekit arkit

当用户在检测到的平面上点击时,我试图在AR场景中放置3D对象:

self.sceneView.scene.rootNode.addChildNode(model3DNode)

但是,在渲染3D模型之前,相机会冻结几秒钟。这仅在第一次时发生,随后进行的任何放置模型的尝试均会顺利执行。由于模型很轻(1.3Mb),这看起来很奇怪。到目前为止,我已经尝试了不同的解决方案:

  • 使用带有DispatchQueue.global(qos:.background).async的后台线程
  • 在添加模型之前准备模型 sceneView.prepare([model3DNode], completionHandler: { (success) in self.sceneView.scene.rootNode.addChildNode(model3DNode) })

但是这些方法都不成功。在此处的附件中,您可以找到分析的结果,并且可以清楚地看到GPU / CPU帧时间是第一次出现峰值,随后的所有尝试均无效(FPS似乎没有受到影响)。

enter image description here

系统正在运行iOS 12和ARKit 2.0

0 个答案:

没有答案