Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


SmoothStep(float, float, float)

Interpolates between from and to with smoothing at the limits.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule
public static float SmoothStep(float from, float to, float t)

Parameters

from

The start of the range.

The end of the range.

The interpolation value between the
from
and
to
range limits.

Returns

Type

Description

floatThe interpolated float result between
from
and
to
.

Remarks

This function interpolates between
from
and
to
in a similar way to Mathf.Lerp. However, the interpolation will gradually speed up from the start and slow down toward the end. This is useful for creating natural-looking animation, fading and other transitions.
The parameter
t
is clamped to the range [0, 1].

Examples

using UnityEngine;public class Example : MonoBehaviour{ // Minimum and maximum values for the transition. float minimum = 10.0f; float maximum = 20.0f; // Time taken for the transition. float duration = 5.0f; float startTime; void Start() { // Make a note of the time the script started. startTime = Time.time; } void Update() { // Calculate the fraction of the total duration that has passed. float t = (Time.time - startTime) / duration; transform.position = new Vector3(Mathf.SmoothStep(minimum, maximum, t), 0, 0); }}