Inheritance #

Table of contents

Light2D #

Node2D, Node, core, not_builtin_classes

Casts light in a 2D environment.

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

Members #

var blend_mode = BLEND_MODE_ADD#

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

var color: Color = Color(1, 1, 1, 1)#

The Light2D's Color.

var editor_only: bool = false#

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

var enabled: bool = true#

If true, Light2D will emit light.

var energy: float = 1.0#

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

var range_item_cull_mask: int = 1#

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.

var range_layer_max: int = 0#

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

var range_layer_min: int = 0#

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

var range_z_max: int = 1024#

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

var range_z_min: int = -1024#

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

var shadow_color: Color = Color(0, 0, 0, 0)#

Color of shadows cast by the Light2D.

var shadow_enabled: bool = false#

If true, the Light2D will cast shadows.

var shadow_filter = SHADOW_FILTER_NONE#

Shadow filter type. See ShadowFilter for possible values.

var shadow_filter_smooth: float = 0.0#

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.

var shadow_item_cull_mask: int = 1#

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.

Methods #

const func get_height() -> float#

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

func set_height(height: float) -> void#

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

Annotations #

Constants #

const SHADOW_FILTER_NONE = 0 enum ShadowFilter#

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

const SHADOW_FILTER_PCF5 = 1 enum ShadowFilter#

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

const SHADOW_FILTER_PCF13 = 2 enum ShadowFilter#

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.

const BLEND_MODE_ADD = 0 enum BlendMode#

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

const BLEND_MODE_SUB = 1 enum BlendMode#

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

const BLEND_MODE_MIX = 2 enum BlendMode#

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

Constructors #

Enums #

ShadowFilter#

enum ShadowFilter { SHADOW_FILTER_NONE = 0, SHADOW_FILTER_PCF5 = 1, SHADOW_FILTER_PCF13 = 2, }

BlendMode#

enum BlendMode { BLEND_MODE_ADD = 0, BLEND_MODE_SUB = 1, BLEND_MODE_MIX = 2, }

Operators #

Signals #

Theme Items #

Tutorials #