Untitled
unknown
plain_text
a year ago
2.8 kB
11
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