Select your preferred scripting language. All code snippets will be displayed in this language.
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 materialsvar 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 ExampleClass : 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 ExampleClass(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)