using System.Collections; using System.Collections.Generic; using UnityEngine; public class DissapearShader : MonoBehaviour { public Material m_Material; public float m_HeightThresholdMax; public float m_HeightThresholdMin; private float m_InitalHeight; void Awake(){ m_InitalHeight = this.transform.position.y; } void Update(){ float value = Mathf.Clamp( Remap(this.transform.position.y, m_HeightThresholdMin, m_HeightThresholdMax, 1, 0), 0, 1 ); float slerpValue = Mathf.Lerp(1, 0, Mathf.SmoothStep(1, 0, value)); m_Material.SetFloat("_DissapearValue", slerpValue); } public float Remap (float value, float from1, float to1, float from2, float to2) { return (value - from1) / (to1 - from1) * (to2 - from2) + from2; } }