如何向 SCNAction 添加淡出持续时间
How to Add a FadeOut Duration to a SCNAction
嘿,我正在尝试弄清楚如何以淡出持续时间结束 scnActions moveto 动作。基本上我有一辆车,汽车移动到现场,但一旦动作完成就突然停下来。我希望尝试让汽车更平稳地停下来。但我真的需要弄清楚如何在 scnAction 上获得淡出持续时间。我还查看了 Apple 的开发人员页面,但没有帮助。如果有解决方案。我不知道如何将其放入可用的 swift 代码中。
错误代码失败
let moveAction = SCNAction.moveTo(location, duration: 1.5)
moveAction.fadeInWithDuration = 1
moveAction.fadeIn(withDuration: 1)
moveAction = SCNAction.fadeIn(withDuration: 1)
moveAction.fadeOut(1.0)
moveAction.fadeOutWithDuration = 1
您需要调整您的动作的计时模式以随着时间的推移变得流畅,减慢 movement/changes。 Scene Kit(和 Sprite Kit)中有四种不同的模式。
- 线性(默认,如您所见)
- 缓入(慢开始,快结束)
- Ease Out(开始快,结束慢)
- 缓入缓出(慢速结束,快速中间,慢速结束)
这是通过枚举设置的:SCNActionTimingMode
将其中的每一个都作为一个案例。
感谢 Swift 3.0 的简洁,现在看起来像这样:
let moveAction = SCNAction.move(to: location, duration: 1.5)
moveAction.timingMode = .easeInEaseOut
这里有更多种类的计时动作产品:
嘿,我正在尝试弄清楚如何以淡出持续时间结束 scnActions moveto 动作。基本上我有一辆车,汽车移动到现场,但一旦动作完成就突然停下来。我希望尝试让汽车更平稳地停下来。但我真的需要弄清楚如何在 scnAction 上获得淡出持续时间。我还查看了 Apple 的开发人员页面,但没有帮助。如果有解决方案。我不知道如何将其放入可用的 swift 代码中。
错误代码失败
let moveAction = SCNAction.moveTo(location, duration: 1.5)
moveAction.fadeInWithDuration = 1
moveAction.fadeIn(withDuration: 1)
moveAction = SCNAction.fadeIn(withDuration: 1)
moveAction.fadeOut(1.0)
moveAction.fadeOutWithDuration = 1
您需要调整您的动作的计时模式以随着时间的推移变得流畅,减慢 movement/changes。 Scene Kit(和 Sprite Kit)中有四种不同的模式。
- 线性(默认,如您所见)
- 缓入(慢开始,快结束)
- Ease Out(开始快,结束慢)
- 缓入缓出(慢速结束,快速中间,慢速结束)
这是通过枚举设置的:SCNActionTimingMode
将其中的每一个都作为一个案例。
感谢 Swift 3.0 的简洁,现在看起来像这样:
let moveAction = SCNAction.move(to: location, duration: 1.5)
moveAction.timingMode = .easeInEaseOut
这里有更多种类的计时动作产品: