This version of Unity is unsupported.

Mathf.SmoothStep

Declaration

public static float SmoothStep(float from, float to, float t);

Description

Interpolates between min and max with smoothing at the limits.

This function interpolates between min and max in a similar way to 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.

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); } }