Challenge - 5 Problems
Particle Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this particle lifetime calculation?
Consider a particle system where each particle's lifetime is set to 5 seconds and speed is 10 units per second. What is the total distance traveled by a particle before it disappears?
Unity
float lifetime = 5f; float speed = 10f; float distance = lifetime * speed; Debug.Log($"Distance: {distance}");
Attempts:
2 left
💡 Hint
Distance is speed multiplied by time.
✗ Incorrect
The particle travels at 10 units per second for 5 seconds, so total distance is 10 * 5 = 50 units.
🧠 Conceptual
intermediate1:30remaining
Which property controls how long a particle stays alive in Unity's Particle System?
In Unity's Particle System, which property directly sets the duration a particle exists before disappearing?
Attempts:
2 left
💡 Hint
Think about how long a particle lasts.
✗ Incorrect
Start Lifetime sets how many seconds a particle lives before it fades or disappears.
🔧 Debug
advanced2:30remaining
Why does this particle system not move particles as expected?
Given this code snippet, why do particles not move even though speed is set?
```csharp
var ps = GetComponent();
var main = ps.main;
main.startSpeed = 5f;
ps.Play();
```
Choose the correct reason.
Attempts:
2 left
💡 Hint
Check the simulation space setting in the Particle System.
✗ Incorrect
If simulation space is Local, particles move relative to the system's transform, so if the system doesn't move, particles appear static.
📝 Syntax
advanced2:00remaining
Which code correctly sets particle lifetime and speed in Unity?
Select the code snippet that correctly sets the particle system's start lifetime to 3 seconds and start speed to 8 units per second.
Attempts:
2 left
💡 Hint
startLifetime and startSpeed expect MinMaxCurve types.
✗ Incorrect
startLifetime and startSpeed are of type MinMaxCurve, so assigning a float directly causes errors. Using new MinMaxCurve(float) is correct.
🚀 Application
expert3:00remaining
How to make particles slow down over their lifetime?
You want particles to start fast and gradually slow down until they stop before disappearing. Which approach achieves this in Unity's Particle System?
Attempts:
2 left
💡 Hint
Look for modules that control speed changes over time.
✗ Incorrect
The 'Limit Velocity over Lifetime' module allows controlling particle speed reduction smoothly over their lifetime.