Light2D

Наследует: Node2D < CanvasItem < Node < Object

Наследуется от: DirectionalLight2D, PointLight2D

Излучает свет в 2D-среде.

Описание

Излучает свет в 2D-среде. Свет определяется цветом, значением энергии, режимом (см. константы) и различными другими параметрами (диапазоном и тенями).

Обучающие материалы

Свойства

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

Методы

float

get_height() const

void

set_height(height: float)


Перечисления

enum ShadowFilter: 🔗

ShadowFilter SHADOW_FILTER_NONE = 0

Фильтр не применяется к карте теней. Это обеспечивает жесткие края теней и является самым быстрым для рендеринга. См. shadow_filter.

ShadowFilter SHADOW_FILTER_PCF5 = 1

Фильтрация сближения процентов (5 образцов) применяется к карте теней. Это медленнее по сравнению с жестким рендерингом теней. См. shadow_filter.

ShadowFilter SHADOW_FILTER_PCF13 = 2

Фильтрация сближения процентов (13 образцов) применяется к карте теней. Это самый медленный режим фильтрации теней, и его следует использовать экономно. См. shadow_filter.


enum BlendMode: 🔗

BlendMode BLEND_MODE_ADD = 0

Добавляет значение пикселей, соответствующих Light2D, к значениям пикселей под ним. Это обычное поведение света.

BlendMode BLEND_MODE_SUB = 1

Вычитает значение пикселей, соответствующих Light2D, из значений пикселей под ним, что приводит к эффекту инвертированного света.

BlendMode BLEND_MODE_MIX = 2

Смешиваем значения пикселей, соответствующих Light2D, со значениями пикселей под ним с помощью линейной интерполяции.


Описания свойств

BlendMode blend_mode = 0 🔗

Режим смешивания Light2D.


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

Color в Light2D.


bool editor_only = false 🔗

  • void set_editor_only(value: bool)

  • bool is_editor_only()

Если true, Light2D будет отображаться только при редактировании сцены.


bool enabled = true 🔗

  • void set_enabled(value: bool)

  • bool is_enabled()

Если true, Light2D будет излучать свет.


float energy = 1.0 🔗

  • void set_energy(value: float)

  • float get_energy()

Значение энергии Light2D. Чем больше значение, тем сильнее свет.


int range_item_cull_mask = 1 🔗

  • void set_item_cull_mask(value: int)

  • int get_item_cull_mask()

Маска слоя. Только объекты с соответствующим CanvasItem.light_mask будут затронуты Light2D. См. также shadow_item_cull_mask, который влияет на то, какие объекты могут отбрасывать тени.

Примечание: range_item_cull_mask игнорируется DirectionalLight2D, который всегда будет освещать 2D-узел независимо от CanvasItem.light_mask 2D-узла.


int range_layer_max = 0 🔗

  • void set_layer_range_max(value: int)

  • int get_layer_range_max()

Максимальное значение слоя объектов, на которые влияет Light2D.


int range_layer_min = 0 🔗

  • void set_layer_range_min(value: int)

  • int get_layer_range_min()

Минимальное значение слоя объектов, на которые влияет Light2D.


int range_z_max = 1024 🔗

  • void set_z_range_max(value: int)

  • int get_z_range_max()

Максимальное значение z объектов, на которые влияет Light2D.


int range_z_min = -1024 🔗

  • void set_z_range_min(value: int)

  • int get_z_range_min()

Минимальное значение z объектов, на которые влияет Light2D.


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

  • void set_shadow_color(value: Color)

  • Color get_shadow_color()

Color теней, отбрасываемых Light2D.


bool shadow_enabled = false 🔗

  • void set_shadow_enabled(value: bool)

  • bool is_shadow_enabled()

Если true, Light2D будет отбрасывать тени.


ShadowFilter shadow_filter = 0 🔗

Тип фильтра теней.


float shadow_filter_smooth = 0.0 🔗

  • void set_shadow_smooth(value: float)

  • float get_shadow_smooth()

Значение сглаживания для теней. Более высокие значения приведут к более мягким теням за счет видимых полос, которые могут появиться при рендеринге теней. shadow_filter_smooth имеет эффект только в том случае, если shadow_filter равен SHADOW_FILTER_PCF5 или SHADOW_FILTER_PCF13.


int shadow_item_cull_mask = 1 🔗

  • void set_item_shadow_cull_mask(value: int)

  • int get_item_shadow_cull_mask()

Маска тени. Используется с LightOccluder2D для отбрасывания теней. Только окклюдеры с соответствующим CanvasItem.light_mask будут отбрасывать тени. См. также range_item_cull_mask, который влияет на то, какие объекты могут получать свет.


Описания метода

float get_height() const 🔗

Возвращает высоту источника света, которая используется в 2D-нормальном отображении. См. PointLight2D.height и DirectionalLight2D.height.


void set_height(height: float) 🔗

Устанавливает высоту света, которая используется в 2D-нормальном отображении. См. PointLight2D.height и DirectionalLight2D.height.