【问题标题】:SceneKit Camera Animation Moving and DecelerationSceneKit 相机动画移动和减速
【发布时间】:2015-10-29 18:17:15
【问题描述】:

我正在使用以下代码沿 z 轴移动我的 SCNScene 场景的相机节点:

let moveTo = SCNAction.moveTo(SCNVector3(x:0,y:0,z:-40), duration: 40); 
cameraNode.runAction(moveTo)

我想让一个事件(比如我的游戏触发的 GameOver 事件)顺利进行 使相机减速直到停止。

怎样才能平稳停止移动相机?

【问题讨论】:

  • 这是一篇很老的帖子,但这条评论可能对某人有所帮助。我不确定它是否适用于这种情况,但你可以这样做:gameView.defaultCameraController.inertiaFriction = 0.01

标签: swift animation move scenekit scnnode


【解决方案1】:

SCNAction 有一个“timingMode”属性,您可以将其设置为“EaseOut”

【讨论】:

  • 问题是camerNode关联了一个持续时间为40秒的运行动作。现在我想停止移动cameraNode。我可以删除与相机节点相关的所有动作,但这样相机节点将不会平稳减速......
【解决方案2】:

凌乱,但你可以使用物理:

在 GameOver 事件被触发的那一刻,将一个动态物理体添加到相机的节点,给它相机的当前速度,并应用阻尼使其减速。这也将极大地控制经济放缓。只需确保节点不受重力影响,否则会导致节点毫无优雅地坠落。

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 2017-03-28
    • 2012-09-17
    • 1970-01-01
    • 2020-03-12
    • 2018-08-19
    • 1970-01-01
    • 2013-03-13
    • 2015-06-14
    相关资源
    最近更新 更多