灯光
灯光在游戏场景中具有不可或缺的作用,可以渲染场景的氛围,比如打丧尸的游戏,场景中应该是光线比较暗的,光线比较暗的才可以凸显恐怖的氛围。再比如做一些儿童类的游戏,场景中的光线比较光鲜才会让儿童的有愉快的心情。
灯光的分类
DirectionalLight 方向光
PointLight 点光源
SpotLight 聚光灯
AreaLight 区域光
灯光的属性
对于灯光来说其实就是一个空物体,只不过是空物体添加了一个Light组件。灯光的是由Light组件中的Type属性决定的。
Light中的四种选项
比如方向光中属性
点光源属性
聚光灯属性
区域光属性
通过以上的四张图片我们可以看到,每种灯光属性都是有一些区别的。
灯光分图层显示
代码和灯光的结合
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LightDemo : MonoBehaviour {
private GameObject m_lightObj;
private Light m_light;
public Texture m_texture;
// Use this for initialization
void Start() {
m_lightObj = GameObject.Find("MyLight");
//获取灯光游戏对象的Light组件
m_light = m_lightObj.GetComponent<Light>();
//改变灯光的颜色
m_light.color = new Color(1f, 1f, 1f);
//灯光的烘焙模式
//LightmapBakeType.Realtime 实时光
//LightmapBakeType.Baked 烘焙光
//LightmapBakeType.Mixed 混合光
m_light.lightmapBakeType = LightmapBakeType.Mixed;
//灯光的强度
m_light.intensity = 4;
//设置阴影效果 LightShadows.None 没有阴影效果
//LightShadows.Soft 软阴影效果
//LightShadows.Hard 硬阴影效果
m_light.shadows = LightShadows.None;
//设置Cookie
m_light.cookie = m_texture;
}
}