LerpUnclamped
Linearly interpolates between colors a and b using the interpolation ratio t.
Read time 3 minutesLast updated 10 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
LerpUnclamped(Color32, Color32, float)
Linearly interpolates between colors and using the interpolation ratio .
abtpublic static Color32 LerpUnclamped(Color32 a, Color32 b, float t)
Parameters
Returns
Type | Description |
|---|---|
| Color32 | The color resulting from linear interpolation between and |
Remarks
ttatbIf is less than 0, or greater than 1, the result will be linearly extrapolated from and . For example, will return a color given by .
tabColor32.LerpUnclamped(new Color32(0, 0, 0, 0), new Color32(50, 50, 50, 50), 3)new Color32(150, 150, 150, 150)Since stores each color channel as a byte, unclamped interpolation may result in integer overflow or underflow, which will cause the interpolated value to wrap around and remain inside the range of a byte. For example, will return a color given by because .
Color32Color32.LerpUnclamped(new Color32(0, 0, 0, 0), new Color32(200, 200, 200, 200), 2)new Color32(144, 144, 144, 144)(200 * 2) mod 256 = 144The script below will set the color of MeshRenderer to the result of unclamped interpolation using parameters specified in the inspector. To use the script, attach it to a GameObject with a MeshRenderer.
using UnityEngine;[RequireComponent(typeof(MeshRenderer))]public class ColorLerp : MonoBehaviour{ public Color32 colorA = Color.white; public Color32 colorB = Color.red; public float interpolationRatio = 0.5f; private Material material; private void Start() { material = GetComponent<Renderer>().material; } void Update() { material.color = Color32.LerpUnclamped(colorA, colorB, interpolationRatio); }}
Additional Resources: Color32.Lerp.
LerpUnclamped(Color32, Color32, float)
Linearly interpolates between colors and using the interpolation ratio .
abtpublic static Color32 LerpUnclamped(in Color32 a, in Color32 b, float t)
Parameters
Returns
Type | Description |
|---|---|
| Color32 | The color resulting from linear interpolation between and |
Remarks
ttatbIf is less than 0, or greater than 1, the result will be linearly extrapolated from and . For example, will return a color given by .
tabColor32.LerpUnclamped(new Color32(0, 0, 0, 0), new Color32(50, 50, 50, 50), 3)new Color32(150, 150, 150, 150)Since stores each color channel as a byte, unclamped interpolation may result in integer overflow or underflow, which will cause the interpolated value to wrap around and remain inside the range of a byte. For example, will return a color given by because .
Color32Color32.LerpUnclamped(new Color32(0, 0, 0, 0), new Color32(200, 200, 200, 200), 2)new Color32(144, 144, 144, 144)(200 * 2) mod 256 = 144The script below will set the color of MeshRenderer to the result of unclamped interpolation using parameters specified in the inspector. To use the script, attach it to a GameObject with a MeshRenderer.
using UnityEngine;[RequireComponent(typeof(MeshRenderer))]public class ColorLerp : MonoBehaviour{ public Color32 colorA = Color.white; public Color32 colorB = Color.red; public float interpolationRatio = 0.5f; private Material material; private void Start() { material = GetComponent<Renderer>().material; } void Update() { material.color = Color32.LerpUnclamped(colorA, colorB, interpolationRatio); }}
Additional Resources: Color32.Lerp.