Creating Ambient Visual Effects: Smoke, Fire, Dust
Our optimized ambient VFX techniques for smoke particles Unity and fire VFX performance ensure minimal draw calls. Note: when you develop a game, ambient VFX—smoke from a chimney, fire in a hearth, dust from footsteps—should work unnoticed, but the brain quickly spots any cycle glitch. That's why we focus on the performance of these effects: they run continuously. We create ambient VFX turnkey: from prototype to final integration. Contact us to estimate your project. We have 10+ years in gamedev, 50+ successful projects on Unity and Unreal Engine, and guarantee stable performance on target platforms.
Step-by-Step: Creating an Ambient Smoke Effect
- Select blending mode: Use Premultiplied blending for soft smoke. In URP shaders, set Surface Type = Transparent, Blending Mode = Premultiply.
- Set flipbook: Import a 4×4 sprite sheet (16 frames). In Particle System, enable Flipbook mode and set Flipbook to 4x4. Enable Frame Blending for smooth transitions.
- Configure rotation: Add Angular Velocity over Lifetime to slowly rotate particles as they rise. Set Start Rotation to Random Between Two Constants to prevent synchronized patterns.
- Adjust color: Use Color over Lifetime gradient from dark (base) to light (top). Opacity fades to zero at end.
- Optimize culling: Set Culling Mode to Stop Emitting when outside camera frustum to save performance.
How to Achieve Volumetric Smoke Without Performance Hit?
Smoke in games is a balance between believability and performance. Photorealistic volumetric smoke (via Volumetric Clouds or custom ray-marching) is expensive even on PC. For most games, billboard-based smoke with correct parameters looks good enough at a cost of a few draw calls. Using Premultiplied blending can reduce draw calls by up to 20% compared to Alpha Blend.
Key parameters for billboard smoke in Particle System or VFX Graph:
- Flipbook animation: smoke texture must be a flipbook sprite sheet, not a static image. Minimum 4×4 = 16 frames to avoid obvious looping. In VFX Graph: Output Particle Quad with Flipbook Player block, Flipbook Size matching the sprite sheet. Frame Blending (sub-frame interpolation) is critical for smooth smoke: without it, frame transitions are visible as flickering, especially at low animation rate.
- Rotation and turbulence: smoke particles should slowly rotate as they rise. Angular Velocity over Lifetime in Particle System or Set Angle over Lifetime in VFX Graph. Random start rotation (Start Rotation: Random Between Two Constants) prevents synchronized patterns.
- Color and opacity by height: smoke at base is dark, dense. As it rises, it lightens and becomes transparent. In Particle System: Color over Lifetime gradient. In VFX Graph: Set Color over Lifetime + Gradient or Graph by Age/Lifetime parameter.
- Blending mode — Premultiplied: for soft smoke effects, Premultiplied blending works better than Alpha Blend. Premultiplied avoids the "black outline" around smoke particles when overlapping with bright backgrounds—visible especially in sunny scenes. In URP Particle Lit or Particle Unlit shader: Surface Type = Transparent, Blending Mode = Premultiply.
Why Layered Fire Structure is the Foundation of Realism?
Convincing fire is rarely made with a single Particle System. Standard structure:
- Layer 1 — flame core: small, bright, fast particles at the base. High emission rate, small radius, short lifetime (0.3–0.5 sec). Color: white → yellow. Additive blending.
- Layer 2 — main flame: medium particles moving upward with turbulence. Flipbook fire texture. Lifetime 0.8–1.5 sec. Color: yellow → orange → red. Opacity to zero by Lifetime.
- Layer 3 — smoke above fire: separate Particle System activated at height where flame ends. Slower, larger particles. Gray color. Alpha Blend.
All three layers are separate Particle System components on one GameObject. In the Inspector they can be independently enabled/disabled. In-game they activate together via a single ParticleSystem.Play() on the root component with Include Children.
VFX Graph for fire allows adding collision with scene SDF: fire particles reaching a wall "stick" to it and burn on the surface. This requires setup: SDF Asset must be generated via VFX SDF Baker for static geometry, or use Dynamic Collider for physics objects.
What's Included in Ambient VFX Creation?
We provide a complete package:
- Effect prototyping with texture and shader selection.
- Particle System and VFX Graph setup with optimization.
- Integration into the project: animation events, LOD, culling.
- Testing on target platforms (PC, console, mobile, XR).
- Documentation of settings and support during implementation.
Dust and Contact Particles
Dust consists of ambient particles (dust in the air) plus contact particles (dust from footsteps, impacts, sliding).
Ambient dust: hundreds of slow, nearly invisible alpha-thin particles drifting in random directions. The point is not the dust itself, but the feeling of air in the space. Often this layer is forgotten because it's unnoticeable. But its absence makes indoor air sterile. Particle System: emission rate 20–50 per second, Start Speed 0.01–0.1, Start Size 0.01–0.05, very low Start Color Alpha (5–20 out of 255).
Note: how to set up contact dust:
- Create a Particle System with dust parameters (Start Lifetime 0.5–1 sec, Size 0.05–0.1, Color dark brown).
- Add an Animation Event on the footfall frame calling ParticleSystem.Play().
- Link with PhysicMaterial via Raycast from foot point—check material tag to select the correct VFX.
Optimizing Ambient VFX
The main mistake is leaving Culling Mode in Particle System set to Automatic or Always Simulate. For ambient effects, correctly set: Culling Mode = Pause And Catch-Up or Stop Emitting when outside the camera frustum. This is configured in the Particle System Main module. LOD for particles can cut GPU time by 30% on mobile.
Culling Mode settings for different platforms
For mobile: Stop Emitting to avoid wasting resources on invisible effects. For PC: Pause And Catch-Up to avoid particles popping when coming back into view.For LOD: distant smoke and fire sources should switch to simplified shaders or sprite animation via LOD Group. VFX Graph has no built-in LOD—a custom VisibilityController that changes VFX Asset or its parameters based on Distance to Camera is needed.
Comparison of blending modes for smoke and fire:
| Blending Mode | Application | Characteristics |
|---|---|---|
| Alpha Blend | Smoke, fog | May produce black outlines when overlapping bright backgrounds |
| Premultiplied | Smoke, soft VFX | Avoids black outlines, better for illuminated scenes |
| Additive | Fire, glow | Brightness accumulates, no transparency |
Estimated timelines and costs:
| Effect Type | Timeline | Cost |
|---|---|---|
| Single ambient effect (smoke or fire) | 1–3 days | Starting from $200 |
| Full environment set (fire + smoke + dust) | 5–8 days | Starting from $600 |
| Contact particles system (steps, impacts, sliding) | 3–5 days | Starting from $350 |
| Optimization of existing VFX for mobile | 2–4 days | Starting from $250 |
Pricing is determined individually after discussing the platform, number of simultaneous sources, and style references. Contact us for a consultation and preliminary estimate.
Recommendations are based on official Unity Particle System documentation.





