Legacy Documentation: Version 4.6(go to latest)
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Mathf.SmoothStep

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

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.

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