# Does anyone know much about smoke particle FX?

**URL:** <https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407>\
**Category:** Questions\
**Created:** [April 7, 2019, 11:36am UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407 "2019-04-07T11:36:00Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![ozRocker](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/ozrocker/32/186_2.png) [@ozRocker](https://forum.babylonjs.com/u/ozRocker)\
**Post date:** [April 7, 2019, 11:36am UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/1 "2019-04-07T11:36:00Z")

</div>

I’m wondering if its possible with Babylon.js to do a cigarette smoke particle effect? This is the kind of effect I mean [YouTube](https://www.youtube.com/watch?v=vUwx5sEEnRY)

---

<div class="post-metadata">

**Author:** ![Wingnut](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/wingnut/32/53_2.png) [@Wingnut](https://forum.babylonjs.com/u/Wingnut)\
**Post date:** [April 7, 2019, 2:21pm UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/2 "2019-04-07T14:21:25Z")

</div>

Hiya ozR, good to see you again. You have probably done a BJS-wide search for “smoke”, right? There’s _some_ smoke-sim particle playgrounds around.

But, ya gotta see @nasimiasl’s sword. [https://www.babylonjs-playground.com/#CSZYEP#34](https://www.babylonjs-playground.com/#CSZYEP#34)

That thing is just… weird. And cool.

The smoke that YOU need… does it need to be “3D”? Or can it be material-on-layer and not-depthful? (possible animated material on bill-boarded plane)

When particles are dust-sized… it takes [a LOT of them](https://www.babylonjs-playground.com/#2A4NUR#47)… to cloud-up in a smoke-like way, I suspect. Needs GPU particles and MAX horsepower, I suspect (for 3D).

Coding-up a custom particleSystem particleUpdate function… that applies “swarming” algorithms/formulas… that’s a whole new ballgame. 🙂

---

<div class="post-metadata">

**Author:** ![ozRocker](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/ozrocker/32/186_2.png) [@ozRocker](https://forum.babylonjs.com/u/ozRocker)\
**Post date:** [April 7, 2019, 11:59pm UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/3 "2019-04-07T23:59:02Z")

</div>

Interesting effect. I don’t think it looks like cigarette smoke though. I’ll keep searching

The effect doesn’t need to be in 3D. Actually, I plan on putting it in a 2D environment

---

<div class="post-metadata">

**Author:** ![ozRocker](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/ozrocker/32/186_2.png) [@ozRocker](https://forum.babylonjs.com/u/ozRocker)\
**Post date:** [April 8, 2019, 12:07am UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/4 "2019-04-08T00:07:06Z")

</div>

Woh!! Check this out [Fluid Simulation with Volumetric Lighting](https://www.derschmale.com/lab/doodles/smokesim/build/)

---

<div class="post-metadata">

**Author:** ![hcmetal](https://avatars.discourse-cdn.com/v4/letter/h/3be4f8/32.png) [@hcmetal](https://forum.babylonjs.com/u/hcmetal)\
**Post date:** [April 8, 2019, 12:13am UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/5 "2019-04-08T00:13:21Z")

</div>

What socery is this! 😂  
Very cool volumetrics.

---

<div class="post-metadata">

**Author:** ![ozRocker](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/ozrocker/32/186_2.png) [@ozRocker](https://forum.babylonjs.com/u/ozRocker)\
**Post date:** [April 8, 2019, 12:32am UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/6 "2019-04-08T00:32:42Z")

</div>

ok, so this particle effect appears to be fluid simulation, like this [WebGL Fluid Simulation](https://paveldogreat.github.io/WebGL-Fluid-Simulation/)

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [April 8, 2019, 3:19pm UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/7 "2019-04-08T15:19:40Z")

</div>

I love these effects. We have them on our roadmap since forever 🙂

[Back to the Future · GitHub](https://github.com/BabylonJS/Babylon.js/projects/8)

---

<div class="post-metadata">

**Author:** ![PichouPichou](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/pichoupichou/32/316_2.png) [@PichouPichou](https://forum.babylonjs.com/u/PichouPichou)\
**Post date:** [September 15, 2019, 10:54pm UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/8 "2019-09-15T22:54:01Z")

</div>

In the same topic, I was wondering if we could integer the output of these kind of VFX editor in BabylonJS:

- [Download PopcornFX v2 - Real-time particles middleware](https://www.popcornfx.com/popcornfx-v2-editor/)
- [EmberGen: Real-Time Fluid Simulations For Fire, Smoke, And Explosions!](https://jangafx.com/software/embergen/)

For instance embergen export _ **flipbooks/sprite sheets** _ and Babylonjs does have spritesheets ([Sprites - Babylon.js Documentation](https://doc.babylonjs.com/babylon101/sprites#packed-spritesheet-playground-examples)) but not sure this is the same and if it will work?

---

<div class="post-metadata">

**Author:** ![Pryme8](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/pryme8/32/7212_2.png) [@Pryme8](https://forum.babylonjs.com/u/Pryme8)\
**Post date:** [September 16, 2019, 12:03am UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/9 "2019-09-16T00:03:17Z")

</div>

That’s what my rendertarget pingpong buffer passing demos were for,. If you modify my game of life example to just the rules for convection you can achieve this. I don’t have the links off hand but Delta posted the GOL example on his twitter.

---

<div class="post-metadata">

**Author:** ![mmmovania](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mmmovania/32/25857_2.png) [@mmmovania](https://forum.babylonjs.com/u/mmmovania)\
**Post date:** [August 17, 2022, 4:41pm UTC](https://forum.babylonjs.com/t/does-anyone-know-much-about-smoke-particle-fx/2407/10 "2022-08-17T16:41:13Z")

</div>

A bit late but the idea @PichouPichou shared I have implemented here: [Simple Smoke using SpriteSheet and SpriteManager | Babylon.js Playground (babylonjs.com)](https://playground.babylonjs.com/#LBSWRJ)

Here is a screen capture of the effect.

[https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/f/5/f52a61794d9ab57a07166dccd12c80bd5e035bc1.mp4](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/f/5/f52a61794d9ab57a07166dccd12c80bd5e035bc1.mp4)
