Light2D

继承: Node2D < CanvasItem < Node < Object

派生: DirectionalLight2D, PointLight2D

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

属性

方法

floatget_height ( ) const1
voidset_height ( height: float )

枚举

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.


属性说明

BlendMode blend_mode = 0

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


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

  • void set_color ( value: Color )
  • Color get_color ( )

The Light2D's Color.


bool editor_only = false

  • void set_editor_only ( value: bool )
  • bool is_editor_only ( )

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


bool enabled = true

  • void set_enabled ( value: bool )
  • bool is_enabled ( )

If true, Light2D will emit light.


float energy = 1.0

  • void set_energy ( value: float )
  • 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 ( value: int )
  • 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 ( value: int )
  • 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 ( value: int )
  • 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 ( value: int )
  • 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 ( value: int )
  • 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 ( value: Color )
  • Color get_shadow_color ( )

Color of shadows cast by the Light2D.


bool shadow_enabled = false

  • void set_shadow_enabled ( value: bool )
  • 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 ( value: float )
  • 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 ( value: int )
  • 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.


方法说明

float get_height ( ) const1

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


void set_height ( height: float )

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

2

本方法通常需要用户覆盖才能生效。

1

本方法无副作用,不会修改该实例的任何成员变量。

3

本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。

4

本方法用于构造某个类型。

5

调用本方法无需实例,可直接使用类名进行调用。

6

本方法描述的是使用本类型作为左操作数的有效运算符。

7

这个值是由下列位标志构成位掩码的整数。

8

无返回值。