【问题标题】:Xcode 11 Action Editor? How to invoke?Xcode 11 动作编辑器?如何调用?
【发布时间】:2021-05-03 15:10:30
【问题描述】:

earlier post 中,我询问了初始化 SCNParticleEngine 的正确设置。来自Zay的一些提示

我设法让 SCNP 和代码路径都能正常工作——几乎完全相同。除了 SCNP 路径的粒子随着时间的推移而收缩,而编码路径没有。

原来隐藏在 SCNP 文件中的是一个字典条目“Size”,它是一个 SCNParticlePropertyController。这是来自调试器的代码:

问题是,当我在编辑器中打开 SCNP 文件时,我可以看到星星正在动画等。但是没有任何动作迹象或任何打开此类编辑器的提示。现在,这可能与 SCNP 文件都是关于初始化 PE 的 PE 参数的事实有关。舞台上没有实际的节点或对象。一种想法是您需要有一个可编辑的动作,否则 Xcode 不会打开动作编辑器?

这个动作是如何到达那里的,或者我如何编辑它还不清楚。我假设有人在早期版本的 Xcode 中将它放在 SCNP 中。然后忘记了Action。或类似的东西。它可能只是一个错误/损坏的 SCNP 文件。

【问题讨论】:

  • 这个问题的标题应该更适合我

标签: swift xcode scenekit


【解决方案1】:

正如您提到的,这是驱动 SCNParticlePropertySize 的核心动画动画。可以通过属性检查器(而不是动作编辑器)在 SceneKit 场景编辑器中对其进行配置。

【讨论】:

  • 啊,谢谢 不知道为什么我没看到。我发誓我按下了每一个按钮。无论如何,这有一点帮助。 “自定义”编辑器如何知道属性是“大小”。用户怎么看?你如何创建一个新的 PropertyController?为什么图表没有单位?人们会期望 0..1 并且动画是声明性的,因此它似乎非常适合文本编辑器。文档似乎几乎不存在。哦,好吧。
  • 编辑器只允许为颜色和大小添加动画。对于颜色,有“动画颜色”复选框,然后会显示一个颜色渐变,对于大小,有这个控件。其他类型的SCNParticleProperty 无法使用 UI 进行编辑。
【解决方案2】:

为了能够仅使用代码随时间控制粒子的大小(即让它们缩小),您必须像这样使用 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]

使用相同的方法,您可以随着时间的推移以不断变化的顺序为粒子颜色设置动画。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-21
    • 2020-06-30
    • 2020-01-23
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多