如何使用SceneKit使粒子图像变大并具有比例效果?

Pau*_*aul 1 particles ios scenekit

我正在寻找与SpriteKit发射器粒子相同的效果,该scale效果可以根据时间使粒子图像变大或变小。(例如,一个简单的红色圆圈,变大并在 1 秒后消失。)我找不到scale与 中找到的选项相同的选项SpriteKit。图像可以更大并保持更大,但它不会根据当时的时间而改变。

有人知道这样做的好方法吗?

谢谢

编辑:

这些尝试都没有成功,你知道为什么吗?

func addParticleSceneKit(){
        println("add")
        var fire = SCNParticleSystem(named: "circle1.scnp", inDirectory: "art.scnassets/Particles")
        fire.particleSize = 5
        emitter.addParticleSystem(fire) //emitter is a SCNNode

        /*
        let bigger = SCNAction.runBlock { (node) -> Void in
            dispatch_async(dispatch_get_main_queue(), { () -> Void in
                SCNTransaction.setAnimationDuration(1)
                fire.propertyControllers = [SCNParticlePropertySize : 10.0]
            })
        }
        emitter.runAction(bigger)
        */

        //SCNTransaction.begin()
        //SCNTransaction.setAnimationDuration(1)
        //fire.propertyControllers = [SCNParticlePropertySize : 10.0]
        //SCNTransaction.commit()
    }
Run Code Online (Sandbox Code Playgroud)

Toy*_*yos 5

SCNParticleSystem 具有如下属性

// Specifies the initial size of the particle. Animatable.
@property(nonatomic) CGFloat particleSize;

// Specifies the initial size variation of the particle. Animatable.
@property(nonatomic) CGFloat particleSizeVariation;
Run Code Online (Sandbox Code Playgroud)

如果您需要更多控制,您还可以为键“SCNParticlePropertySize”提供您自己的粒子属性控制器。例如,指定在粒子生命周期内应如何对大小进行动画处理。

// Property controllers.
// The keys for this directionary are listed in the "Particle Properties Name" section.
// The values are instances of SCNParticlePropertyController
@property(nonatomic, copy) NSDictionary *propertyControllers;
Run Code Online (Sandbox Code Playgroud)