Skip to content
Lighting

场景 / Lighting

Lighting Class
​

光照


光照是指模拟现实世界中的光源对物体的照射和影响。

在三维渲染中,光照用于计算物体的明暗、阴影和反射等效果,以增加场景的真实感和立体感。

光照模型通常包括光源的类型、颜色、强度以及物体表面的材质属性等因素。常见的光照模型有平行光、点光源等。

它包括一系列可调整的属性,您可以使用这些静态属性和方法来更改照明的显示方式以及与其他对象的交互方式,如照明属性中所概述。

使用示例: 可按如下操作控制编辑器后处理实时效果。

创建一个名为"LightingExample"的脚本,放置在对象栏中,打开脚本,输入以下代码,运行游戏,你将可以通过+和-键控制光照亮度

ts
@Component
export default class LightingExample extends mw.Script {
    // 当脚本被实例后,会在第一帧更新前调用此函数
    protected async onStart(): `Promise`<`void`\> {
        if(SystemUtil.isClient())
        {
            mw.InputUtil.onKeyDown(Keys.Add,()=>{
                // 小键盘+建,增加光照亮度,依次递增1个单位
                Lighting.skyLightIntensity = Lighting.skyLightIntensity + 1;
                Lighting.directionalLightIntensity = Lighting.directionalLightIntensity + 1;
                console.log("当前光源亮度:" + Lighting.brightness);
                // 同时改变平行光角度,依次递增5(角度)
                Lighting.pitchAngle = Lighting.pitchAngle + 5;
                console.log("当前平行光角度:" + Lighting.pitchAngle);
            });
            mw.InputUtil.onKeyDown(Keys.Subtract,()=>{
                // 小键盘-建,降低光照亮度,依次递减1个单位
                Lighting.skyLightIntensity = Lighting.skyLightIntensity - 1;
                Lighting.directionalLightIntensity = Lighting.directionalLightIntensity - 1;
                // 同时改变平行光角度,依次递减5(角度)
                Lighting.pitchAngle = Lighting.pitchAngle - 5;
                console.log("当前平行光角度:" + Lighting.pitchAngle);
            });
        }
    }
}
@Component
export default class LightingExample extends mw.Script {
    // 当脚本被实例后,会在第一帧更新前调用此函数
    protected async onStart(): `Promise`<`void`\> {
        if(SystemUtil.isClient())
        {
            mw.InputUtil.onKeyDown(Keys.Add,()=>{
                // 小键盘+建,增加光照亮度,依次递增1个单位
                Lighting.skyLightIntensity = Lighting.skyLightIntensity + 1;
                Lighting.directionalLightIntensity = Lighting.directionalLightIntensity + 1;
                console.log("当前光源亮度:" + Lighting.brightness);
                // 同时改变平行光角度,依次递增5(角度)
                Lighting.pitchAngle = Lighting.pitchAngle + 5;
                console.log("当前平行光角度:" + Lighting.pitchAngle);
            });
            mw.InputUtil.onKeyDown(Keys.Subtract,()=>{
                // 小键盘-建,降低光照亮度,依次递减1个单位
                Lighting.skyLightIntensity = Lighting.skyLightIntensity - 1;
                Lighting.directionalLightIntensity = Lighting.directionalLightIntensity - 1;
                // 同时改变平行光角度,依次递减5(角度)
                Lighting.pitchAngle = Lighting.pitchAngle - 5;
                console.log("当前平行光角度:" + Lighting.pitchAngle);
            });
        }
    }
}

Table of contents ​

Accessors
​

castShadowsEnabled(): boolean client
获取是否开启阴影
directionalLightColor(): LinearColor client
获取平行光颜色
directionalLightIntensity(): number client
获取平行光强度
ev100(): number client
获取曝光值
lightColor(): LinearColor
获取偏色值
pitchAngle(): number client
获取俯仰角度
shadowsDistance(): number client
获取阴影距离
skyLightColor(): LinearColor client
获取天光颜色
skyLightIntensity(): number client
获取天光强度
skyLightTextureId(): string client
获取天光颜色
temperature(): number client
获取色温
temperatureEnabled(): boolean client
获取是否开启色温
yawAngle(): number client
获取朝向角度

Accessors ​


castShadowsEnabled
​

• Static get castShadowsEnabled(): boolean client

• Static set castShadowsEnabled(value): void client

获取是否开启阴影

Returns ​

booleantrue或false

设置是否开启阴影

Parameters ​

value boolean布尔值

directionalLightColor
​

• Static get directionalLightColor(): LinearColor client

• Static set directionalLightColor(value): void client

获取平行光颜色

Returns ​

LinearColor平行光颜色

设置平行光颜色

Parameters ​

value LinearColor平行光颜色

directionalLightIntensity
​

• Static get directionalLightIntensity(): number client

• Static set directionalLightIntensity(value): void client

获取平行光强度

Returns ​

number强度值

设置平行光强度

Parameters ​

value number强度值

ev100
​

• Static get ev100(): number client

• Static set ev100(value): void client

获取曝光值

Returns ​

number曝光浮点值

设置曝光值

Parameters ​

value number曝光浮点值

lightColor
​

• Static get lightColor(): LinearColor

• Static set lightColor(newLightColor): void

获取偏色值

Returns ​

LinearColor偏色值

设置偏色值

Parameters ​

newLightColor LinearColor新偏色值

pitchAngle
​

• Static get pitchAngle(): number client

• Static set pitchAngle(value): void client

获取俯仰角度

Returns ​

number俯仰角度

设置俯仰角度 (-90 ~ 90)

Parameters ​

value number角度浮点值

shadowsDistance
​

• Static get shadowsDistance(): number client

• Static set shadowsDistance(value): void client

获取阴影距离

Returns ​

number阴影距离(cm)

设置阴影距离

Parameters ​

value number距离(cm)

skyLightColor
​

• Static get skyLightColor(): LinearColor client

• Static set skyLightColor(value): void client

获取天光颜色

Returns ​

LinearColor天光颜色

设置天光颜色

Parameters ​

value LinearColor天光颜色

skyLightIntensity
​

• Static get skyLightIntensity(): number client

• Static set skyLightIntensity(value): void client

获取天光强度

Returns ​

number强度值

设置天光强度

Parameters ​

value number强度值

skyLightTextureId
​

• Static get skyLightTextureId(): string client

• Static set skyLightTextureId(value): void client

获取天光颜色

Returns ​

string天光颜色

设置光照贴图

Parameters ​

value string number光照贴图ID

temperature
​

• Static get temperature(): number client

• Static set temperature(value): void client

获取色温

Returns ​

numbertrue或false

设置色温 (1000 ~ 14000)

Parameters ​

value number色温浮点值

temperatureEnabled
​

• Static get temperatureEnabled(): boolean client

• Static set temperatureEnabled(value): void client

获取是否开启色温

Returns ​

booleantrue或false

设置是否开启色温

Parameters ​

value boolean布尔值

yawAngle
​

• Static get yawAngle(): number client

• Static set yawAngle(value): void client

获取朝向角度

Returns ​

number朝向角度

设置朝向角度 (-180 ~ 180)

Parameters ​

value number角度浮点值