Untitled
unknown
plain_text
5 months ago
2.8 kB
8
Indexable
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering.Universal; using static UnityEngine.GraphicsBuffer; public class FullScreenTestController : MonoBehaviour { private Quaternion startDirection; private Quaternion _180Direction; public Transform target; public Transform player; [Header("Time")] [SerializeField] private float _hurtDitherFadeInTime = 5; [SerializeField] private float _hurtColorResFadeInTime = 5; [Header("References")] [SerializeField] private ScriptableRendererFeature _fullscreeneffect; [SerializeField] private Material _material; private int _DitherSpread = Shader.PropertyToID("_DitherSpread"); private int _ColorResolution = Shader.PropertyToID("_ColorResolution"); private const int DITHERSPREAD_START_AMOUNT = 0; private const int COLORRESOLUTION_START_AMOUNT = 1000; private void Start() { // _fullscreeneffect.SetActive(false); startDirection = Camera.main.transform.rotation; _material.SetFloat(_DitherSpread, DITHERSPREAD_START_AMOUNT); _material.SetFloat(_ColorResolution, COLORRESOLUTION_START_AMOUNT); } private void Update() { if (Input.GetKey("e")) { // _fullscreeneffect.SetActive(true); StartCoroutine(Death()); } _180Direction = Camera.main.transform.rotation; float angle = Quaternion.Angle(startDirection, _180Direction); float lerpedDither = Mathf.Lerp(DITHERSPREAD_START_AMOUNT, -0.09f, (angle/4 / 180)); float lerpedColorRes = Mathf.Lerp(COLORRESOLUTION_START_AMOUNT, 1000f, (angle/4 / 180)); _material.SetFloat(_DitherSpread, lerpedDither); _material.SetFloat(_ColorResolution, lerpedColorRes); Debug.Log(angle); } private IEnumerator Death() { _fullscreeneffect.SetActive(true); _material.SetFloat(_DitherSpread, DITHERSPREAD_START_AMOUNT); _material.SetFloat(_ColorResolution, COLORRESOLUTION_START_AMOUNT); float elapsedTime = 0; while (elapsedTime < _hurtDitherFadeInTime) { while (elapsedTime < _hurtColorResFadeInTime) { elapsedTime += Time.deltaTime; float lerpedDither = Mathf.Lerp(DITHERSPREAD_START_AMOUNT, -0.09f, (elapsedTime / _hurtDitherFadeInTime)); float lerpedColorRes = Mathf.Lerp(COLORRESOLUTION_START_AMOUNT, 0f, (elapsedTime / _hurtColorResFadeInTime)); _material.SetFloat(_DitherSpread, lerpedDither); _material.SetFloat(_ColorResolution, lerpedColorRes); yield return null; } } } }
Editor is loading...
Leave a Comment