123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.Experimental.Rendering;
- using UnityEngine.Rendering;
- public class HomeSunLight : MonoBehaviour
- {
- // Start is called before the first frame update
- public Light mainLight;
- public GameObject targetCamera;
- public Material daySkybox;
- public Material nightSkybox;
- void Start()
- {
- GameObject homeLight = GameObject.Find("Home Light");
- int hour = System.DateTime.Now.Hour;
- //hour = 7;
- float rotateAngle = (12 - hour) * 13;
- //print(rotateAngle);
- if ( hour >=22 || hour < 5) // Éîҹʱ¼ä
- {
- mainLight.intensity = 0.8f;
- //targetCamera.GetComponent<Camera>().backgroundColor = new Color(22, 42, 113, 239);
- UnityEngine.RenderSettings.skybox = nightSkybox;
- UnityEngine.RenderSettings.ambientIntensity = 0.2f;
- UnityEngine.RenderSettings.reflectionIntensity = 0.2f;
- homeLight.GetComponent<Light>().intensity = 0.3f;
- }
- else if (hour < 6 || hour >= 18)
- {
- // night time
- mainLight.intensity = 0.1f;
- //targetCamera.GetComponent<Camera>().backgroundColor = new Color(22, 42, 113, 239);
- UnityEngine.RenderSettings.skybox = nightSkybox;
- UnityEngine.RenderSettings.ambientIntensity = 0.2f;
- UnityEngine.RenderSettings.reflectionIntensity = 0.2f;
- homeLight.GetComponent<Light>().intensity = 1f;
- }
- else
- {
- Debug.Log("day time");
- // day time
- mainLight.intensity = 0.7f;
- //targetCamera.GetComponent<Camera>().clearFlags = CameraClearFlags.SolidColor;
- //targetCamera.GetComponent<Camera>().backgroundColor = new Color(139, 202, 255, 203);
- UnityEngine.RenderSettings.ambientMode = AmbientMode.Flat;
- UnityEngine.RenderSettings.ambientLight = new Color32(200,200,200,180);
- UnityEngine.RenderSettings.skybox = daySkybox;
- UnityEngine.RenderSettings.ambientIntensity = 1f;
- UnityEngine.RenderSettings.reflectionIntensity = 0.5f;
- homeLight.GetComponent<Light>().intensity = 0.9f;
- }
- DynamicGI.UpdateEnvironment();
- }
- // Update is called once per frame
- void Update()
- {
-
- }
- }
|