2

我的 SceneKit 应用程序中有以下代码可以在碰撞后移动相机:

let presNode = contact.nodeA.presentationNode()

SCNTransaction.begin()
SCNTransaction.setAnimationDuration(1.0)

SCNTransaction.setCompletionBlock() {
    println("Moved camera")
}

_cameraNode.position.x = presNode.position.x
_cameraNode.position.y = 0
_cameraNode.position.z = presNode.position.z + 120
SCNTransaction.commit()

但是,我遇到了一个问题,即移动相机有时会导致动画之前的帧在最后一帧中显示为叠加层,如下所示: 在此处输入图像描述

相反,它应该如下所示: 正确渲染

但是,这种情况并非每次都发生,并且(对我而言)没有明确的原因为什么它有时会发生而不是其他情况。谁能引导我朝着正确的方向前进?

谢谢!

4

0 回答 0