2D Rendering
2D particles draw through the 2D renderer path.
Use a texture for most finished effects. If no texture is assigned, Lenga draws fallback circles, which are useful for blocking out effects quickly.
2D renderer fields to check first:
texturePathsortingLayerorderInLayerblendModepivotflipXflipY
Sorting Layer and Order In Layer decide whether the particles appear behind or in front of sprites, tilemaps, and other 2D renderers.
3D Rendering
3D particles usually render as billboards. A billboard is a flat quad that faces the camera.
Common render modes:
Billboard: general-purpose 3D particlesStretchedBillboard: fast sparks, rain, speed linesHorizontalBillboard: flat effects on floors or waterVerticalBillboard: upright stylized effectsMesh: mesh-shaped particles when the effect uses an assigned mesh
For most effects, start with Billboard. Move to stretched or constrained billboards only when the effect needs that look.
StretchedBillboard makes each particle longer than it is wide. Use Length Scale for a constant streak length and Speed Scale when faster particles should stretch farther. New stretched billboards start with a visible Length Scale of 2, so choosing the mode should immediately look different from a regular spherical or circular particle. When a particle has velocity, Lenga aligns the stretch to its motion; when it is nearly still, it falls back to a camera-facing stretched billboard.
Textures
Particle textures should be authored for tinting and alpha.
Good particle texture habits:
- leave transparent edges
- keep the important shape centered
- avoid hard square borders
- use grayscale or neutral color when the effect will be tinted
- use small textures unless close-up detail matters
If a texture looks like a visible rectangle, the alpha edge is too hard or the blend mode does not match the art.
Blend Modes
Blend mode controls how particles combine with the background.
Use alpha blending for smoke, dust, leaves, snow, soft debris, and anything that should darken or cover the background.
Use additive blending for sparks, fire, glows, magic, electricity, and other light-emitting effects.
Use multiply-style blending only for specialized darkening effects.
Blend mode changes the whole feel of an effect. A smoke texture in additive mode can look like glowing fog. A spark texture in alpha mode can look muddy.
Size And Camera Distance
Particle size is in scene units. A size that works in 2D may not work in 3D, and a size that works near the camera may not work far away.
For 2D, compare particles to nearby sprites and tile sizes.
For 3D, test from gameplay camera distance and movement. Effects should be readable in the camera view where players actually see them.
Sorting
2D particles use sorting layer and order.
3D particles use render mode and sort mode. Sort mode matters when transparent particles overlap. Distance sorting can make transparent effects look better, but it can cost more and may not be necessary for simple effects.
If particles flicker or appear in the wrong order:
- reduce overdraw
- simplify particle alpha
- avoid extremely large transparent quads
- use a more appropriate sort mode
- split complex effects into multiple systems
Texture Sheet Animation
Texture sheet animation uses a grid of frames in one texture. Each particle chooses or advances through frames over its lifetime.
Use texture sheets for:
- animated smoke puffs
- flickering fire
- debris variation
- stylized impacts
- animated magic symbols
Important settings:
modeselects the frame source:Griduses cells of the renderer texture,Spritesplays an ordered list of sprite assets.tilesXandtilesYdefine the frame grid inside the texture (Gridmode).spritesis the curated list of sprite asset paths played in order (Spritesmode).animationplays theWholeSheetor aSingleRow(Gridmode). Single-row playback picks the row per particle (rowModeRandom) or uses the authoredrowIndex(rowModeCustom).timeModedrives frame progression:LifetimesamplesframeOverTime(a 0-1 curve) against particle age and repeats itcyclestimes,Speedmaps particle speed betweenspeedRangeMinandspeedRangeMaxto a frame, andFPSadvances frames at a fixedfpsrate.startFrameoffsets where each particle begins;randomStartFramestarts every particle on a uniformly random frame instead.
For flipbook animation, frame over time usually moves from the first frame to the last frame over the particle lifetime. For variation, use a random start frame so particles do not all display the same frame.
Lighting And Shadows
Renderer data includes lighting and shadow flags where applicable. Use lighting only when particles should respond to scene lights. Many VFX particles are intentionally unlit because they represent smoke, glow, stylized dust, or screen-readable feedback.
If an effect becomes hard to read under scene lighting, disable lighting or use a brighter texture/color.
Common Rendering Problems
Particles are invisible:
- texture path is missing
- alpha is zero
- start size is too small
- sorting layer/order hides the particles
- 3D particles are outside the camera view
Particles look like squares:
- texture alpha edge is too hard
- blend mode is wrong
- texture import settings are wrong
Particles look too dense:
- emission rate is too high
- lifetime is too long
- texture is too opaque
- max particles is too high for the effect
Particles look flat in 3D:
- add size/color variation
- use multiple emitters
- use softer textures
- use movement/noise variation
- tune from the gameplay camera