我使用 renderer(_:updateAtTime:)函数更改场景中对象的位置
func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {
cylinder.position = SCNVector3(0, sin(time), 0)
}
因此,如果我想停止在ARSCNView中显示的场景,我尝试使用以下代码
ARSceneView.scene.isPaused = true
但是它没有帮助,所以我的对象仍然在移动而不是停留在原处(因为渲染器功能在每一帧都被调用)
那么如何在ARSCNView中停止场景? 要么 如何停止调用renderer(_:updateAtTime :)函数?
答案 0 :(得分:0)
我还没有找到如何停止renderer(_:updateAtTime:)
实例方法的解决方案。我可以为您提供一个简单而强大的解决方法:
let action = SCNAction.move(by: SCNVector3(0, sin(time), 0), duration: 2)
let repeatAction = SCNAction.repeat(action, count: 1)
cylinderNode.runAction(repeatAction)
希望这会有所帮助。