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 参数的值。