OmniLight

Inherits: Light < VisualInstance < CullInstance < Spatial < Node < Object

全方位的光,如灯泡或蜡烛。

描述

全向光是一种向所有方向发光的 Light。光会因距离而衰减,并且可以通过更改其能量、半径和衰减参数来配置这种衰减。

注意:默认情况下,只有 32 个 OmniLight 可以同时影响单个网格资源。考虑将关卡拆分为多个网格,以降低超过 32 个灯光影响同一网格资源的可能性。拆分水平网格也将提高视锥体剔除效果,从而提高性能。如果您需要为每个网格使用更多灯光,您可以以着色器编译时间为代价增加 ProjectSettings.rendering/limits/rendering/max_lights_per_object

教程

属性

float

omni_attenuation

1.0

float

omni_range

5.0

ShadowDetail

omni_shadow_detail

1

ShadowMode

omni_shadow_mode

1

枚举

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 —- 在计算阴影时,在水平方向上使用更多的细节。

属性说明

Default

1.0

Setter

set_param(value)

Getter

get_param()

光的衰减(下降)曲线。在检查器中,通过右键点击曲线,可以获得许多预设。


Default

5.0

Setter

set_param(value)

Getter

get_param()

光的半径。请注意,有效的照明区域可能看起来更小,这取决于使用的omni_attenuation。无论使用何种omni_attenuation,光线都不会到达这个半径以外的地方。


Default

1

Setter

set_shadow_detail(value)

Getter

get_shadow_detail()

参阅ShadowDetail


Default

1

Setter

set_shadow_mode(value)

Getter

get_shadow_mode()

参阅ShadowMode