使用粒子系统爆炸3D文本(Swift - SceneKit)

时间:2014-08-19 12:35:07

标签: swift particle-system scenekit

我正在使用Swift SceneKit制作一些爆炸的3D文本。这是文字:

let text = SCNText(string: "Exploding Text", extrusionDepth: 5)
let node = SCNNode(geometry: SCNText)
scene.rootNode.addChildNode(node)

这是我的粒子系统:

let exp = SCNParticleSystem()
exp.loops = false
exp.birthRate = 5000
exp.emissionDuration = 0.01
exp.spreadingAngle = 180
exp.particleDiesOnCollision = true
exp.particleLifeSpan = 0.5
exp.particleLifeSpanVariation = 0.3
exp.particleVelocity = 500
exp.particleVelocityVariation = 3
exp.particleSize = 0.05
exp.stretchFactor = 0.05
exp.particleColor = UIColor.blueColor()
scene.addParticleSystem(exp, withTransform: SCNMatrix4MakeRotation(0, 0, 0, 0))

现在,粒子从文本中心的单个点发出。有没有办法将粒子锁定到文本的表面,然后运行系统来模拟爆炸文本?

如果没有,可以使用任何其他几何对象(如立方体)来完成吗?

1 个答案:

答案 0 :(得分:6)

您可以使用

指定发射器形状
particleSystem.emitterShape = aGeometry;

然后指定“birthLocation” SCNParticleBirthLocationSurface 要么 SCNParticleBirthLocationVertex

从文本/立方体的表面或顶点发射