L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Données et recherche · SKILL.md

unity-2d-lighting

unity-2d-lighting

Unity 2D lighting — URP 2D Renderer, Light 2D types (Point/Freeform/Sprite/ Parametric/Global), Shadow Casters 2D, Sprite Mask, Renderer2DData, normal mapped sprites, blend styles. USE WHEN: setting up the URP 2D Renderer, lighting a 2D scene, adding 2D shadows, using Sprite Mask for stencil-like effects, normal-mapped sprites. DO NOT USE FOR: 3D lighting…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: unity-2d-lighting description: | Unity 2D lighting — URP 2D Renderer, Light 2D types (Point/Freeform/Sprite/ Parametric/Global), Shadow Casters 2D, Sprite Mask, Renderer2DData, normal mapped sprites, blend styles.

USE WHEN: setting up the URP 2D Renderer, lighting a 2D scene, adding 2D shadows, using Sprite Mask for stencil-like effects, normal-mapped sprites.

DO NOT USE FOR: 3D lighting (use unity-rendering); UI lighting concepts (UI doesn't normally use Light 2D); 2D animation (use unity-2d-animation). allowed-tools: Read, Grep, Glob, Write, Edit

Unity 2D Lighting

URP 2D Renderer setup

1. Project Settings > Graphics → URP Pipeline asset assigned.
2. Create Renderer2DData asset → assign to URP asset's Renderer List.
3. Camera component → Render Type = Base; Renderer = the 2D renderer.

Without the 2D Renderer assigned, Light 2D components do nothing.

Light 2D types

TypeWhat
Global LightAmbient color + intensity for the entire scene (replaces clear-color lighting)
FreeformPolygon-shaped light (room interior, lava pool)
PointCircular falloff (torch, glow)
SpriteLight shape derived from a sprite (any artist-defined falloff)
ParametricN-sided polygon (legacy; prefer Freeform)

Common setup: one Global Light per scene (low intensity for darkness) + per-object Lights to highlight key elements.

Blend Styles

Renderer2DData defines up to 4 blend styles. Each has:

SettingEffect
Blend Mode (Multiply / Additive)Multiply darkens unlit areas (standard); Additive brightens
Render Texture Scale0.5 = half-res light buffer (perf win, slight blur)
Use Depth/StencilRequired for Shadow Casters
Mask ChannelMaps Sprite Renderer's Mask Interaction to specific channels

Default blend style 0 ("Default") is enough for most projects. Add more only if you need separate light groups (e.g. "Underwater" with blue cast).

Shadow Casters 2D

On a sprite that should cast shadows:
  Add ShadowCaster2D component → Self Shadows = OFF (default), Casts Shadows = ON.
  Mesh: Use Renderer Silhouette (auto from sprite) or Custom Shape.

On the Light 2D:
  Shadow Intensity > 0 → enables shadows from casters.

Composite Shadow Casters 2D group multiple casters with same parent transform — important for moving multi-part characters.

Sprite Mask

Stencil-like masking — show a sprite only where another sprite is visible.

Sprite Mask GameObject (with SpriteMask component) defines the mask shape.
Sprite Renderer → Mask Interaction =
  None                          (default)
  Visible Inside Mask           (clipped to mask shape)
  Visible Outside Mask          (cut hole)

Use cases: 2D fog of war reveal, light cone visibility, transition wipes.

Normal-mapped sprites

For dynamic 2D lighting that respects sprite geometry:

  1. Author normal map (Sprite Lamp, NormalPainter, or Aseprite normal export).
  2. Set the secondary texture on the sprite: Sprite Editor → Secondary Textures → name _NormalMap, drag normal texture.
  3. Material → use the Sprite-Lit-Default shader (URP); plug _NormalMap if needed.
  4. Light 2D → Use Normal Map = ON.

Sprites pop with bumpy 3D-looking lighting from 2D Lights. Heavy on fillrate — use sparingly.

Anti-patterns

Anti-patternFix
Adding Light 2D without 2D RendererConfigure Renderer2DData asset on the URP renderer list
Many overlapping point lights with Shadow Intensity 1Lower res for shadow buffer; combine via blend styles
Self Shadows ON by defaultOFF unless deliberately needed (causes z-fighting on sprites)
Sprite Mask without Mask Interaction set on targetSet Mask Interaction on every sprite that should be clipped
Normal maps on every spriteOnly on hero/lit-emphasis sprites — fillrate cost

Production checklist

  • Renderer2DData assigned + camera using 2D renderer
  • Global Light per scene set deliberately (not default)
  • Shadow Casters 2D placed on geometry that should cast
  • Composite Shadow Caster on multi-part characters
  • Blend styles configured if multiple light groups
  • Sprite Masks tested in build (not just editor)
  • Normal mapping budgeted (fillrate measured)
Skills enregistrées