首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 11操作编辑器?如何调用?

Xcode 11操作编辑器?如何调用?
EN

Stack Overflow用户
提问于 2021-01-30 01:10:37
回答 2查看 47关注 0票数 1

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

我设法让SCNP和代码路径都正常工作--几乎完全相同。除了SCNP路径具有随时间缩小的粒子而编码路径没有。

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

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

目前还不清楚这个操作是如何实现的,也不清楚我将如何编辑它。我假设有人把它放在了早期版本的Xcode的SCNP中。然后这个动作就被遗忘了。或者类似的东西。它可能只是一个错误/损坏的SCNP文件。

EN

回答 2

Stack Overflow用户

发布于 2021-01-30 01:40:23

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

票数 1
EN

Stack Overflow用户

发布于 2021-01-30 16:53:57

为了能够随时间控制粒子的大小(i.ex。让它们缩小)仅使用代码,您必须使用SCNPropertyController和CAKeyframeAnimation,如下所示:

代码语言:javascript
复制
// 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)

然后你会这样做:

代码语言:javascript
复制
// SET PROPERTY CONTROLLER
let sizeController = SCNParticlePropertyController(animation: animationSize)
myParticleSystem.propertyControllers = [SCNParticleSystem.ParticleProperty.size: sizeController]

使用相同的方法,您可以在随时间变化的序列中设置粒子颜色的动画。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65958867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档