Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Light2D¶
继承: Node2D < CanvasItem < Node < Object
派生: DirectionalLight2D, PointLight2D
在 2D 环境中投射光线。
描述¶
在 2D 环境中投射光线。光线由颜色、能量值、模式(见常量)以及其他各种参数(与范围和阴影有关)来定义。
教程¶
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法¶
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 对应的像素值与其下方的像素值混合。
属性说明¶
该 Light2D 的混合模式。取值见 BlendMode 常量。
Color color = Color(1, 1, 1, 1)
🔗
该 Light2D 的颜色 Color。
如果为 true
,Light2D 将只在编辑场景时出现。
如果为 true
,Light2D 会发光。
Light2D 的能量值。该值越大,光线就越强。
int range_item_cull_mask = 1
🔗
层遮罩。CanvasItem.light_mask 与之匹配的对象才会被该 Light2D 影响。另见 shadow_item_cull_mask,影响的是哪些对象能够投射阴影。
注意:DirectionalLight2D 会忽略 range_item_cull_mask,始终对 2D 节点进行照明,无论其 CanvasItem.light_mask 的取值。
受 Light2D 影响的对象的最大层数值。
受 Light2D 影响的对象的最小层数值。
受 Light2D 影响的物体的最大 z
值。
受 Light2D 影响的物体的最小 z
值。
Color shadow_color = Color(0, 0, 0, 0)
🔗
该 Light2D 投下的影子的颜色 Color。
如果为 true
,则该 Light2D 将投下阴影。
ShadowFilter shadow_filter = 0
🔗
void set_shadow_filter(value: ShadowFilter)
ShadowFilter get_shadow_filter()
阴影过滤器类型。可能的取值见 ShadowFilter。
float shadow_filter_smooth = 0.0
🔗
阴影的平滑值。更高的值将导致更柔和的阴影,代价是在阴影渲染中可能出现可见的条纹。只有在 shadow_filter 为 SHADOW_FILTER_PCF5 或 SHADOW_FILTER_PCF13 时,shadow_filter_smooth 才有效果。
int shadow_item_cull_mask = 1
🔗
阴影遮罩。与 LightOccluder2D 一起使用以投射阴影。只有匹配 CanvasItem.light_mask 的遮挡物才会投射阴影。另见 range_item_cull_mask,它影响哪些对象可以接收光。
方法说明¶
返回该灯光的高度,用于 2D 法线映射。见 PointLight2D.height 和 DirectionalLight2D.height。
void set_height(height: float) 🔗
设置该灯光的高度,用于 2D 法线映射。见 PointLight2D.height 和 DirectionalLight2D.height。