Skip to content

Physics Particles Debris

App: apps/physics_particles_debris/

Demonstrates the Tier 2 particle system: each particle is a Jolt dynamic body that collides with the world. Particles are emitted continuously from a point above the ground and bounce realistically. Active particle count is logged every second.

Terminal window
% ./plume3d physics_particles_debris
  • Loads Models/ParticlesDebris.blend (optional — falls back to a code-only scene if missing).
  • Creates a ParticleEmitter via Scene.createParticleEmitter with a pool of 64 bodies.
  • Calls emitter.play() immediately to start continuous emission at 15 particles/sec.
  • Each particle has a lifetime of 3 seconds; expired particles are returned to the pool.
  • Logs activeCount / maxBodies every second.
  • Shadow mapping enabled.
_emitter = _scene.createParticleEmitter(
"DebrisEmitter", // name
64, // maxBodies — body pool size
0.08, // size — particle radius (m)
0.5, // mass — particle mass (kg)
3.0, // lifetime — seconds before despawn
15.0, // emissionRate — particles per second
0.0, 3.0, 0.0 // initial position (x, y, z)
)
_emitter.play()
// In update(dt):
Logger.info("Particles: %(_emitter.activeCount)/%(_emitter.maxBodies) active")

If Models/ParticlesDebris.blend is absent, the app creates a fallback code-only scene with a ground plane and a default point light. To use a blend:

ObjectClassNotes
Ground planein Environment collectionStatic rigid body
CameraGameCameraTag: main_camera
LightGameLightTag: main_light
  • ParticleEmittercreateParticleEmitter, play, stop, burst, activeCount, maxBodies, setPosition, setNormal.
  • ScenecreateParticleEmitter.
  • Physics — collision layers govern particle-world interactions.
  • GraphicssetLights, setShadowMappingEnabled.