FractalAnimation.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using Colorful;
  3. using DG.Tweening;
  4. using UnityEngine;
  5. public class FractalAnimation : BaseBehaviour
  6. {
  7. private void Start()
  8. {
  9. this._mat = base.GetComponent<Fractal>().Mat;
  10. this._mat.color = new Color(0f, 0f, 0f, 0.8f);
  11. this._mat.DOColor(new Color(1f, 1f, 1f, 0.8f), 5f).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.InOutSine);
  12. this._gaussianBlur = R.Camera.GameObject.AddComponent<GaussianBlur>();
  13. this._gaussianBlur.Shader = Shader.Find("Hidden/Colorful/Gaussian Blur");
  14. this._gaussianBlur.Passes = 3;
  15. this._gaussianBlur.Downscaling = 4f;
  16. DOTween.To(delegate(float a)
  17. {
  18. this._gaussianBlur.Amount = a;
  19. }, 0.655f, 1f, 3f).SetLoops(-1, LoopType.Yoyo).SetEase(Ease.InOutSine);
  20. }
  21. private void Update()
  22. {
  23. base.transform.localRotation = base.transform.localRotation * Quaternion.Euler(0f, this._speed * Time.deltaTime, 0f);
  24. }
  25. private void OnDestroy()
  26. {
  27. UnityEngine.Object.Destroy(this._gaussianBlur);
  28. }
  29. [SerializeField]
  30. private float _speed;
  31. private Material _mat;
  32. private GaussianBlur _gaussianBlur;
  33. }