32 lines
1.0 KiB
C#
32 lines
1.0 KiB
C#
using UnityEngine;
|
|
|
|
namespace OnlyScove.Scripts
|
|
{
|
|
[System.Serializable]
|
|
public class CameraCharacterFading
|
|
{
|
|
[Header("Character Fading")]
|
|
[SerializeField] private bool useCharacterFading = true;
|
|
[SerializeField] private float minVisibleDistance = 1.2f;
|
|
[SerializeField] private float fullyHiddenDistance = 0.6f;
|
|
[SerializeField] private Renderer[] characterRenderers;
|
|
|
|
public void HandleCharacterFading(float currentDistance)
|
|
{
|
|
if (!useCharacterFading || characterRenderers == null || characterRenderers.Length == 0) return;
|
|
|
|
float alpha = Mathf.InverseLerp(fullyHiddenDistance, minVisibleDistance, currentDistance);
|
|
|
|
foreach (var renderer in characterRenderers)
|
|
{
|
|
if (renderer != null)
|
|
{
|
|
Color color = renderer.material.color;
|
|
color.a = alpha;
|
|
renderer.material.color = color;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|