Project 3a: Particles

Goal Learn the basics of particle systems.

Particles represent tiny objects such as snow, dust, or sparks. Since there can be sometimes hundreds or thousands of these particles, it is infeasible to animate them by hand. Instead you create a procedural animation for them by setting up some basic rules and behaviors and the particles animate themselves according to these constraints. This project will walk you through setting up a simple particle system that simulates sparks. We will add this effect to the fire we create in part b.

  1. The first step in setting up a particle system is to create a particle emitter. Go to Particles → Create Emitter (Options). We will need to adjust several of the emitter's attributes. This can be done before creation or afterward through the Attribute Editor.

    Call the new emitter sparksEmitter. Since we want our sparks to come from a log, set the Emitter type to Volume and the Volume shape to Cylinder. Rotate and scale the new volume emitter until it resembles a log. If you hit Play, you should see particles being emitted in all directions. You may want to increase the time visible on your Time Slider so that you can see more of the animation. Going back to frame 0 will reset the particle simulation back to its initial state.

    By default Maya will try to play your effect in real-time. If it can not keep up with the computation required to simulate your effect, then it will cut some corners to make up time. This generally not what you want and can be especially problematic with fluids. To make sure Maya calculates every frame go to Window → Settings/Preferences → Preferences → Timeline and set Playback speed to Play every frame.

  2. In the Attribute Editor of the emitter, under Basic Emitter Attributes, change the Rate to 25. Under Basic Emission Speed Attributes, change Speed Random to 3. In the attributes of the particleShape, under Lifespan Attributes, change Lifespan Mode to Random range, Lifespan to 1.5, and Lifespan Random to 0.5. This means that every particle will last for anywhere from 1 to 2 seconds.
  3. At the moment, the particles are emitted in all directions and travel in a straight line. We can affect the trajectory of a particle after it has been emitted by creating fields that are linked to the particles. Fields act as forces that affect the particles in a certain way, such as being pulled down by gravity.

    Fields can be linked to particles when they are created by selecting the particles before creating the field. You can also link them using an editor similar to the Light Linker found at Window → Relationship Editors → Dynamic Relationships. Create an Air and a Turbulence field from the Fields menu and make sure they are linked to the particles. The default settings for the Air field should be sufficient, but change the Magnitude of the Turbulence field to 25.

  4. You may have noticed that the particles currently don't render. The first step to fixing that is to go to the attributes of the particleShape. Under Render Attributes, change Particle Render Type to Tube and click the Current Render Type button. Set Radius 0 and 1 to 0.03 and Tail Size to 2. This should make the particles look like below.
  5. The particles still have the default particleCloud shader assigned to them. Assign a new Particle Cloud shader to the particles. This can be found under the Volumetric category if you are using the Hypershade. The Particle Cloud has Life Color, Life Transparency, and Life Incandescence attributes. These affect the appearance of the particles based on how old they are.

    Map the ramp on the left into the Life Color and Life Incandescence of the Particle Cloud. Map the right ramp into the Life Transparency. Change the Glow Intensity to 0.3. This will simulate the spark cooling as it travels through the air, eventually turning to ash and disappearing.

  6. If you render your particles, they should look like those in the image below. Save your Maya file for later, you will need it in part b.
Turn In You will be graded on the following: Turn in the following: