Skip to content
光照系统

光照系统

阅读本文大概需要 15 分钟。

本文概述了光照系统的概念,以及他的所有基础属性,以及如何在编辑器中,如何使用光照系统。

光照系统是什么?都有哪些功能?

光照系统是游戏场景当中主体光源效果的世界对象,可以改变环境和氛围效果等。目前包括全局属性、平行光属性、天光属性。

  • 全局属性:是针对光源的整体变化的改动。
  • 平行光属性:是指平行光源照射到环境下的效果,主要是模拟太阳光照射的环境效果。
  • 天光属性:是指物体反射的光源效果,主要是烘托整体的环境气氛。

全局属性

偏色值

  • 属性说明:全局的后处理调色,调整全局的灯光颜色效果。

  • 演示效果:

  • 相关接口:
ts
//设置偏色值颜色
Lighting.lightColor = new LinearColor(255,0,0)
//设置偏色值颜色
Lighting.lightColor = new LinearColor(255,0,0)

曝光补偿

  • 属性说明:曝光的控制方式,比如环境偏暗就需要适当增加曝光值,突显画面的清晰度。

  • 演示效果:

  • 相关接口:
ts
//设置曝光补偿值
Lighting.ev100 = 0.5
//设置曝光补偿值
Lighting.ev100 = 0.5

平行光属性

朝向角度

  • 属性说明:决定太阳在天空中的横向位置(XY轴)
  • 数值范围:【-180,180】
  • 演示效果:

  • 相关接口:
ts
//设置太阳朝向角度为30
Lighting.yawAngle = 30;
//设置太阳朝向角度为30
Lighting.yawAngle = 30;

俯仰角度

  • 属性说明:决定太阳在天空中的纵向位置(Z轴)
  • 数值范围:【-90,90】
  • 演示效果:

  • 相关接口:
ts
//设置太阳俯仰角度为-30
Lighting.pitchAngle = -30;
//设置太阳俯仰角度为-30
Lighting.pitchAngle = -30;

平行光强度

  • 属性说明:开发者可通过滑动滚轮调整平行光强度。
  • 数值范围:0-100。
强度为0时候的地面

强度为50时候的地面

强度为100时候的地面

  • 相关接口:
ts
//设置平行光强度为10
Lighting.directionalLightIntensity = 10;
//设置平行光强度为10
Lighting.directionalLightIntensity = 10;

平行光颜色

  • 属性说明:开发者可选择平行光的颜色。最终生成的地面颜色由材质、贴图与光照共同决定。

颜色选择
  • 下面以水贴图作为地面图片演示效果。

光照强度为 0。

光照强度为0时的地面

色调使用纯红色(R=1.0,G=0,B=0),光照强度 100。

色调使用纯绿色(R=0.0,G=1.0,B=0),光照强度 100。

色调使用纯蓝色(R=0.0,G=0.0,B=1.0),光照强度 100。

  • 相关接口:
ts
//设置平行光颜色为淡黄色
Lighting.directionalLightColor = new Type.LinearColor(255,240,200);
//设置平行光颜色为淡黄色
Lighting.directionalLightColor = new Type.LinearColor(255,240,200);

投射阴影

  • 投射阴影:是否启动阴影效果。
有阴影

无阴影

  • 阴影距离:影响阴影的视觉表现。

    • 此值越大,图越模糊,阴影像素越大。
阴影距离为5000

  • 此值越小,图越清晰,阴影像素越小。
阴影距离为1000

  • 相关接口:
ts
//关闭投射阴影
Lighting.castShadowsEnabled = false;

//开启投射阴影
Lighting.castShadowsEnabled = true;
//关闭投射阴影
Lighting.castShadowsEnabled = false;

//开启投射阴影
Lighting.castShadowsEnabled = true;

色温

  • 是否启用色温:勾选后启用色温效果
  • 色温:太阳温度的大小,范围【1000,14000】

温度1000

温度4000

温度14000
  • 相关接口:
ts
//关闭太阳光色温
Lighting.temperatureEnabled = false;

//开启太阳光色温
Lighting.temperatureEnabled = true;

//设置太阳光色温为4000
Lighting.temperature = 4000;
//关闭太阳光色温
Lighting.temperatureEnabled = false;

//开启太阳光色温
Lighting.temperatureEnabled = true;

//设置太阳光色温为4000
Lighting.temperature = 4000;

天光属性

天光贴图

  • 功能说明:天光贴图是我们预设好的反射球贴图,可以让用户可以快速选择环境的反射效果,营造想要的气氛。

  • 操作步骤:

  • 首先我们打开【资源库】的【天空盒】列表,从中找到【反射球】的类型资源

  • 然后可以将其中的贴图拖入到天光贴图中。

天光强度

  • 功能说明:物体反射光的效果强弱程度;数值越低效果越弱,数值越高效果越强
天光强度为0.2时:整个世界的光线昏暗

天光强度为1.0时:整个世界的光线明亮

天光强度为6.0时:整个世界的光线过于耀眼

  • 相关接口:
ts
//设置天光强度为2
Lighting.skyLightIntensity = 2;
//设置天光强度为2
Lighting.skyLightIntensity = 2;

天光颜色

  • 功能说明:天光色调是照射在整个世界的天光的色调;可根据开发者的喜好进行调整。
天光色调为红 FF000000

天光色调为绿 00FF0000

天光色调为蓝 0000FF00

  • 相关接口:
ts
//设置天光强度为绿色
Lighting.skyLightColor = new Type.LinearColor(255, 0, 0);
//设置天光强度为绿色
Lighting.skyLightColor = new Type.LinearColor(255, 0, 0);