Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Light2D

Inherits: Node2D < CanvasItem < Node < Object

Inherited By: DirectionalLight2D, PointLight2D

Casts light in a 2D environment.

Description

Casts light in a 2D environment. A light is defined as a color, an energy value, a mode (see constants), and various other parameters (range and shadows-related).

Tutorials

Properties

BlendMode

blend_mode

0

Color

color

Color(1, 1, 1, 1)

bool

editor_only

false

bool

enabled

true

float

energy

1.0

int

range_item_cull_mask

1

int

range_layer_max

0

int

range_layer_min

0

int

range_z_max

1024

int

range_z_min

-1024

Color

shadow_color

Color(0, 0, 0, 0)

bool

shadow_enabled

false

ShadowFilter

shadow_filter

0

float

shadow_filter_smooth

0.0

int

shadow_item_cull_mask

1

Methods

float

get_height ( ) const

void

set_height ( float height )


Enumerations

enum ShadowFilter:

ShadowFilter SHADOW_FILTER_NONE = 0

No filter applies to the shadow map. This provides hard shadow edges and is the fastest to render. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF5 = 1

Percentage closer filtering (5 samples) applies to the shadow map. This is slower compared to hard shadow rendering. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF13 = 2

Percentage closer filtering (13 samples) applies to the shadow map. This is the slowest shadow filtering mode, and should be used sparingly. See shadow_filter.


enum BlendMode:

BlendMode BLEND_MODE_ADD = 0

Adds the value of pixels corresponding to the Light2D to the values of pixels under it. This is the common behavior of a light.

BlendMode BLEND_MODE_SUB = 1

Subtracts the value of pixels corresponding to the Light2D to the values of pixels under it, resulting in inversed light effect.

BlendMode BLEND_MODE_MIX = 2

Mix the value of pixels corresponding to the Light2D to the values of pixels under it by linear interpolation.


Property Descriptions

BlendMode blend_mode = 0

The Light2D's blend mode. See BlendMode constants for values.


Color color = Color(1, 1, 1, 1)

  • void set_color ( Color value )

  • Color get_color ( )

The Light2D's Color.


bool editor_only = false

  • void set_editor_only ( bool value )

  • bool is_editor_only ( )

If true, Light2D will only appear when editing the scene.


bool enabled = true

  • void set_enabled ( bool value )

  • bool is_enabled ( )

If true, Light2D will emit light.


float energy = 1.0

  • void set_energy ( float value )

  • float get_energy ( )

The Light2D's energy value. The larger the value, the stronger the light.


int range_item_cull_mask = 1

  • void set_item_cull_mask ( int value )

  • int get_item_cull_mask ( )

The layer mask. Only objects with a matching CanvasItem.light_mask will be affected by the Light2D. See also shadow_item_cull_mask, which affects which objects can cast shadows.

Note: range_item_cull_mask is ignored by DirectionalLight2D, which will always light a 2D node regardless of the 2D node's CanvasItem.light_mask.


int range_layer_max = 0

  • void set_layer_range_max ( int value )

  • int get_layer_range_max ( )

Maximum layer value of objects that are affected by the Light2D.


int range_layer_min = 0

  • void set_layer_range_min ( int value )

  • int get_layer_range_min ( )

Minimum layer value of objects that are affected by the Light2D.


int range_z_max = 1024

  • void set_z_range_max ( int value )

  • int get_z_range_max ( )

Maximum z value of objects that are affected by the Light2D.


int range_z_min = -1024

  • void set_z_range_min ( int value )

  • int get_z_range_min ( )

Minimum z value of objects that are affected by the Light2D.


Color shadow_color = Color(0, 0, 0, 0)

  • void set_shadow_color ( Color value )

  • Color get_shadow_color ( )

Color of shadows cast by the Light2D.


bool shadow_enabled = false

  • void set_shadow_enabled ( bool value )

  • bool is_shadow_enabled ( )

If true, the Light2D will cast shadows.


ShadowFilter shadow_filter = 0

Shadow filter type. See ShadowFilter for possible values.


float shadow_filter_smooth = 0.0

  • void set_shadow_smooth ( float value )

  • float get_shadow_smooth ( )

Smoothing value for shadows. Higher values will result in softer shadows, at the cost of visible streaks that can appear in shadow rendering. shadow_filter_smooth only has an effect if shadow_filter is SHADOW_FILTER_PCF5 or SHADOW_FILTER_PCF13.


int shadow_item_cull_mask = 1

  • void set_item_shadow_cull_mask ( int value )

  • int get_item_shadow_cull_mask ( )

The shadow mask. Used with LightOccluder2D to cast shadows. Only occluders with a matching CanvasItem.light_mask will cast shadows. See also range_item_cull_mask, which affects which objects can receive the light.


Method Descriptions

float get_height ( ) const

Returns the light's height, which is used in 2D normal mapping. See PointLight2D.height and DirectionalLight2D.height.


void set_height