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 對應的圖元值與其下方的圖元值混合。
屬性說明
The Light2D's blend mode.
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()
Shadow filter type.
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。