🎮 UnityDocs

Luces 2D con URP (Light 2D)

Cómo iluminar un juego 2D con el sistema de luces 2D de URP: los tipos de Light 2D, los Shadow Caster para sombras, los materiales que reaccionan a la luz y el rendimiento. Ambientación que da vida a los sprites.

📄 ArtículoIntermedio✅ RevisadoUnity 6.0 LTSActualizado 2026-07-17
DificultadConceptual Código Matemáticas
Tiempo📖 Lectura 7 min · ⌨️ Práctica 20 min

Iluminar en 2D#

Por defecto los sprites se ven "planos": tienen su color y ya. Las luces 2D de URP añaden ambiente —una antorcha que ilumina una cueva, el faro de un coche, la penumbra de la noche— y transforman por completo la sensación del juego.

Necesita URP con el 2D Renderer

Las luces 2D son parte de URP (ver Introducción a URP). Usa la plantilla 2D de Unity 6 (ya viene configurada) o, en un proyecto URP, asegúrate de que el Renderer del asset de URP es el 2D Renderer (Renderer2D). Sin ese renderer, los componentes Light 2D no hacen nada.

Añadir una luz#

GameObject → Light → Light 2D. En el componente eliges el tipo:

Tipo de Light 2DPara qué
Global LightIlumina toda la escena de forma uniforme (la "luz ambiente"; suele haber una)
Spot / PointUn foco radial: antorchas, faroles, explosiones
FreeformForma dibujada a mano: un rayo de luz por una ventana
SpriteUsa un sprite como máscara de luz (formas complejas)

Ajusta Color, Intensity y Falloff (cómo se difumina el borde). Con una Global Light oscura + focos de colores consigues el clásico look de cueva o noche.

Sombras 2D#

Para que los objetos proyecten sombra, añádeles un Shadow Caster 2D. La luz que tenga Shadows activado dejará una sombra detrás de esos objetos. Ideal para paredes y obstáculos que ocultan lo que hay detrás.

Que los sprites reaccionen bien a la luz#

Un sprite normal se ilumina de forma plana. Para relieve (que la luz "resbale" por la superficie) añade un normal map al material del sprite: con el 2D Renderer, el Sprite-Lit material usa el mapa de normales para dar volumen falso muy convincente.

Ambiente con dos capas de luz

Un truco que funciona casi siempre: una Global Light tenue y fría (la penumbra general) + luces Point cálidas en las fuentes concretas (antorchas, ventanas). El contraste cálido/frío da profundidad al instante.

Controlar una luz por código#

C#
using UnityEngine;
using UnityEngine.Rendering.Universal;   // Light2D vive aquí

public class Parpadeo : MonoBehaviour
{
    private Light2D luz;
    void Awake() => luz = GetComponent<Light2D>();

    void Update()
    {
        // Antorcha que titila
        luz.intensity = 0.8f + Mathf.PerlinNoise(Time.time * 8f, 0f) * 0.3f;
    }
}

Rendimiento#

Las luces 2D no son gratis

Cada Light 2D con sombras y muchos Shadow Casters cuesta. En móvil, limita el número de luces dinámicas, usa Falloff y sombras con cabeza, y aprovecha la Global Light (barata) para el grueso de la iluminación. Ver optimizar para móvil.

Errores frecuentes#

  • Poner Light 2D sin el 2D Renderer en URP: no ilumina nada.
  • Olvidar la Global Light: la escena queda totalmente negra salvo bajo los focos.
  • Esperar sombras sin Shadow Caster 2D en los objetos.
  • Abusar de luces con sombras en móvil y hundir los FPS.

Ponte a prueba#

📝 Pon a prueba lo aprendido

Resumen#

Las luces 2D de URP (con el 2D Renderer) dan ambiente a los sprites: una Global Light para la luz general y luces Point/Spot/Freeform para focos concretos, con Shadow Caster 2D para las sombras y normal maps para relieve. El truco de oro es combinar una global fría y tenue con focos cálidos. Vigila el rendimiento en móvil: las luces con sombras cuestan. Es la capa que separa un 2D plano de uno con vida.

Fuentes y para profundizar