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角度浮点值