36 lines
821 B
C#
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;
|
|
}
|
|
}
|