Today I'll show you how we create simple effects such as smoke and fire.
Smoke and fire fall under a category known as Fluid Dynamics - the science of liquids and gases in motion. We typically use Fluids to calculate gases, we use a separate system for liquids - more on that in a later blog post.
At Carse & Waterman we use Autodesk Maya for the majority of our CGI pipeline, Maya has an excellent Fluids system. This system can be used for a wide array of gas effects, most notably smoke and fire.
The first thing we do is create our geometry, a basic metal chimney with a hat. We add lights and materials to make it look nice.
We add a Fluid Container, this is a cube which will contain our smoke. We use a container to speed up calculations, that way we only have to calculate inside of the container. At this point nothing will happen. We are calculating every point inside the container, but there is no smoke being emitted.
The next step is to add an emitter. This is where our smoke gets 'emitted' from and can either be a shape or an object. Emitting from an object is useful to make a character or object on fire. Once we have our emitter in place, we need to adjust our smoke parameters. This is where we make our smoke look like smoke. We have various attributes that we can adjust, such as temperature, fuel and turbulence.
Now that we have adjusted our parameters we have to simulate our smoke. We leave the computer to calculate the motion the smoke will make. This can take anywhere from 10 minutes to a full day depending on the complexity and length of shot. Our smoke plume is quite simple and only took around 10 minutes to calculate 4 seconds of motion.
I've made the smoke bright red so it's easier to see. Once the smoke is calculated, we can then render our sequence. Similar to simulation, rendering is where the computer calculates light for our scene. This can take anywhere from 10 minutes a frame, to 10 hours a frame. Thankfully our chimney is quite simple so it's 10 minutes a frame.
Once that's done we have our smoke!