Qué es el post-procesado#
El post-procesado son efectos que se aplican a la imagen final, ya renderizada, como los filtros de una foto: brillos, contraste, color, desenfoque. Es lo que da a un juego su "look" y, bien usado, sube el resultado un escalón sin tocar los modelos ni las luces.
En URP (y HDRP) se gestiona con el sistema de Volumes.
Montarlo en URP#
- Crea un Global Volume:
GameObject → Volume → Global Volume. El "Global" afecta a toda la escena. - En su componente Volume, crea un Profile (botón New).
- Pulsa Add Override y añade los efectos que quieras.
- Asegúrate de que tu cámara tiene Post Processing activado (casilla en el componente Camera / Universal Additional Camera Data).
El viejo Post Processing Stack v2 del pipeline Built-in ya no es el camino: URP/HDRP integran el post-procesado en el Volume framework. Si sigues un tutorial que instala un paquete "Post Processing" aparte, es del flujo antiguo.
Los efectos más útiles#
| Efecto | Qué hace | Úsalo para |
|---|---|---|
| Tonemapping | Mapea el color a un rango bonito (ACES) | Casi siempre; base del look |
| Bloom | Los brillos "sangran" luz | Neón, magia, soles, pantallas |
| Color Adjustments / Grading | Contraste, saturación, temperatura | Definir el ambiente (frío, cálido) |
| Vignette | Oscurece los bordes | Foco de atención, tensión |
| Depth of Field | Desenfoca según la distancia | Cinemáticas, menús, foco |
| Motion Blur | Desenfoque de movimiento | Velocidad, acción |
| Chromatic Aberration | Separa los colores en los bordes | Efecto retro/glitch, daño |
| Film Grain | Grano de película | Terror, estética analógica |
Para un primer look creíble: añade Tonemapping (modo ACES o Neutral) y un Bloom sutil. Solo con eso, los materiales y las luces "cuajan" mucho mejor. Luego ajusta el Color Adjustments para dar temperatura al ambiente.
Volumes locales: cambiar el ambiente por zonas#
Un Volume no tiene por qué ser global. Con un Box Collider (trigger) y el Volume en modo Local, el efecto se aplica solo cuando la cámara entra en esa zona, y hace una transición suave (según su Blend Distance).
Ejemplos: al entrar en una cueva, sube la vignette y enfría el color; en una zona envenenada, un tinte verde; bajo el agua, desenfoque azulado. Todo sin código, solo colocando volúmenes con distintos perfiles.
Controlarlo por código#
Puedes animar un efecto (por ejemplo, subir la vignette cuando el jugador recibe daño):
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
public class EfectoDaño : MonoBehaviour
{
[SerializeField] private Volume volume;
private Vignette vignette;
void Awake() => volume.profile.TryGet(out vignette);
public void Herido()
{
if (vignette != null) vignette.intensity.value = 0.5f; // luego bájala poco a poco
}
}El coste: no es gratis#
El post-procesado se ejecuta por píxel: Bloom, Depth of Field y Motion Blur son caros, especialmente en móvil. Úsalos con cabeza: un Bloom sutil y un tonemapping cuestan poco; llenar la pantalla de efectos pesados hunde los FPS. Y no te pases de intensidad: un post-procesado exagerado hace el juego ilegible y cansa la vista.
Errores frecuentes#
- Post Processing desactivado en la cámara (no se ve ningún efecto).
- Instalar el paquete antiguo de Post Processing en un proyecto URP (usa Volumes).
- Pasarse de Bloom/saturación hasta que el juego es ilegible.
- Efectos caros (DoF, Motion Blur) en móvil sin medir.
- Un solo Volume global cuando distintos ambientes pedirían volúmenes locales.
Ponte a prueba#
Resumen#
El post-procesado aplica efectos a la imagen final mediante Volumes (URP/HDRP): Tonemapping + Bloom como base, Color Grading para el ambiente, y Vignette, Depth of Field, etc. según el estilo. Usa un Global Volume para el look general y Volumes locales con triggers para cambiar el ambiente por zonas, todo sin código (o animándolo por código). Ojo al coste en móvil y a no pasarte de intensidad. Combínalo con una buena iluminación.