2017-08-28 109 views
0

我有简单的ARKit应用程序(使用SceneKit),在空间中浮动的立方体与其他物体一起拍摄。我使用Fire作为模板创建了.scnp文件,并对其进行了自定义,使其看起来像爆炸一样。Swift:如何使用SCNParticleSystem设置粒子效果的大小?

一切看起来不错,适用于碰撞,但我的整个粒子效果需要整个屏幕。我尝试了.scnp文件中的所有可用属性,但大小仍然很大。

如何设置效果区域大小?例如略小于我的立方体(宽度为0.1米)。

这是怎么运行的爆炸:

let fire = SCNParticleSystem(named: "explosion.scnp", inDirectory: nil) 

contactNode.addParticleSystem(fire!) 

contactNode是我的目标立方体。

回答

1

您正在查找的粒子系统属性是particleSize。 (有设置该属性在Xcode粒子系统的GUI编辑器控制,但我忘记了它的标记......)

该属性的文件说:

渲染的大小,单位场景的粒子图像的世界坐标空间。

在ARKit中,场景单位与真实世界的米相同。因此,在某些任意场景中,例如10x10的粒度可能是有意义的,而在AR中,每个粒子都是房屋的大小。您可能希望某个地方的值在毫米至厘米的范围内(0.001 - 0.01)。

+0

谢谢,这实际上是我尝试的第一件事情之一。它有点作用 - 粒子较小,但效果完全改变(而不是一次爆炸,我得到了像闪闪发光)。我通过改变所有可能的值最终通过反复试验解决了这个问题:-) – Filip

+0

是的,配置一个粒子系统的几何尺寸的所有*都是基于计量的(尺寸,速度等),所以不幸的是,这并不容易一次配置一个粒子系统然后扩展整个事物的方法。 – rickster