在earlier post中,我询问了初始化SCNParticleEngine的正确设置。来自Zay的一些提示
我设法让SCNP和代码路径都正常工作--几乎完全相同。除了SCNP路径具有随时间缩小的粒子而编码路径没有。
原来,隐藏在SCNP文件中的是一个字典条目“SCNParticlePropertyController”,它是一个大小。下面是调试器中的代码:

问题是,当我在编辑器中打开SCNP文件时,我可以看到星星被动画等。但没有任何迹象表明打开这样一个编辑器的动作或任何负担。现在,这可能与SCNP文件是关于用于初始化PE的PE参数的事实有关。舞台上没有实际的节点或对象。一种想法是,你需要有一个可编辑的动作,否则Xcode不会打开动作编辑器?
目前还不清楚这个操作是如何实现的,也不清楚我将如何编辑它。我假设有人把它放在了早期版本的Xcode的SCNP中。然后这个动作就被遗忘了。或者类似的东西。它可能只是一个错误/损坏的SCNP文件。
发布于 2021-01-30 01:40:23
发布于 2021-01-30 16:53:57
为了能够随时间控制粒子的大小(i.ex。让它们缩小)仅使用代码,您必须使用SCNPropertyController和CAKeyframeAnimation,如下所示:
// ANIMATE PARTICLE SIZE OVER TIME
let animationSize = CAKeyframeAnimation()
animationSize.values = [0.7, 0.3, 0.2, 0.0]
animationSize.keyTimes = [0.0, 0.125, 0.3, 1.0]
animationSize.duration = CFTimeInterval(10.0)
animationSize.calculationMode = .cubic
animationSize.timingFunction = CAMediaTimingFunction.init(name: .linear)然后你会这样做:
// SET PROPERTY CONTROLLER
let sizeController = SCNParticlePropertyController(animation: animationSize)
myParticleSystem.propertyControllers = [SCNParticleSystem.ParticleProperty.size: sizeController]使用相同的方法,您可以在随时间变化的序列中设置粒子颜色的动画。
https://stackoverflow.com/questions/65958867
复制相似问题