Qué es#
El Particle System (a veces llamado Shuriken) genera muchos elementos pequeños —las partículas— para crear efectos: humo, fuego, chispas, lluvia, polvo, magia, explosiones. Se añade con GameObject → Effects → Particle System.
Es un componente lleno de módulos que se activan con la casilla de su cabecera. No hay que tocar todos: con unos pocos ya haces efectos convincentes.
Los módulos clave#
| Módulo | Controla |
|---|---|
| Main | Vida, velocidad, tamaño y color iniciales, gravedad |
| Emission | Cuántas partículas por segundo, o ráfagas (bursts) |
| Shape | La forma desde la que salen (cono, esfera, círculo) |
| Color over Lifetime | Cómo cambia el color/opacidad con el tiempo |
| Size over Lifetime | Cómo crece o encoge |
| Velocity / Noise | Movimiento y turbulencia |
| Renderer | El material/sprite de cada partícula |
Para un primer efecto (una fuente de chispas), ajusta la vida y velocidad en Main, la cantidad en Emission y la forma en Shape. Añade Color over Lifetime para que se desvanezcan. Con eso solo ya tienes algo que se ve bien.
Controlarlo por código#
using UnityEngine;
public class Explosion : MonoBehaviour
{
[SerializeField] private ParticleSystem efecto;
public void Detonar(Vector3 posicion)
{
efecto.transform.position = posicion;
efecto.Play(); // lanza el efecto
}
// También: efecto.Stop(); efecto.Pause();
// Emitir una ráfaga puntual de 20 partículas:
public void Chispazo() => efecto.Emit(20);
}En el módulo Main: Looping (se repite sin fin, para fuego/humo continuos) y, en el Inspector del componente, Play On Awake (empieza solo). Para efectos puntuales (una explosión), desmarca Looping y lánzalo con Play() desde código.
Destruir efectos puntuales#
Un efecto de una sola vez (impacto, explosión) debe desaparecer al terminar. Configúralo con Stop Action → Destroy en el módulo Main, o instáncialo y destrúyelo tras su duración. Como se crean y destruyen mucho, es un caso ideal para object pooling.
Cuándo dar el salto al VFX Graph#
| Particle System (Shuriken) | VFX Graph | |
|---|---|---|
| Se ejecuta en | CPU | GPU |
| Cantidad de partículas | Miles | Millones |
| Cómo se edita | Módulos en el Inspector | Grafo de nodos visual |
| Requiere | Nada (siempre disponible) | URP/HDRP + paquete |
| Ideal para | La mayoría de efectos de juego | Efectos masivos y espectaculares |
El VFX Graph simula en la GPU, lo que permite cantidades enormes de partículas, pero requiere el pipeline URP o HDRP y su paquete. Para efectos normales, el Particle System de toda la vida es más que suficiente y funciona en cualquier plataforma, incluida la móvil de gama baja.
Rendimiento#
Muchas partículas grandes y translúcidas superpuestas provocan overdraw (la GPU dibuja el mismo píxel muchas veces), especialmente caro en móvil. Consejos: menos partículas pero mejores, texturas pequeñas, evita solapar humos gigantes, y mide con el Profiler si un efecto te baja los FPS.
Errores frecuentes#
- Efectos puntuales con Looping activado que no paran nunca.
- No destruir las instancias de efectos y acumular objetos (usa Stop Action → Destroy o pooling).
- Abusar de partículas grandes translúcidas y provocar overdraw en móvil.
- Esperar usar VFX Graph en Built-in (necesita URP/HDRP).
Ponte a prueba#
Resumen#
El Particle System crea efectos combinando módulos (Main, Emission, Shape, Color/Size over Lifetime...). Contrólalo con Play(), Stop() y Emit(), destruye los puntuales (Stop Action → Destroy o pooling) y cuida el overdraw. Para efectos masivos por GPU, da el salto al VFX Graph (requiere URP/HDRP). Para la mayoría de juegos, el Particle System sobra.