Light2D

Inherits: Node2D < CanvasItem < Node < Object

在2D环境中投射光线。

描述

在2D环境中投射光线。光线由一张纹理(通常是灰度)、一种颜色、一个能量值、一种模式(参阅常数)以及其他各种参数(与范围和阴影有关)来定义。

注意: Light2D也可以作为一个遮罩使用。

教程

属性

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

枚举

enum Mode:

  • MODE_ADD = 0 —- 将 Light2D 对应的像素值与其下方的像素值相加。这是灯的常见行为。

  • MODE_SUB = 1 —- 将Light2D对应的像素值减去其下方的像素值,产生反光效果。

  • MODE_MIX = 2 —- 通过线性插值将Light2D对应的像素值与其下方的像素值混合。

  • MODE_MASK = 3 —- Light2D的光线纹理被用作遮罩,根据光线遮罩纹理的每个像素的值,隐藏或显示屏幕下方的部分。


enum ShadowFilter:

  • SHADOW_FILTER_NONE = 0 —- 没有过滤器适用于阴影贴图。参阅shadow_filter

  • SHADOW_FILTER_PCF3 = 1 —- 百分比接近过滤(3个样本)适用于阴影贴图。参阅shadow_filter

  • SHADOW_FILTER_PCF5 = 2 —- 百分比接近过滤(5个样本)适用于阴影贴图。参阅shadow_filter

  • SHADOW_FILTER_PCF7 = 3 —- 百分比接近过滤(7个样本)适用于阴影贴图。参阅shadow_filter

  • SHADOW_FILTER_PCF9 = 4 —- 百分比接近过滤(9个样本)适用于阴影贴图。参阅shadow_filter

  • SHADOW_FILTER_PCF13 = 5 —- 百分比接近过滤(13个样本)适用于阴影贴图。参阅shadow_filter

属性说明

Default

Color( 1, 1, 1, 1 )

Setter

set_color(value)

Getter

get_color()

Light2D光的颜色 Color


Default

false

Setter

set_editor_only(value)

Getter

is_editor_only()

如果true,Light2D将只在编辑场景时出现。


Default

true

Setter

set_enabled(value)

Getter

is_enabled()

如果 true,Light2D 会发光。


Default

1.0

Setter

set_energy(value)

Getter

get_energy()

Light2D的能量值。该值越大,光线就越强。


Default

0

Setter

set_mode(value)

Getter

get_mode()

Light2D的模式。参阅Mode常数的值。


Default

Vector2( 0, 0 )

Setter

set_texture_offset(value)

Getter

get_texture_offset()

Light2D 的 texture 的偏移量。


Default

0.0

Setter

set_height(value)

Getter

get_height()

Light2D的高度。与2D法线贴图(normal mapping)一起使用。


  • int range_item_cull_mask

Default

1

Setter

set_item_cull_mask(value)

Getter

get_item_cull_mask()

图层遮罩。只有具有匹配遮罩的对象才会受到Light2D的影响。


  • int range_layer_max

Default

0

Setter

set_layer_range_max(value)

Getter

get_layer_range_max()

受Light2D影响的对象的最大层数值。


  • int range_layer_min

Default

0

Setter

set_layer_range_min(value)

Getter

get_layer_range_min()

受 Light2D 影响的对象的最小层数值。


  • int range_z_max

Default

1024

Setter

set_z_range_max(value)

Getter

get_z_range_max()

受Light2D影响的物体的最大z值。


  • int range_z_min

Default

-1024

Setter

set_z_range_min(value)

Getter

get_z_range_min()

受Light2D影响的物体的最小z值。


  • int shadow_buffer_size

Default

2048

Setter

set_shadow_buffer_size(value)

Getter

get_shadow_buffer_size()

阴影缓冲区大小。


Default

Color( 0, 0, 0, 0 )

Setter

set_shadow_color(value)

Getter

get_shadow_color()

Light2D投下的影子的颜色Color


  • bool shadow_enabled

Default

false

Setter

set_shadow_enabled(value)

Getter

is_shadow_enabled()

如果true,Light2D将投下阴影。


Default

0

Setter

set_shadow_filter(value)

Getter

get_shadow_filter()

阴影过滤器类型。相关可能的值,参阅ShadowFilter 阴影过滤器。


  • float shadow_filter_smooth

Default

0.0

Setter

set_shadow_smooth(value)

Getter

get_shadow_smooth()

阴影的平滑值。


  • float shadow_gradient_length

Default

0.0

Setter

set_shadow_gradient_length(value)

Getter

get_shadow_gradient_length()

平滑阴影渐变长度。


  • int shadow_item_cull_mask

Default

1

Setter

set_item_shadow_cull_mask(value)

Getter

get_item_shadow_cull_mask()

阴影遮罩。与LightOccluder2D一起使用来投射阴影。只有具有匹配的光线遮罩的遮挡物才会投射阴影。


Setter

set_texture(value)

Getter

get_texture()

用于Light2D外观的Texture


Default

1.0

Setter

set_texture_scale(value)

Getter

get_texture_scale()

texture 的缩放系数。