Files
ScienceLab.UniformLinearMotion/Assets/Scripts/Lesson_1/ApplyDissolveShaderToTerrain.cs
2026-04-30 12:04:09 +03:00

36 lines
821 B
C#

using UnityEngine;
[RequireComponent (typeof(Terrain))]
public class ApplyDissolveShaderToTerrain : MonoBehaviour
{
public Terrain terrain;
public float dissolveAmount = 0f;
public Shader shader;
private Material originalMaterial;
private Material overrideMaterial;
void Start()
{
terrain = GetComponent<Terrain>();
overrideMaterial = new Material(shader);
originalMaterial = terrain.materialTemplate;
SetOriginalMaterial();
}
private void Update()
{
terrain.materialTemplate.SetFloat("_dissolveAmount", dissolveAmount);
}
public void SetOriginalMaterial()
{
terrain.materialTemplate = originalMaterial;
}
public void SetOverrideMaterial()
{
terrain.materialTemplate = overrideMaterial;
}
}