Stage Guide > Toon Boom Harmony 10 Stage User Guide > Chapter 19: Effects > Particle Effects > Particle Effect Modules > Sprite Emitter
Download Toon Boom DocumentationDownload Documentation

Sprite Emitter

This is your all-purpose emitter, that you can plug a drawing layer into, and it will generate particles that look like your drawing layer. You could also just output dot particles if you have no image layer connected. There are many parameters to determine how you would like to emit your particles.

Layer Properties

Use the Sprite Emitter's Layer Properties panel to adjust the effect's parameters.

Generation Tab
Emission:
Trigger: Is an on/off switch using binary code, where 1 = on, while 0 = off.
Number of Particles: This is where you can define how many particles will be emitted on each frame.
Probability of Generating Any Particles: This is a probability percentage between 0 and 100. If the probability is set to 100%, it will absolutely generate the Number of Particles specified. If you put the percentage down to 50%, then there's only a 50% chance that it will generate the number of particles set in Number of Particles. Play with this value to add random spacing to the generation of particles.
Type: You may want to design a variety of different drawings that will vary up the appearance of your particle system. In this case, you should put each drawing on its own cell in the drawing layer. Each drawing will then be a new Type of particle.
Type Generation Strategy: This allows you to choose between Sequentially assigning a type (moving from one drawing to the next) or Randomly assigning a type.
Particle Type 0: This is the frame number where the first drawing can be found. If you have a 5-frame cycle that starts on frame 1, you would put a 1 here.
Particle Type 1: This is the frame number where the last drawing can be found. If you have a 5-frame cycle that starts on frame 1, you would put 5 here.
Age:
Age at Birth: A different start frame number can be entered in this field. This means that a particle can start with a different drawing than the drawing that you have on frame 1.
Age at Birth Standard Deviation: Allows a random deviation for the birth of the particles. If you have a 5-frame cycle that starts on frame 1, but you want the particles to be of a random type, then you may want to set the Age and Birth to 3 with a standard deviation of 2. That means that particles will randomly be born at any frame from 1 to 5.
Advanced:
Particles Mass: Define a mass for the particles. This mass will affect how the particles interact with gravity.
Region Size for Baked Particle Input: The Baked Particle Input property refers to when you use a Baker as an input to a Sprite Emitter. You can do this when you want to generate particles from other particles. When you do this, you have the option of setting a sphere around the source particle from which the new particle system will generate particles. That is the region which is referred to in this value. If you look at the following example, you'll see that the purple smiley faces are generating smaller green, blue, and yellow smiley faces. This is done by plugging the Baker from the purple smiley faces into the Sprite Emitter of the other smiley faces.
See the following images:

Copy Particle Velocity for Baked Particle Input: If you select this option, the velocity of the parent system will be applied to the child system when a Baker is used as the region for a Sprite Emitter.
Add Particle Age for Baked Particle Input: If you select this option, the age of the parent system will be inherited by the child system when a Baker is used as the region for a Sprite Emitter.
Align Initial Velocity: This aligns the initial velocity with the region from which the particles are being emitted. If you are emitting from a sphere, then the particles will all start out moving away from the centre of the sphere.
Minimum Initial Rotation: Define a minimum rotation in degrees that the particle can have when it is generated. There is also a separate Rotation-Velocity module in which you can define this parameter.
Maximum Initial Rotation: Define a maximum rotation in degrees that the particle can have when it is generated.
Rendering Tab
Sprite Selection:
Rendering Strategy: Select a method to use to decide which particle type will be defined for each particle that is created.
Render as Dot: This will simply render each particle as a dot. This is useful mainly for previewing the effects of your particle system without using the drawing layer (sprite)
Use Frame Number: As the frame number increases, the type of particle will change to match the frame number. This means that ALL particles in the system will change together as the frame number changes. If you only have a few drawings, then you may want to enable Cycling in order to cycle those drawings.
Use Frame Number as Index in Selector: When you select this option, then you may use the Selector option to animate the Frame Number that it uses over time. Meaning, instead of taking the current frame as the Frame Number, you can write your own function instead. For example, if I were to animate the selector so that at frame 1, it starts out at 2, then 8 frames later I add another keyframe to set the value to 4, between the frame 1 and frame 8 the particles will all change type together from what they look like on frame 2 to what they look like on frame 4.
Use Particle Type: Each particle that is generated will look like the Particle Type that was assigned under the Generation tab. For example, if you put 1 for Particle Type 0, and then you put 6 for Particle Type 1, then each particle will be assigned a type from 1 to 6. This type corresponds to the drawing that appears on the sprite on that frame number. So if I have a drawing layer called Sprite that I have plugged into the left in-port of my Emitter, it will look for the drawings in cells 1 to 6 of Sprite to assign those drawings to each Particle.
Use Particle Type as Index in Selector: This option allows you to use the Selector to manually create a function that assigns how many of which particle will be created. For example, we can set the Particle Type to go from 1 to 100, in the Generation tab. Then we will use the Selector to remap the particle types to a certain drawing. So for example I could create 5 drawings, labelled 1 to 5, and I can use my selector to say I'd like to create mainly 1s, no 2s, a few 3s, 4s, and a very few 5s. What it's doing is, it is looking at the x-axis to find what the particle "type" is, then it is looking at the y-axis to find out which drawing to assign to that "type." When you use 1 to 100 as a type, then when you're setting the values, they act in fact as a percentage. See the following images for further clarification:

Use Age: As the particle ages, it will change appearance from what appears on the Sprite's first drawing to the subsequent drawings. This means that each particle can have its appearance animated as it gets older.
Use Age as Index in Selector: You can animate the Selector in order to change how a particle ages over time. For example, if I have a Sprite that has 6 drawings on it, I might want to animate it so that it changes from drawing 1, on frame 1, to drawing 2, on frame 10, then drawing 3 on frame 14, drawing 4 on frame 16, drawing 5 on frame 17, etc. so that the particle rapidly ages. This allows me to change the timing of the aging dynamically through the selector, instead of having to modify the exposure of the cells on the Sprite.
Selector:Animate the Selector in conjunction with the Rendering Strategy to adjust the parameters that control the particle’s appearance at birth and over time.
Cycling: If you're using rendering strategies like Frame Number or Age, you may want to cycle the drawings. For example, if you are using Frame Number, but you've only got 5 frames worth of drawings in your Sprite, then if you use "No Cycle," your Particles will disappear after frame 5. You can choose to cycle Normally, 1-2-3-4-5-1-2-3-4-5, or Back and Forth, 1-2-3-4-5-4-3-2-1.
Number of Drawings in Cycle: You should indicate how many frames from your Sprite you'd like to cycle.
Transformation:
Size over Age: Use this value to set how you would like the size of the particle to change as it ages. Attach a function to this attribute if you would like to, for example, have the particles get smaller as time goes on.
Directional Scale: Click this checkbox if you'd like to scale the particle in the direction of its movement.
Directional Scale Exponent Factor: Set an exponent here for how much you'd ike that particle to scale.
Align with Direction: Check this checkbox if you'd like to align the particle in the direction of its movement.
Axis to Align: Select the axis that you'd like to align from the drop-down box. This axis refers to the axis of the Drawing grid from the Drawing module plugged into the emitter.
Flip X Axis to Match Direction: You might want to have the particle align to the X direction of movement. You can see this property being used in the Lemmings example.
Flip Y Axis to Match Direction: Similar to flipping the X axis, you may wish to flip the Y axis of a drawing to match the direction of the particle'd movement.
Use Rotation of Particle: Check this checkbox to enable rotation on the particle.
Keep Volume: If you choose the Directional Scale option, then Keep Volume will become available. This option maintains the volume of the object by squashing it in one axis when it stretches it in another.
Colouring:
Colouring Strategy: This drop-down box allows you to set how you would like to define the colour of the particle.
Use Drawing Colour: In this case, the particle will remain the same colour as it was drawn with.
Map RGB Based on Age: Attach a function to this to vary the Red, Green, and Blue values of the particle as it ages.
Map RGBA Based on Age: Attach a function to this to vary the Red, Green, Blue, and Alpha values of the particle as it ages.
Apply Opacity Based on Age: Keep the original RGB values from the drawing, but vary the Alpha (Opacity) according to a function that you define here.
Map RGB Based on Frame: Change the Red, Green, and Blue values of the particles based on the frame. Changing based on the frame means that ALL particles will change colour on that frame, regardless of their age.
Map RGBA Based on Frame: Change the Red, Green, Blue, and Alpha values of all particles on a given frame by attaching a function.
Apply Opacity Based on Frame: Use the original RGB values from your drawing, but vary the Alpha (Opacity) of the particles on a certain frame by attaching a function to this.
Red, Blue, Green: This is where you can attach functions to Red, Blue, and Green values. You can also click on the colour swatch to adjust the colour.
Alpha: This is where you can attach a function to the Alpha (Opacity) of your particles.
Compositing:
Blur: Define whether you'd like to apply a Blur to the particles.
No Blur: No blur will be applied to the particles.
Directional Blur Based on Age: Attach a function to define how you would like the particles to blur based on the age of each particle. The particle will blur in the direction of movement.
Directional Blur Based on Frame: Attach a function to define how all particles should be blurred at a particular frame. The particle will blur in the direction of movement.
Low Quality Radial Blur Based on Age: Attach a function to define how you would like the particles to blur based on the age of each particle. This will be a low quality blur.
Low Quality Radial Blur Based on Frame: Attach a function to define how all particles should be blurred at a particular frame. This will be a low quality blur.
Low Quality Radial Blur Based on Camera Distance: Define how you would like the particles to blur based on their distance from the camera. This is a low quality blur.
High Quality Radial Blur Based on Age: Attach a function to define how you would like the particles to blur based on the age of each particle. This is a high quality blur.
High Quality Radial Blur Based on Frame: Attach a function to define how all particles should be blurred at a particular frame. This is a high quality blur.
High Quality Radial Blur Based on Camera Distance: Define how you would like the particles to blur based on their distance from the camera. This is a high quality blur.
Blur Intensity: This is where you can set a value, or attach a function to animate the blur according to the type of blur that was defined from the drop-down list.
Falloff Rate: The distance where the blur fades from the edge of the image. Select a value between 0 and 1.
A falloff rate of 0 causes the blur to fade out slowly, distributing the blur evenly from the edge of the drawing to the farthest edge of the blur.
A falloff rate of 1 causes the blur to fade out quickly so that the blur is heaviest at the edge of the drawing.
Blend Mode: Define a blend mode for the particles to get cool effects.
Blend Intensity: This is a percentage of how opaque you would like the particles to be blended. A value of 50 would be 50% transparent. A value of 100 would be fully opaque.

Related Topics 

Particle Effect Modules