DirectionalLight
Inherits: Light < VisualInstance < CullInstance < Spatial < Node < Object
来自远处的平行光源,如太阳光。
描述
平行光是一种 Light 类型的节点,它可以模拟出覆盖整个场景的无限多的平行光线。可以用作离场景很远、具有强烈强度的灯光,模拟太阳光或月光。DirectionalLight 变换的世界空间坐标(原点)会被忽略。只有基点会被用来确定光线方向。
教程
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
shadow_bias |
|
枚举
enum ShadowMode:
SHADOW_ORTHOGONAL = 0 —- 从正交的角度渲染整个场景的阴影图。这是最快的方向性阴影模式。可能会导致近距离物体的阴影更模糊。
SHADOW_PARALLEL_2_SPLITS = 1 —- 将视图分割成2个区域,每个区域都有自己的阴影图。这个阴影模式是SHADOW_ORTHOGONAL和SHADOW_PARALLEL_4_SPLITS在性能上的折中。
SHADOW_PARALLEL_4_SPLITS = 2 —- 将视图frustum分成4个区域,每个区域都有自己的阴影图。这是最慢的方向性阴影模式。
enum ShadowDepthRange:
SHADOW_DEPTH_RANGE_STABLE = 0 —- 当相机移动时,保持影子稳定,但代价是降低有效影子分辨率。
SHADOW_DEPTH_RANGE_OPTIMIZED = 1 —- 尝试实现最大的阴影分辨率。可能导致阴影边缘出现锯齿效果。此模式通常在相机经常高速移动的游戏中效果最好,例如大多数赛车游戏。
属性说明
- float directional_shadow_bias_split_scale
Default |
|
Setter | set_param(value) |
Getter | get_param() |
远处阴影分裂的额外偏置量。如果自身阴影只产生远处的分裂,增加这个值可以修复它们。
- bool directional_shadow_blend_splits
Default |
|
Setter | set_blend_splits(value) |
Getter | is_blend_splits_enabled() |
如果true
,则会牺牲阴影细节,以换取更平滑的分割之间的过渡。
- ShadowDepthRange directional_shadow_depth_range
Default |
|
Setter | set_shadow_depth_range(value) |
Getter | get_shadow_depth_range() |
优化阴影渲染的细节与运动。参阅ShadowDepthRange。
- float directional_shadow_max_distance
Default |
|
Setter | set_param(value) |
Getter | get_param() |
阴影分割的最大距离。
- ShadowMode directional_shadow_mode
Default |
|
Setter | set_shadow_mode(value) |
Getter | get_shadow_mode() |
灯光的阴影渲染算法。参阅ShadowMode。
- float directional_shadow_normal_bias
Default |
|
Setter | set_param(value) |
Getter | get_param() |
当物体垂直于光线时,可用于修复自身阴影的特殊情况。
- float directional_shadow_split_1
Default |
|
Setter | set_param(value) |
Getter | get_param() |
相机到影子分割1的距离。相对于directional_shadow_max_distance。只有当directional_shadow_mode是SHADOW_PARALLEL_2_SPLITS
或SHADOW_PARALLEL_4_SPLITS
时才使用。
- float directional_shadow_split_2
Default |
|
Setter | set_param(value) |
Getter | get_param() |
阴影分割1到分割2的距离。相对于directional_shadow_max_distance。仅在directional_shadow_mode为SHADOW_PARALLEL_2_SPLITS
或SHADOW_PARALLEL_4_SPLITS
时使用。
- float directional_shadow_split_3
Default |
|
Setter | set_param(value) |
Getter | get_param() |
从影子分割2到分割3的距离。相对于directional_shadow_max_distance。只有当directional_shadow_mode为SHADOW_PARALLEL_4_SPLITS
时才使用。