Blitz3D+ Guides

Built-in Particles in Blitz3D

Extended mode includes a CPU-simulated, GPU-batched particle emitter. It is designed for prototypes: start with one command and a preset, then adjust only the parts your effect needs.

Your first effect

fire=CreateParticleEmitter(500) creates an emitter entity. ParticlePreset fire,1 selects fire; presets 2-6 provide smoke, rain, sparks, magic, and dust. Call UpdateWorld and RenderWorld as usual; the default UpdateWorld value advances particles by one 60 Hz tick. Use EmitParticles fire,100 for a one-off burst.

Shape and motion

ParticleEmitterShape chooses point (0), box (1), sphere (2), or cone (3) emission. Velocity and per-axis variation come from ParticleVelocity. ParticleGravity, ParticleDrag, and one optional ParticleAttractor shape motion without callbacks or per-particle code.

Appearance

ParticleColor and ParticleSize interpolate over each lifetime. Apply a texture with the normal EntityTexture command. ParticleAnimation divides it into a sprite sheet. Render modes are camera-facing billboard (1), velocity-stretched billboard (2), and batched mesh (3). Use EntityBlend for opaque, alpha, or additive rendering.

Space, sorting, and collision

World-space particles (the default) remain behind when the emitter moves. Local-space particles follow it. Alpha effects can enable back-to-front sorting with ParticleSort. ParticleCollision optionally casts each moving particle against a Box3D world; keep collision-enabled counts modest. Use ParticleCollision emitter,0,0,0,0 to disable it.

Ready-to-run samples

Open Preset Playground, Colliding Sparks, or Mesh Particles. All three are self-contained and need no downloads.