Light2D

Inherits: Node2D < CanvasItem < Node < Object

Casts light in a 2D environment.

Description

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

Note: Light2D can also be used as a mask.

Tutorials

Properties

Color

color

Color( 1, 1, 1, 1 )

bool

editor_only

false

bool

enabled

true

float

energy

1.0

Mode

mode

0

Vector2

offset

Vector2( 0, 0 )

float

range_height

0.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

int

shadow_buffer_size

2048

Color

shadow_color

Color( 0, 0, 0, 0 )

bool

shadow_enabled

false

ShadowFilter

shadow_filter

0

float

shadow_filter_smooth

0.0

float

shadow_gradient_length

0.0

int

shadow_item_cull_mask

1

Texture

texture

float

texture_scale

1.0


Enumerations

enum Mode:

Mode 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.

Mode MODE_SUB = 1

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

Mode MODE_MIX = 2

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

Mode MODE_MASK = 3

The light texture of the Light2D is used as a mask, hiding or revealing parts of the screen underneath depending on the value of each pixel of the light (mask) texture.


enum ShadowFilter:

ShadowFilter SHADOW_FILTER_NONE = 0

No filter applies to the shadow map. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF3 = 1

Percentage closer filtering (3 samples) applies to the shadow map. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF5 = 2

Percentage closer filtering (5 samples) applies to the shadow map. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF7 = 3

Percentage closer filtering (7 samples) applies to the shadow map. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF9 = 4

Percentage closer filtering (9 samples) applies to the shadow map. See shadow_filter.

ShadowFilter SHADOW_FILTER_PCF13 = 5

Percentage closer filtering (13 samples) applies to the shadow map. See shadow_filter.


Property Descriptions

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.


Mode mode = 0

  • void set_mode ( Mode value )

  • Mode get_mode ( )

The Light2D's mode. See Mode constants for values.


Vector2 offset = Vector2( 0, 0 )

  • void set_texture_offset ( Vector2 value )

  • Vector2 get_texture_offset ( )

The offset of the Light2D's texture.


float range_height = 0.0

  • void set_height ( float value )

  • float get_height ( )

The height of the Light2D. Used with 2D normal mapping.


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 mask will be affected by the Light2D.


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.


int shadow_buffer_size = 2048

  • void set_shadow_buffer_size ( int value )

  • int get_shadow_buffer_size ( )

Shadow buffer size.


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.


float shadow_gradient_length = 0.0

  • void set_shadow_gradient_length ( float value )

  • float get_shadow_gradient_length ( )

Smooth shadow gradient length.


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 light mask will cast shadows.


Texture texture

Texture used for the Light2D's appearance.


float texture_scale = 1.0

  • void set_texture_scale ( float value )

  • float get_texture_scale ( )

The texture's scale factor.