PointLight¶
继承: Light < VisualRender < Item3D < Item < Object
全向光,如灯泡或蜡烛。
描述¶
全向光是一种向所有方向发射光的Light。光因距离而衰减,这种衰减可以通过改变其能量、半径和衰减参数来配置。
注意:使用Mobile渲染方法时,每个网格资源上只能显示8个全息灯。尝试在单个网格资源上显示超过8个全息灯会导致全息灯随着摄像机的移动而忽明忽暗。使用兼容性渲染方法时,默认情况下每个网格资源上只能显示8个全息灯,但这可以通过调整ProjectSettings.rendering/limits/opengl/max_lights_per_object来增加。
注意:当使用移动或兼容性渲染方法时,全息灯只会正确影响能见度AABB与灯的AABB相交的网格。如果使用着色器使网格变形,使其超出AABB,则必须在网格上增加GeometryRender.extra_cull_margin。否则,光线可能在网格上不可见。
属性¶
枚举¶
enum ShadowMode: 🔗
ShadowMode SHADOW_DUAL_PARABOLOID = 0
阴影被渲染成双抛物面纹理。比SHADOW_CUBE快,但质量较低。
ShadowMode SHADOW_CUBE = 1
阴影被渲染到立方体贴图。比SHADOW_DUAL_PARABOLOID慢,但质量更高。
属性说明¶
float omni_attenuation = 1.0 🔗
控制万向灯的距离衰减功能。
0.0的值将在大部分范围内保持恒定的亮度,但会平滑地衰减范围边缘的光。使用2.0的值用于物理精确的光,因为它会导致适当的反方衰减。
注意:将衰减设置为2.0或更高可能会导致远处的物体接收到最小的光,即使在范围内也是如此。例如,在4096的范围内,100单位的物体衰减系数为0.0001。默认亮度为1时,该距离的光将不可见。
注意:使用负数或高于10.0的值可能会导致意想不到的结果。
光线的半径。请注意,根据使用中的omni_attenuation,有效照明区域可能看起来更小。无论使用中的omni_attenuation,光线都不会到达该半径以外的任何地方。
注意:omni_range不受Item3D.scale(光源的比例或其父级比例)的影响。
ShadowMode omni_shadow_mode = 1 🔗
void set_shadow_mode(value: ShadowMode)
ShadowMode get_shadow_mode()
请参见ShadowMode。