SpotLight¶
继承: Light < VisualRender < Item3D < Item < Object
聚光灯,如反射聚光灯或灯笼。
描述¶
聚光灯是一种Light节点,它向特定方向发射锥形光。光通过距离衰减。这种衰减可以通过改变Light的能量、半径和衰减参数来配置。
注意:使用Mobile渲染方法时,每个网格资源上只能显示8个聚光灯。尝试在单个网格资源上显示超过8个聚光灯会导致聚光灯随着摄像机的移动而闪烁。使用兼容性渲染方法时,默认情况下每个网格资源上只能显示8个聚光灯,但这可以通过调整ProjectSettings.rendering/limits/opengl/max_lights_per_object来增加。
注意:当使用移动或兼容性渲染方法时,聚光灯只会正确影响能见度AABB与灯的AABB相交的网格。如果使用着色器使网格变形,使其超出AABB,则必须在网格上增加GeometryRender.extra_cull_margin。否则,光线可能在网格上不可见。
属性¶
属性说明¶
聚光灯的角度以度为单位。
注意:spot_angle不受Item3D.scale(光源的比例或其父级比例)的影响。
float spot_angle_attenuation = 1.0 🔗
聚光灯的角衰减曲线。另见spot_attenuation。
float spot_attenuation = 1.0 🔗
控制射灯的距离衰减功能。
0.0的值将在大部分范围内保持恒定的亮度,但会平滑地衰减范围边缘的光。使用2.0的值用于物理精确的光,因为它会导致适当的反方衰减。
注意:将衰减设置为2.0或更高可能会导致远处的物体接收到最小的光,即使在范围内也是如此。例如,在4096的范围内,100单位的物体衰减系数为0.0001。默认亮度为1时,该距离的光将不可见。
注意:使用负数或高于10.0的值可能会导致意想不到的结果。
聚光灯可达到的最大范围。请注意,根据使用中的spot_attenuation,有效照明区域可能看起来更小。无论使用中的spot_attenuation,光线永远不会到达该范围之外的任何东西。
注意:spot_range不受Item3D.scale(光的比例或其父级比例)的影响。