OmniLight
Inherits: Light < VisualInstance < CullInstance < Spatial < Node < Object
全方位的光,如灯泡或蜡烛。
描述
全向光是一种向所有方向发光的 Light。光会因距离而衰减,并且可以通过更改其能量、半径和衰减参数来配置这种衰减。
注意:默认情况下,只有 32 个 OmniLight 可以同时影响单个网格资源。考虑将关卡拆分为多个网格,以降低超过 32 个灯光影响同一网格资源的可能性。拆分水平网格也将提高视锥体剔除效果,从而提高性能。如果您需要为每个网格使用更多灯光,您可以以着色器编译时间为代价增加 ProjectSettings.rendering/limits/rendering/max_lights_per_object。
教程
属性
| ||
| ||
| ||
|
枚举
enum ShadowMode:
SHADOW_DUAL_PARABOLOID = 0 —- 阴影被渲染到一个双抛物面纹理。比SHADOW_CUBE更快,但质量较差。
SHADOW_CUBE = 1 —- 阴影被渲染成一个cubemap。比SHADOW_DUAL_PARABOLOID慢,但质量更高。
enum ShadowDetail:
SHADOW_DETAIL_VERTICAL = 0 —- 在计算阴影时,垂直方向上使用更多的细节。
SHADOW_DETAIL_HORIZONTAL = 1 —- 在计算阴影时,在水平方向上使用更多的细节。
属性说明
- float omni_attenuation
Default |
|
Setter | set_param(value) |
Getter | get_param() |
光的衰减(下降)曲线。在检查器中,通过右键点击曲线,可以获得许多预设。
- float omni_range
Default |
|
Setter | set_param(value) |
Getter | get_param() |
光的半径。请注意,有效的照明区域可能看起来更小,这取决于使用的omni_attenuation。无论使用何种omni_attenuation,光线都不会到达这个半径以外的地方。
- ShadowDetail omni_shadow_detail
Default |
|
Setter | set_shadow_detail(value) |
Getter | get_shadow_detail() |
参阅ShadowDetail。
- ShadowMode omni_shadow_mode
Default |
|
Setter | set_shadow_mode(value) |
Getter | get_shadow_mode() |
参阅ShadowMode。