| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | using System.Collections;using System.Collections.Generic;using UnityEngine;[ExecuteInEditMode]public class EnvironmentCom : MonoBehaviour{    [Range(0,1)]    public float _SkyTime;    public Transform _SunTrans;    public Color SkyUpColor1;    [Range(0,1)]    public float SkyUpColor2Hight=0.8f;    public Color SkyUpColor2;    public Color SkyUpColor2Back;    public Color SkyDownColor;       public float HorizontalColorLength;    [ColorUsage(false, true)]    public Color HorizontalColor;    [ColorUsage(false, true)]    public Color HorizontalColorBack;    public float SunSize;    [ColorUsage(false, true)]    public Color SunColor;    [ColorUsage(false, true)]    public Color SunGlowColor;    #region ID    int SkyUpColor1ID;    int SkyUpColor2ID;    int SkyUpColor2BackID;    int SkyUpColor2HightID;    int SkyDownColorID;    int HorizontalColorID;    int HorizontalColorBackID;    int HorizontalColorLengthID;    int SunDirID;    int SunSizeID;    int SunColorID;    int SunGlowColorID;    #endregion    private void Awake()    {        GetKey();    }    void Update()    {        UpdateProperty();    }    void GetKey() {        SkyUpColor1ID = Shader.PropertyToID("_SkyUpColor1");        SkyUpColor2HightID = Shader.PropertyToID("_SkyUpColor2Hight");        SkyUpColor2ID = Shader.PropertyToID("_SkyUpColor2");        SkyUpColor2BackID = Shader.PropertyToID("_SkyUpColor2Back");        SkyDownColorID = Shader.PropertyToID("_SkyDownColor");        HorizontalColorID = Shader.PropertyToID("_HorizontalColor");        HorizontalColorBackID = Shader.PropertyToID("_HorizontalColorBack");        HorizontalColorLengthID = Shader.PropertyToID("_HorizontalColorLength");        SunDirID = Shader.PropertyToID("_SunDir");        SunSizeID = Shader.PropertyToID("_SunSize");        SunColorID = Shader.PropertyToID("_SunColor");        SunGlowColorID = Shader.PropertyToID("_SunGlowColor");    }    void UpdateProperty() {        Shader.SetGlobalColor(SkyUpColor1ID,SkyUpColor1);        Shader.SetGlobalFloat(SkyUpColor2HightID, SkyUpColor2Hight);        Shader.SetGlobalColor(SkyUpColor2ID, SkyUpColor2);        Shader.SetGlobalColor(SkyUpColor2BackID, SkyUpColor2Back);         Shader.SetGlobalColor(SkyDownColorID, SkyDownColor);        Shader.SetGlobalColor(HorizontalColorID, HorizontalColor);        Shader.SetGlobalColor(HorizontalColorBackID, HorizontalColorBack);        Shader.SetGlobalFloat(HorizontalColorLengthID, HorizontalColorLength);        Shader.SetGlobalVector(SunDirID, _SunTrans?-_SunTrans.forward:Vector3.one);        Shader.SetGlobalFloat(SunSizeID, SunSize);        Shader.SetGlobalColor(SunColorID, SunColor);        Shader.SetGlobalColor(SunGlowColorID, SunGlowColor);    }}
 |