2.添加了Shader的框架(与屏幕后特效相关) 1)加入了LightController的代码文件,主要控制烛光等灯光的空气扰动现象 2)加入了VolumeController的代码文件,主要与屏幕后特效的控制变量相关 3)在场景中加入了Volume的对象,控制屏幕后特效Shader的运行 3.挪动了场景中煤油灯的位置,并且为煤油灯添加了会产生空气扰动使光范围发生变化的功能 4.为测试场景中的镜子添加了临时提示光边Shader
34 lines
858 B
C#
34 lines
858 B
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
|
|
public class VolumeController : MonoBehaviour
|
|
{
|
|
//屏幕后处理控制 霄酱写的
|
|
public VolumeProfile VolumeProfile;
|
|
|
|
private List<VolumeComponent> VolumeComponents;
|
|
public float Cycle;
|
|
public float rate;
|
|
|
|
private float origin;
|
|
private float update;
|
|
|
|
// Start is called before the first frame update
|
|
void Start()
|
|
{
|
|
VolumeComponents = VolumeProfile.components;
|
|
origin = VolumeComponents[0].parameters[1].GetValue<float>();
|
|
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
update = origin;
|
|
update = Cycle * Mathf.Sin(Time.fixedTime * Mathf.PI * rate) + origin;
|
|
VolumeComponents[0].parameters[1].SetValue(new FloatParameter(update));
|
|
}
|
|
}
|