Объявление
public static float SmoothStep(float from, float to, float t);Описание
Интерполяция между min
и max
со сглаживанием на пределе.
Эта функция выполняет интерполяцию между min
и max
аналогично Lerp. Однако интерполяция будет постепенно ускоряться с самого начала и замедляться к концу. Это полезно для создания естественно выглядящей анимации, затухания и других переходов.
using UnityEngine;
public class Example : MonoBehaviour
{
// Минимальное и максимальное значения для перехода.
float minimum = 10.0f;
float maximum = 20.0f;
// Время, затраченное на переход.
float duration = 5.0f;
float startTime;
void Start()
{
// Запишите время запуска скрипта.
startTime = Time.time;
}
void Update()
{
// Подсчитайте долю общей длительности, которая прошла.
float t = (Time.time - startTime) / duration;
transform.position = new Vector3(Mathf.SmoothStep(minimum, maximum, t), 0, 0);
}
}