Search in sources :

Example 1 with EmitterSettings

use of nars.rover.obj.util.external.particles.EmitterSettings in project narchy by automenta.

the class Jetpack method updateSettings.

private void updateSettings() {
    EmitterSettings settings = jetpackEmitter.settings;
    // set offset
    settings.offset = new Vec2(rng.nextFloat() * settings.xLocationVariance * -0.2f, rng.nextFloat() * settings.yLocationVariance * 0.02f);
    // set particle lifetime
    if (rng.nextFloat() > 0.9f) {
        float low = 0.8f, high = 1.0f;
        float liveLong = rng.nextFloat();
        if (liveLong < low)
            settings.particleLifetime = low * 2.0f;
        else if (liveLong > high)
            settings.particleLifetime = high * 2.0f;
        else
            settings.particleLifetime = liveLong * 2.0f;
    } else {
        settings.particleLifetime = rng.nextFloat() * 0.75f;
    }
    // set particle force
    settings.particleForce = new Vec2(rng.nextBoolean() ? rng.nextFloat() * -5.0f : rng.nextFloat() * -5.0f, rng.nextFloat() * -50.0f);
}
Also used : EmitterSettings(nars.rover.obj.util.external.particles.EmitterSettings) Vec2(spacegraph.space2d.phys.common.Vec2)

Aggregations

EmitterSettings (nars.rover.obj.util.external.particles.EmitterSettings)1 Vec2 (spacegraph.space2d.phys.common.Vec2)1