我正在使用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))
现在,粒子从文本中心的单个点发出。有没有办法将粒子锁定到文本的表面,然后运行系统来模拟爆炸文本?
如果没有,可以使用任何其他几何对象(如立方体)来完成吗?
答案 0 :(得分:6)
您可以使用
指定发射器形状particleSystem.emitterShape = aGeometry;
然后指定“birthLocation” SCNParticleBirthLocationSurface 要么 SCNParticleBirthLocationVertex
从文本/立方体的表面或顶点发射