Interpolate properties between two materials.
start
to end
,
based on t
.t
is 0, all values are taken from start
.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; function Start () { // At start, use the first material renderer.material = material1; } function Update () { // ping-pong between the materials over the duration var lerp : float = Mathf.PingPong (Time.time, duration) / duration; renderer.material.Lerp (material1, material2, lerp); }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Material material1; public Material material2; public float duration = 2.0F; void Start() { renderer.material = material1; } void Update() { float lerp = Mathf.PingPong(Time.time, duration) / duration; renderer.material.Lerp(material1, material2, lerp); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public material1 as Material public material2 as Material public duration as float = 2.0F def Start() as void: renderer.material = material1 def Update() as void: lerp as float = (Mathf.PingPong(Time.time, duration) / duration) renderer.material.Lerp(material1, material2, lerp)