【发布时间】:2018-10-25 17:20:30
【问题描述】:
我正在学习如何使用 Fox 2 示例在SceneKit 中使用动画功能(您可以在这里找到它https://developer.apple.com/videos/play/wwdc2017/604/ 和这里https://developer.apple.com/library/content/samplecode/scenekit-2017/Introduction/Intro.html),我有一个问题:
如何反转动画?
我在官方文档(非常非常差)和网上搜索,但似乎没有可以反转动画的内置函数。
我发现了三个有趣的参数:
-
.autoreverses: "当为 true 时,对象在向前播放后向后播放。默认为 NO" -
.fillsBackward: "当为真时,动画在其活动持续时间之前处于活动状态,并计算为其起始值。默认为 NO" -
.fillsForward: "当为真时,动画在其活动持续时间后仍保持活动状态,并评估为它的结束值。默认为 NO"
问题是第一个参数没有做我想要的,当我使用其他两个参数时,什么也没有发生:S
这就是我使用这些参数的方式:
-
我在角色模型中加载动画的地方
let spinAnimation = Character.loadAnimation(fromSceneNamed: "Art.scnassets/character/max_spin.scn") spinAnimation.animation.isRemovedOnCompletion = false spinAnimation.speed = 1.5 spinAnimation.stop() model!.addAnimationPlayer(spinAnimation, forKey: "spin") -
我在哪里创建角色并开始动画
character2 = Character.init(scene: scnScene!) character2?.model.position = SCNVector3(x: 0.15, y: -0.3, z: 0) scnScene!.rootNode.addChildNode(character2!.node!) character2?.model.animationPlayer(forKey: "spin")?.animation.fillsForward = true //or fillsBackward or autoreverses character2?.model.animationPlayer(forKey: "spin")?.play()
我误解了.fillsBackward 和.fillsForward 吗?是否有详尽且更新的 SceneKit 文档?
【问题讨论】:
-
请发布您遇到问题的代码。如果我们不知道您在做什么,我们无法帮助您调试。
-
“是否有详尽且更新的 SceneKit 文档?”,没有。很遗憾。尝试将动画速度设为负数。
-
有效!那么……fillsBackward和fillsForward是什么意思呢?
标签: ios swift animation scenekit reverse