SceneKit LookAt约束不能平滑地动画

时间:2016-09-26 06:28:52

标签: ios swift scenekit

我遇到动画看约束动画的问题。我有一个可以点击多个对象的场景。点击一个物体后,相机的位置会更新为与物体相距一定距离,然后会看一下约束。

问题在于在SCNTransaction开始和提交块中查看约束的动画。我设置此代码来查看:

// Causes the camera to look at the given target
private func cameraLookAtTarget(target: SCNNode)
{
    let constraint = SCNLookAtConstraint(target: target)
    constraint.gimbalLockEnabled = true
    cameraNode.constraints = [constraint]
}

在点击对象时调用它的代码块:

SCNTransaction.begin()
SCNTransaction.setAnimationDuration(CAMERA_ANIMATION_DURATION)
cameraLookAtTarget(target)
SCNTransaction.commit()

动画首先进行跳转,然后设置动画以查看对象,而不是平滑地旋转相机以查看新目标。我可以确认这是约束,因为更新摄像机位置可以顺利移动它。

编辑:基本上,就像在动画中首先重置相机,然后动画来查看目标一样。我希望看看约束从它正在查看的当前对象动画到新目标。

我无法弄清楚问题。在Unity中,我可以很容易地获得一个外观旋转的旋转,并在update方法中对它应用一个slerp,以便它慢慢地查看该对象。

0 个答案:

没有答案
相关问题