Files
Cielonos/Assets/Plugins/AllIn13DShader/Demo/Scripts/AllIn1FadeLight.cs
SoulliesOfficial d94241f36c 场景设计
2026-01-12 03:22:16 -05:00

27 lines
859 B
C#

using UnityEngine;
namespace AllIn13DShader
{
[RequireComponent(typeof(Light))]
public class AllIn1FadeLight : MonoBehaviour
{
[SerializeField] private float fadeDuration = 0.1f;
[SerializeField] private bool destroyWhenFaded = true;
private Light targetLight;
private float animationRatioRemaining = 1f;
private float iniLightIntensity;
private void Start()
{
targetLight = GetComponent<Light>();
iniLightIntensity = targetLight.intensity;
}
private void Update()
{
targetLight.intensity = Mathf.Lerp(0f, iniLightIntensity, animationRatioRemaining);
animationRatioRemaining -= Time.deltaTime / fadeDuration;
if(destroyWhenFaded && animationRatioRemaining <= 0f) Destroy(gameObject);
}
}
}