use of com.badlogic.gdx.graphics.g3d.particles.emitters.RegularEmitter in project libgdx by libgdx.
the class EffectPanel method createDefaultParticleController.
private ParticleController createDefaultParticleController() {
//Emission
RegularEmitter emitter = new RegularEmitter();
emitter.getDuration().setLow(3000);
emitter.getEmission().setHigh(90);
emitter.getLife().setHigh(3000);
emitter.setMaxParticleCount(100);
//Spawn
EllipseSpawnShapeValue pointSpawnShapeValue = new EllipseSpawnShapeValue();
pointSpawnShapeValue.setDimensions(1, 1, 1);
pointSpawnShapeValue.setSide(SpawnSide.top);
SpawnInfluencer spawnSource = new SpawnInfluencer(pointSpawnShapeValue);
//Scale
ScaleInfluencer scaleInfluencer = new ScaleInfluencer();
scaleInfluencer.value.setHigh(1);
scaleInfluencer.value.setLow(0);
scaleInfluencer.value.setTimeline(new float[] { 0, 1 });
scaleInfluencer.value.setScaling(new float[] { 1, 0 });
//Velocity
DynamicsInfluencer velocityInfluencer = new DynamicsInfluencer();
//Directional
DynamicsModifier.CentripetalAcceleration velocityValue = new DynamicsModifier.CentripetalAcceleration();
velocityValue.strengthValue.setHigh(5, 10);
velocityValue.strengthValue.setActive(true);
velocityInfluencer.velocities.add(velocityValue);
return new ParticleController("ParticleController Controller", emitter, new ParticleControllerControllerRenderer(), new ParticleControllerInfluencer.Single(editor.assetManager.get(FlameMain.DEFAULT_TEMPLATE_PFX, ParticleEffect.class).getControllers().get(0)), spawnSource, scaleInfluencer, velocityInfluencer, new ParticleControllerFinalizerInfluencer());
}
use of com.badlogic.gdx.graphics.g3d.particles.emitters.RegularEmitter in project libgdx by libgdx.
the class EffectPanel method createDefaultPointController.
private ParticleController createDefaultPointController() {
//Emission
RegularEmitter emitter = new RegularEmitter();
emitter.getDuration().setLow(3000);
emitter.getEmission().setHigh(250);
emitter.getLife().setHigh(500, 1000);
emitter.getLife().setTimeline(new float[] { 0, 0.66f, 1 });
emitter.getLife().setScaling(new float[] { 1, 1, 0.3f });
emitter.setMaxParticleCount(200);
//Scale
ScaleInfluencer scaleInfluencer = new ScaleInfluencer();
scaleInfluencer.value.setHigh(1);
//Color
ColorInfluencer.Single colorInfluencer = new ColorInfluencer.Single();
colorInfluencer.colorValue.setColors(new float[] { 0.12156863f, 0.047058824f, 1, 0, 0, 0 });
colorInfluencer.colorValue.setTimeline(new float[] { 0, 1 });
colorInfluencer.alphaValue.setHigh(1);
colorInfluencer.alphaValue.setTimeline(new float[] { 0, 0.5f, 0.8f, 1 });
colorInfluencer.alphaValue.setScaling(new float[] { 0, 0.15f, 0.5f, 0 });
//Spawn
PointSpawnShapeValue pointSpawnShapeValue = new PointSpawnShapeValue();
SpawnInfluencer spawnSource = new SpawnInfluencer(pointSpawnShapeValue);
//Velocity
DynamicsInfluencer velocityInfluencer = new DynamicsInfluencer();
//Directional
DynamicsModifier.PolarAcceleration velocityValue = new DynamicsModifier.PolarAcceleration();
velocityValue.phiValue.setHigh(-35, 35);
velocityValue.phiValue.setActive(true);
velocityValue.phiValue.setTimeline(new float[] { 0, 0.5f, 1 });
velocityValue.phiValue.setScaling(new float[] { 1, 0, 0 });
velocityValue.thetaValue.setHigh(0, 360);
velocityValue.strengthValue.setHigh(5, 10);
return new ParticleController("PointSprite Controller", emitter, new PointSpriteRenderer(editor.getPointSpriteBatch()), new RegionInfluencer.Single((Texture) editor.assetManager.get(FlameMain.DEFAULT_BILLBOARD_PARTICLE)), spawnSource, scaleInfluencer, colorInfluencer, velocityInfluencer);
}
use of com.badlogic.gdx.graphics.g3d.particles.emitters.RegularEmitter in project libgdx by libgdx.
the class ParticleControllerTest method createBillboardController.
private ParticleController createBillboardController(float[] colors, Texture particleTexture) {
//Emission
RegularEmitter emitter = new RegularEmitter();
emitter.getDuration().setLow(3000);
emitter.getEmission().setHigh(2900);
emitter.getLife().setHigh(1000);
emitter.setMaxParticleCount(3000);
//Spawn
PointSpawnShapeValue pointSpawnShapeValue = new PointSpawnShapeValue();
pointSpawnShapeValue.xOffsetValue.setLow(0, 1f);
pointSpawnShapeValue.xOffsetValue.setActive(true);
pointSpawnShapeValue.yOffsetValue.setLow(0, 1f);
pointSpawnShapeValue.yOffsetValue.setActive(true);
pointSpawnShapeValue.zOffsetValue.setLow(0, 1f);
pointSpawnShapeValue.zOffsetValue.setActive(true);
SpawnInfluencer spawnSource = new SpawnInfluencer(pointSpawnShapeValue);
//Scale
ScaleInfluencer scaleInfluencer = new ScaleInfluencer();
scaleInfluencer.value.setTimeline(new float[] { 0, 1 });
scaleInfluencer.value.setScaling(new float[] { 1, 0 });
scaleInfluencer.value.setLow(0);
scaleInfluencer.value.setHigh(1);
//Color
ColorInfluencer.Single colorInfluencer = new ColorInfluencer.Single();
colorInfluencer.colorValue.setColors(new float[] { colors[0], colors[1], colors[2], 0, 0, 0 });
colorInfluencer.colorValue.setTimeline(new float[] { 0, 1 });
colorInfluencer.alphaValue.setHigh(1);
colorInfluencer.alphaValue.setTimeline(new float[] { 0, 0.5f, 0.8f, 1 });
colorInfluencer.alphaValue.setScaling(new float[] { 0, 0.15f, 0.5f, 0 });
//Dynamics
DynamicsInfluencer dynamicsInfluencer = new DynamicsInfluencer();
BrownianAcceleration modifier = new BrownianAcceleration();
modifier.strengthValue.setTimeline(new float[] { 0, 1 });
modifier.strengthValue.setScaling(new float[] { 0, 1 });
modifier.strengthValue.setHigh(80);
modifier.strengthValue.setLow(1, 5);
dynamicsInfluencer.velocities.add(modifier);
return new ParticleController("Billboard Controller", emitter, new BillboardRenderer(billboardParticleBatch), new RegionInfluencer.Single(particleTexture), spawnSource, scaleInfluencer, colorInfluencer, dynamicsInfluencer);
}
use of com.badlogic.gdx.graphics.g3d.particles.emitters.RegularEmitter in project libgdx by libgdx.
the class RegularEmitterPanel method initializeComponents.
private void initializeComponents(RegularEmitter emitter) {
continuousCheckbox = new JCheckBox("Continuous");
continuousCheckbox.setSelected(emitter.isContinuous());
continuousCheckbox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
RegularEmitter emitter = (RegularEmitter) editor.getEmitter().emitter;
emitter.setContinuous(continuousCheckbox.isSelected());
}
});
continuousCheckbox.setHorizontalTextPosition(SwingConstants.LEFT);
int i = 0;
addContent(i++, 0, continuousCheckbox, GridBagConstraints.WEST, GridBagConstraints.NONE);
addContent(i++, 0, countPanel = new CountPanel(editor, "Count", "Min number of particles at all times, max number of particles allowed.", emitter.minParticleCount, emitter.maxParticleCount));
addContent(i++, 0, delayPanel = new RangedNumericPanel(editor, emitter.getDelay(), "Delay", "Time from beginning of effect to emission start, in milliseconds.", false));
addContent(i++, 0, durationPanel = new RangedNumericPanel(editor, emitter.getDuration(), "Duration", "Time particles will be emitted, in milliseconds."));
addContent(i++, 0, emissionPanel = new ScaledNumericPanel(editor, emitter.getEmission(), "Duration", "Emission", "Number of particles emitted per second."));
addContent(i++, 0, lifePanel = new ScaledNumericPanel(editor, emitter.getLife(), "Duration", "Life", "Time particles will live, in milliseconds."));
addContent(i++, 0, lifeOffsetPanel = new ScaledNumericPanel(editor, emitter.getLifeOffset(), "Duration", "Life Offset", "Particle starting life consumed, in milliseconds.", false));
}
use of com.badlogic.gdx.graphics.g3d.particles.emitters.RegularEmitter in project libgdx by libgdx.
the class EffectPanel method createDefaultBillboardController.
private ParticleController createDefaultBillboardController() {
//Emission
RegularEmitter emitter = new RegularEmitter();
emitter.getDuration().setLow(3000);
emitter.getEmission().setHigh(250);
emitter.getLife().setHigh(500, 1000);
emitter.getLife().setTimeline(new float[] { 0, 0.66f, 1 });
emitter.getLife().setScaling(new float[] { 1, 1, 0.3f });
emitter.setMaxParticleCount(200);
//Spawn
PointSpawnShapeValue pointSpawnShapeValue = new PointSpawnShapeValue();
SpawnInfluencer spawnSource = new SpawnInfluencer(pointSpawnShapeValue);
//Color
ColorInfluencer.Single colorInfluencer = new ColorInfluencer.Single();
colorInfluencer.colorValue.setColors(new float[] { 1, 0.12156863f, 0.047058824f, 0, 0, 0 });
colorInfluencer.colorValue.setTimeline(new float[] { 0, 1 });
colorInfluencer.alphaValue.setHigh(1);
colorInfluencer.alphaValue.setTimeline(new float[] { 0, 0.5f, 0.8f, 1 });
colorInfluencer.alphaValue.setScaling(new float[] { 0, 0.15f, 0.5f, 0 });
//Velocity
DynamicsInfluencer velocityInfluencer = new DynamicsInfluencer();
//Directional
DynamicsModifier.PolarAcceleration velocityValue = new DynamicsModifier.PolarAcceleration();
velocityValue.phiValue.setHigh(-35, 35);
velocityValue.phiValue.setActive(true);
velocityValue.phiValue.setTimeline(new float[] { 0, 0.5f, 1 });
velocityValue.phiValue.setScaling(new float[] { 1, 0, 0 });
velocityValue.thetaValue.setHigh(0, 360);
velocityValue.strengthValue.setHigh(5, 10);
velocityInfluencer.velocities.add(velocityValue);
return new ParticleController("Billboard Controller", emitter, new BillboardRenderer(editor.getBillboardBatch()), new RegionInfluencer.Single(editor.getTexture()), spawnSource, colorInfluencer, velocityInfluencer);
}
Aggregations