Light
继承自:
描述
光源对象,用于在场景中创建和管理不同类型的光源(平行光、点光源、聚光灯),支持设置光照强度、颜色、阴影参数等属性,并可控制光源的激活状态和层级剔除
属性
ColorQuad LightColor |
|---|
| 光源颜色,用于设置光源发出的光线颜色。修改此属性会影响光源对场景中物体的着色效果。默认值为(255,255,255,255) |
bool Active |
|---|
| 光源激活状态,用于控制光源是否生效。当设置为false时,光源强度会被设置为0,光源不会对场景产生光照效果;设置为true时,光源按设定的强度值正常工作。默认值为true |
float RadiusRange |
|---|
| 光源照射半径范围,用于设置点光源和聚光灯的有效照射距离。超出此距离的物体会不受该光源影响。默认值为1000.0 |
float InnerConeAngle |
|---|
| 内锥角,用于设置聚光灯内部完全照明区域的角度,单位为度(°)。在聚光灯类型光源中,此角度范围内的区域会获得完全光照强度。默认值为0 |
float OuterConeAngle |
|---|
| 外锥角,用于设置聚光灯外部光照区域的边界角度,单位为度(°)。在聚光灯类型光源中,外锥角范围内的光照会从内锥角强度逐渐衰减到0。默认值为60.0 |
float FallOff |
|---|
| 光源衰减系数,用于控制光源从中心到边缘的光照衰减速度。数值越大,衰减越慢,光照范围越大;数值越小,衰减越快,光照范围越小。默认值为2.0 |
float SpecularScale |
|---|
| 镜面反射强度比例,用于控制光源对物体表面镜面高光的贡献度。数值越大,物体表面的高光反射效果越明显。默认值为1.0 |
float ShadowBias |
|---|
| 阴影偏移量,用于调整阴影投射的深度偏移,可以解决阴影投射时出现的阴影瑕疵(如阴影条纹、阴影抖动等)问题。数值越大,阴影距离物体表面越远,可以有效避免自阴影瑕疵,但过大的值可能导致阴影与物体分离。默认值为0.35 |
float ShadowSlopeBias |
|---|
| 阴影斜率偏移量,用于根据表面法线与光线方向的角度来调整阴影偏移。当表面与光线夹角较小时(接近平行),容易出现阴影瑕疵,此参数会根据表面的倾斜角度动态调整偏移量,倾斜角度越小,偏移量越大,从而更好地解决斜面阴影瑕疵问题。默认值为0.4 |
table CullingMasks |
|---|
| 灯光层级剔除遮罩,用于指定光源可以照射到的层级。在编辑器中以层级列表形式展示,每个层级显示其名称和启用/禁用开关,通过控制各层级的启用状态来指定哪些层级的物体会受到该光源的影响。该属性不能直接在Lua代码中设置,需要通过编辑器界面进行配置。默认情况下,所有可用层级都处于启用状态 |
代码示例
lua
local Workspace = game:GetService("WorkSpace")
-- 创建平行光源
local directionalLight = SandboxNode.new('Light', Workspace)
directionalLight.LightType = Enum.LightType.Direction
directionalLight.Intensity = 1.5
directionalLight.LightColor = ColorQuad.new(255, 255, 240, 255) -- 暖白色光
directionalLight.Active = true