public float exp = 1;
public float speed = 0.2f; // 控制速度,默认5秒
public Skybox sky;
Material tempMaterial;
void Start () {
// 本质上是修改材质的属性,如果不新建一个材质会导致
// 改变之后变不回来,所以此脚本只在新建材质上进行修改
sky = GetComponent<Skybox>();
tempMaterial = new Material(sky.material);
RenderSettings.skybox = tempMaterial;
}
void Update () {
if (exp >= 0.2f) // 保证不完全变黑,可以去除
{
exp -= Time.deltaTime * speed;
tempMaterial.SetFloat("_Exposure", exp);
}
}
ps. 可以挂载到空物体上,通过控制物体的激活状态来控制是否执行
ps. 事先需要先将天空盒的材质拖入到脚本挂载对象的sky属性上
ps. 可以通过菜单栏window菜单选择Randering->Lighting->Environment查看当前天空盒的材质
参考原文链接: http://t.csdn.cn/Oaj91