Interpolate properties between two materials.
Makes all color and float values of a material be interpolated from start
to end
,
based on t
.
When t
is 0, all values are taken from start
.
When t
is 1, all values are taken from end
.
Most often you want the materials that are interpolated between to be the same
(use the same shaders and textures) except for colors and floats. Then you use
Lerp
to blend between them.
See Also: Materials.
// Blends between two materials
var material1 : Material; var material2 : Material; var duration = 2.0; var rend: Renderer;
function Start () { rend = GetComponent.<Renderer>(); // At start, use the first material rend.material = material1; }
function Update () { // ping-pong between the materials over the duration var lerp : float = Mathf.PingPong(Time.time, duration) / duration; rend.material.Lerp(material1, material2, lerp); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Material material1; public Material material2; public float duration = 2.0F; public Renderer rend; void Start() { rend = GetComponent<Renderer>(); rend.material = material1; } void Update() { float lerp = Mathf.PingPong(Time.time, duration) / duration; rend.material.Lerp(material1, material2, lerp); } }