30 lines
978 B
C#
30 lines
978 B
C#
using UnityEngine;
|
|
|
|
namespace AllIn13DShader
|
|
{
|
|
public class DemoMaterialSinEffect : MonoBehaviour
|
|
{
|
|
[SerializeField] private Renderer targetRenderer;
|
|
[SerializeField] private string propertyName = "_AlphaCutoffValue";
|
|
[SerializeField] private float minValue = 0f;
|
|
[SerializeField] private float maxValue = 1f;
|
|
[SerializeField] private float speed = 1f;
|
|
|
|
private Material currMaterial;
|
|
private int propertyId;
|
|
|
|
private void Start()
|
|
{
|
|
currMaterial = new Material(targetRenderer.material);
|
|
targetRenderer.material = currMaterial;
|
|
propertyId = Shader.PropertyToID(propertyName);
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
float sinValue = Mathf.Sin(Time.unscaledTime * speed);
|
|
float mappedValue = Mathf.Lerp(minValue, maxValue, (sinValue + 1f) * 0.5f);
|
|
currMaterial.SetFloat(propertyId, mappedValue);
|
|
}
|
|
}
|
|
} |