using UnityEngine; [ExecuteAlways] public class GlobalShaderVariableSetting : MonoBehaviour { [Range(0, 1)] public float nightColorControl; public Color ambientDayColor; public Color dirLtColorDayColor; public Color ambientNightColor; public Color dirLtColorNightColor; int AmbientDayColorHash = Shader.PropertyToID("_AmbientDayColor"); int DirLtColorDayColorHash = Shader.PropertyToID("_DirLtColorDayColor"); int AmbientNightColorHash = Shader.PropertyToID("_AmbientNightColor"); int DirLtColorNightColorHash = Shader.PropertyToID("_DirLtColorNightColor"); int NightColorControlHash = Shader.PropertyToID("_NightColorControl"); // Update is called once per frame void Update() { Shader.SetGlobalColor(AmbientDayColorHash, ambientDayColor); Shader.SetGlobalColor(DirLtColorDayColorHash, dirLtColorDayColor); Shader.SetGlobalColor(AmbientNightColorHash, ambientNightColor); Shader.SetGlobalColor(DirLtColorNightColorHash, dirLtColorNightColor); Shader.SetGlobalFloat(NightColorControlHash, nightColorControl); } }