I built a volumetric cloud system that uses Smoke, Particle Emitters, etc to create really realistic clouds. The clouds are created with a function that allows me to control density, size, position, height, etc and then it places the clouds around and changes the opacity of the Particle Emitters using the density value and trigonometry.
Clouds have different variations each time I know the lag is crazy but most of the lag is actually caused by the screen recorder as you can see. I had to use another screen recorder because my windows one was glitching out. If you have any questions let me know.
Im shading the clouds by making the particles more transparent if they are further from the origin of the cloud but I’m also mixing the clouds white color with the ambient light color.
Right now I’m generating with Random::NextNumber.
Originally I planned to use Raymarching and Navier Stokes Equations to then trace the result on my screen. I will be switching to perlin most likely.
In a large scale it doesn’t lag that much because Roblox’s 3D Rendering Pipeline has a built in feature to stop rendering a particle if it is too far. However this actually becomes an issue with this system because This means I’m going to have to find a new way to make distant clouds.