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);
- }
- }
|