Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Unity Particle System with Sub-emitters
📖 Scenario: You are creating a simple Unity particle effect where one particle system triggers another smaller particle system when particles die. This is useful for effects like sparks that burst when a firework particle disappears.
🎯 Goal: Build a Unity script that sets up a main particle system and adds a sub-emitter particle system that triggers on particle death.
📋 What You'll Learn
Create a main particle system GameObject called mainParticleSystem
Create a sub-emitter particle system GameObject called subEmitterSystem
Add the subEmitterSystem as a sub-emitter to mainParticleSystem triggered on particle death
Print a confirmation message when the sub-emitter is successfully added
💡 Why This Matters
🌍 Real World
Sub-emitters are used in games and simulations to create rich visual effects like explosions, sparks, and smoke that react dynamically.
💼 Career
Understanding particle systems and sub-emitters is important for game developers and visual effects artists working with Unity to create immersive experiences.
Progress0 / 4 steps
1
Create the main particle system GameObject
Create a variable called mainParticleSystem and assign it a new GameObject with a ParticleSystem component.
Unity
Hint
Use new GameObject("MainParticleSystem").AddComponent<ParticleSystem>() to create the particle system.
2
Create the sub-emitter particle system GameObject
Create a variable called subEmitterSystem and assign it a new GameObject with a ParticleSystem component.
Unity
Hint
Use new GameObject("SubEmitterSystem").AddComponent<ParticleSystem>() to create the sub-emitter.
3
Add the sub-emitter to the main particle system
Use mainParticleSystem.subEmitters.AddSubEmitter to add subEmitterSystem as a sub-emitter triggered on ParticleSystemSubEmitterType.Death with ParticleSystemSubEmitterProperties.InheritNothing.
Unity
Hint
Use AddSubEmitter method with the correct parameters to link the sub-emitter.
4
Print confirmation message
Write a Debug.Log statement that prints "Sub-emitter added successfully!" inside the Start method after adding the sub-emitter.
Unity
Hint
Use Debug.Log("Sub-emitter added successfully!") to print the message.
Practice
(1/5)
1. What is the main purpose of sub-emitters in Unity's particle system?
easy
A. To change the color of particles over time
B. To control the speed of the main particle system
C. To pause and resume particle emission
D. To create extra particle effects triggered by main particles
Solution
Step 1: Understand sub-emitters role
Sub-emitters are used to add extra effects that happen when main particles do something.
Step 2: Identify correct purpose
They trigger new particles on events like birth, death, or collision of main particles.
Final Answer:
To create extra particle effects triggered by main particles -> Option D
Quick Check:
Sub-emitters = extra triggered effects [OK]
Hint: Sub-emitters add effects triggered by main particles [OK]
Common Mistakes:
Thinking sub-emitters control particle speed
Confusing sub-emitters with color changes
Assuming sub-emitters pause emission
2. Which of the following is the correct way to add a sub-emitter in Unity's Particle System component?
easy
A. In the Particle System inspector, expand Sub Emitters and click '+' to add a sub-emitter
B. Add a new Particle System component to the same GameObject
C. Use the Animator window to link particle effects
D. Write a script to manually spawn particles without using sub-emitters
Solution
Step 1: Locate sub-emitter settings
In Unity's Particle System inspector, there is a Sub Emitters section to manage sub-emitters.
Step 2: Add sub-emitter correctly
You add a sub-emitter by clicking the '+' button inside that section to assign a particle system as sub-emitter.
Final Answer:
In the Particle System inspector, expand Sub Emitters and click '+' to add a sub-emitter -> Option A
Quick Check:
Sub Emitters panel '+' button = add sub-emitter [OK]
Hint: Use '+' in Sub Emitters section to add sub-emitters [OK]
Common Mistakes:
Adding a separate Particle System component instead
Trying to link particles via Animator window
Spawning particles only by script without sub-emitters
3. Consider a particle system with a sub-emitter set to trigger on particle death. What happens when a main particle dies?
medium
A. The main particle system stops emitting particles
B. The sub-emitter changes the color of the main particle
C. The sub-emitter spawns its particles at the main particle's death position
D. Nothing happens because sub-emitters only trigger on birth
Solution
Step 1: Understand sub-emitter trigger types
Sub-emitters can trigger on birth, death, or collision of main particles.
Step 2: Effect of death trigger
When a main particle dies, the sub-emitter spawns its own particles at that exact position.
Final Answer:
The sub-emitter spawns its particles at the main particle's death position -> Option C
Quick Check:
Death trigger = spawn sub-particles at death spot [OK]
Hint: Death trigger spawns sub-particles at main particle's position [OK]
Common Mistakes:
Thinking sub-emitters stop main emission
Believing sub-emitters change main particle color
Assuming sub-emitters only trigger on birth
4. You set up a sub-emitter to trigger on collision, but no sub-particles appear when main particles collide. What is the most likely cause?
medium
A. The sub-emitter particle system is not assigned in the Sub Emitters list
B. The main particle system has no collision module enabled
C. The sub-emitter is set to trigger on birth instead of collision
D. The main particle system's emission rate is zero
Solution
Step 1: Check collision module status
For sub-emitters to trigger on collision, the main particle system must have collision enabled.
Step 2: Identify cause of no sub-particles
If collision is off, no collision events happen, so sub-emitters won't trigger.
Final Answer:
The main particle system has no collision module enabled -> Option B
Quick Check:
Collision off = no collision trigger for sub-emitters [OK]
Hint: Enable collision module for collision-triggered sub-emitters [OK]
Common Mistakes:
Not assigning sub-emitter particle system
Setting wrong trigger type
Having zero emission rate but expecting collisions
5. You want to create a firework effect where each main particle explodes into smaller sparks on death, and each spark also creates a small smoke puff on its own death. How do you set this up using sub-emitters?
hard
A. Add a sub-emitter to the main particle system triggered on death for sparks, then add a sub-emitter to the sparks system triggered on death for smoke
B. Add all effects as sub-emitters to the main particle system triggered on birth
C. Use only one particle system with color changes to simulate sparks and smoke
D. Spawn sparks and smoke manually via script without sub-emitters
Solution
Step 1: Setup main particle system with death-triggered sparks
Add a sub-emitter to the main system that triggers on death to spawn spark particles.
Step 2: Setup sparks particle system with death-triggered smoke
Add a sub-emitter to the sparks system that triggers on death to spawn smoke puffs.
Step 3: Chain sub-emitters for layered effects
This chaining creates the firework effect with sparks and smoke triggered sequentially.
Final Answer:
Add a sub-emitter to the main particle system triggered on death for sparks, then add a sub-emitter to the sparks system triggered on death for smoke -> Option A
Quick Check:
Chain death-triggered sub-emitters for layered effects [OK]
Hint: Chain sub-emitters triggered on death for multi-layer effects [OK]