|
|
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- [ExecuteInEditMode]
- public class ColorAnimation : MonoBehaviour {
-
- float X, Y, Z;
- [Range(0, 10)]
- public float _ColorSpeed = 6;
- float ColorSpeed;
- Vector3 RandomRangeXYZ;
- [SerializeField]
- [Range(1, 300)]
- float Intensity=8;
- void OnEnable ()
- {
- RandomRangeXYZ.x = Random.Range(0f, 1f);
- RandomRangeXYZ.y = Random.Range(0f, 1f);
- RandomRangeXYZ.z = Random.Range(0f, 1f);
- }
-
- // Update is called once per frame
- void Update () {
- ColorSpeed += Time.deltaTime * _ColorSpeed;
- X = Mathf.Sin(ColorSpeed * RandomRangeXYZ.x) * 0.5f + 0.5f;
- Y = Mathf.Sin(ColorSpeed * RandomRangeXYZ.y) * 0.5f + 0.5f;
- Z = Mathf.Sin(ColorSpeed * RandomRangeXYZ.z) * 0.5f + 0.5f;
- float IntensityVariable = Mathf.Sin(ColorSpeed * RandomRangeXYZ.z) * 0.5f + 0.5f;
-
- Color RandomColor = new Color(X, Y, Z, 1);
- GetComponent<Renderer>().sharedMaterial.SetColor("_EmissionColor", IntensityVariable*Intensity * RandomColor);
- }
- }
|