Light¶
Inherits: VisualInstance < CullInstance < Spatial < Node < Object
Inherited By: DirectionalLight, OmniLight, SpotLight
为不同类型的光节点提供基类。
描述¶
Light 是灯光节点的抽象基类。它不能被实例化,所以它不应该被直接使用。其他类型的灯光节点都是继承自它。灯光包含用于照明的常用变量和参数。
教程¶
属性¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
方法¶
void |
枚举¶
enum Param:
PARAM_ENERGY = 0 --- 访问light_energy的常数。
PARAM_INDIRECT_ENERGY = 1 --- 访问light_indirect_energy的常数。
PARAM_SIZE = 2 --- 访问light_size的常数。
PARAM_SPECULAR = 3 --- 访问light_specular的常数。
PARAM_RANGE = 4 --- 用于访问 OmniLight.omni_range 或 SpotLight.spot_range 的常量。
PARAM_ATTENUATION = 5 --- 用于访问 OmniLight.omni_attenuation 或 SpotLight.spot_attenuation 的常量。
PARAM_SPOT_ANGLE = 6 --- 用于访问 SpotLight.spot_angle 的常量。
PARAM_SPOT_ATTENUATION = 7 --- 用于访问 SpotLight.spot_angle_attenuation 的常量。
PARAM_CONTACT_SHADOW_SIZE = 8 --- 用于访问 shadow_contact 的常量。
PARAM_SHADOW_MAX_DISTANCE = 9 --- 用于访问 DirectionalLight.directional_shadow_max_distance 的常量。
PARAM_SHADOW_SPLIT_1_OFFSET = 10 --- 用于访问 DirectionalLight.directional_shadow_split_1 的常量。
PARAM_SHADOW_SPLIT_2_OFFSET = 11 --- 用于访问 DirectionalLight.directional_shadow_split_2 的常量。
PARAM_SHADOW_SPLIT_3_OFFSET = 12 --- 用于访问 DirectionalLight.directional_shadow_split_3 的常量。
PARAM_SHADOW_NORMAL_BIAS = 13 --- 用于访问 DirectionalLight.directional_shadow_normal_bias 的常量。
PARAM_SHADOW_BIAS = 14 --- 用于访问 shadow_bias 的常量。
PARAM_SHADOW_BIAS_SPLIT_SCALE = 15 --- 用于访问 DirectionalLight.directional_shadow_bias_split_scale 的常量。
PARAM_MAX = 16 --- 表示 Param 枚举的大小。
enum BakeMode:
BAKE_DISABLED = 0 --- 烘焙时忽略灯光。
注意:隐藏灯光不会影响烘焙。
BAKE_INDIRECT = 1 --- 只会烘焙间接照明(默认)。
BAKE_ALL = 2 --- 直接光和间接光都将被烘焙。
注意: 如果不想让灯光出现两次(动态和烘焙),则应隐藏灯光。
属性说明¶
bool editor_only
Default |
|
Setter |
set_editor_only(value) |
Getter |
is_editor_only() |
如果 true
,灯光只在编辑器中出现,在运行时将不可见。
BakeMode light_bake_mode
Default |
|
Setter |
set_bake_mode(value) |
Getter |
get_bake_mode() |
灯光的烘焙模式。参阅BakeMode。
Color light_color
Default |
|
Setter |
set_color(value) |
Getter |
get_color() |
光的颜色。一个过亮overbright颜色可用于实现等效于增加光的能量 light_energy 的结果。
int light_cull_mask
Default |
|
Setter |
set_cull_mask(value) |
Getter |
get_cull_mask() |
灯光将影响所选图层中的对象。
float light_energy
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
光的强度乘数,注,这不是物理单位。对于 OmniLight 和 SpotLight,更改此值只会更改灯光颜色的强度,而不会更改灯光的半径。
float light_indirect_energy
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
与间接光(光反射)一起使用的辅助倍增器。这适用于 BakedLightmap 和 GIProbe。
bool light_negative
Default |
|
Setter |
set_negative(value) |
Getter |
is_negative() |
如果为 true
,则光线的效果会逆转,使区域变暗并投射明亮的阴影。
float light_size
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
灯光的大小,以Godot的单位。只在烘烤的光照贴图中考虑,并且只在light_bake_mode被设置为BAKE_ALL时考虑。增加这个值会使阴影看起来更模糊。这可以在一定程度上用于模拟区域灯光。
float light_specular
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
受灯光影响的对象中镜面反射斑点的强度。在0
处,灯光变成纯漫反射灯光。当不烘焙发射时,这可用于在发射表面上方放置灯光时避免不真实的反射。
float shadow_bias
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
用于调整阴影表现。值太小会导致自阴影(“阴影暗疮”),而值太大会导致阴影与之分离(“彼得平移”)。根据需要进行调整。
Color shadow_color
Default |
|
Setter |
set_shadow_color(value) |
Getter |
get_shadow_color() |
光线投射的阴影的颜色。
float shadow_contact
Default |
|
Setter |
set_param(value) |
Getter |
get_param() |
尝试减少 shadow_bias 差距。
bool shadow_enabled
Default |
|
Setter |
set_shadow(value) |
Getter |
has_shadow() |
如果为true
,光线会投下阴影。
bool shadow_reverse_cull_face
Default |
|
Setter |
set_shadow_reverse_cull_face(value) |
Getter |
get_shadow_reverse_cull_face() |
如果 true
,则反转网格的背面剔除。当你有一个后面有灯的平面网格时,这会很有用。如果需要在网格的两侧投射阴影,请使用 GeometryInstance.SHADOW_CASTING_SETTING_DOUBLE_SIDED 将网格设置为使用双面阴影。
方法说明¶
返回指定的 Param 参数的值。
设置指定的 Param 参数的值。