DefaultCameraController 上的 SceneKit 动画
Posted
技术标签:
【中文标题】DefaultCameraController 上的 SceneKit 动画【英文标题】:SceneKit Animations on DefaultCameraController 【发布时间】:2020-07-28 12:25:27 【问题描述】:请原谅我在这里的无知。我是 SceneKit 的新手。我试图让我的默认相机控制器以一种平滑的“平移运动”进行动画处理。我正在尝试使用类似的东西:
scnView.defaultCameraController.translateInCameraSpaceBy(x: 10, y: 10, z: 10)
当SCNView
进入视图控制器时。问题是这个动作跳跃,我希望它动画化,从当前视角过渡到过渡中帧的新位置表示空间中两点之间的关系。
如果可能的话,我也希望在defaultCameraController
上发生这种情况。
谢谢!
【问题讨论】:
嘿迈克,试试这个帖子:57586437 - 做你自己的相机,然后你几乎可以做任何你想做的事。默认的相机控制器可以工作 - 有点,但它有一些你可能不希望长期使用的限制。 【参考方案1】:让动画工作的一个快速解决方案是将您的翻译包装在 SCNTransaction
块中。
SCNTransaction.begin()
SCNTransaction.animationDuration = 5
scnView.defaultCameraController.translateInCameraSpaceBy(x: 10, y: 10, z: 10)
SCNTransaction.commit()
【讨论】:
嘿詹姆斯!感谢您的回答。您是否知道一种将这些链接起来的方法,比如将其设置回原来的位置? SCNTransaction 有一个完成块,您可以使用它来触发另一个动画。但是我认为更好的方法是创建自己的相机节点并使用 SCNActions 对其进行动画处理,这样您就可以更好地控制自己可以做什么。 知道了!谢谢,詹姆斯。以上是关于DefaultCameraController 上的 SceneKit 动画的主要内容,如果未能解决你的问题,请参考以下文章
.htaccess:在所有页面上强制 www,在一个页面上强制 https,在所有其他页面上强制 http