SCNTransaction无法在Scene Kit SWIFT中正确设置动画

时间:2015-05-10 09:07:58

标签: ios swift animation translation scenekit

我试图在y坐标0到y坐标10的十秒钟内移动一个对象。该对象是在y坐标0处创建的。问题是当动画开始时,对象弹出到结束位置大约一秒左右然后弹回到起始位置并正确开始动画。为什么对象会立即移动到最终位置,如何防止这种情况发生?

//create box bottom
func createGrabBox() {
grabbottom = grabBox.rootNode.childNodeWithName("grabbottom", recursively: true)!
grabbottom.position.y = 0
grabbottom.geometry!.firstMaterial!.transparency = 0.5
grabbottom.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.Dynamic, shape: nil)
scene.rootNode.addChildNode(grabbottom)

//animation snippet
SCNTransaction.begin()
SCNTransaction.setAnimationDuration(10.0)
SCNTransaction.setCompletionBlock() { }
grabbottom.position.y = 10
SCNTransaction.commit()

}

1 个答案:

答案 0 :(得分:0)

您无法操纵动态身体的位置。使用运动物体。