如何解决Swift - SCNAnimationPlayer 设置持续时间取消 timeOffset
我有一个动画,我试图在特定位置开始和结束。我可以通过设置 animationPlayer.animation.timeOffset
来设置开始,我还尝试将动画设置为在 timeOffset 后大约 20 秒结束,我可以通过设置 animationPlayer.animation.duration
来做到这一点。
我面临的问题是设置 duration
会抵消 timeOffset
。如果我只使用 .timeOffset
,我可以让动画从任何位置开始,但只要设置了持续时间,动画就会从头开始播放。
预期的结果是:动画从 25 秒(时间偏移)开始运行 20 秒(持续时间),然后循环回到时间偏移。
let rootNode = sceneView.rootNode
rootNode.enumerateChildNodes { child,_ in
guard let animationPlayer = child.animationPlayer(forKey: key) else { return }
animationPlayer.animation.timeOffset = 25
animationPlayer.animation.duration = 20
animationPlayer.animation.autoreverses = true
animationPlayer.animation.isRemovedOnCompletion = false
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。