Mathf.SmoothStep
Declaration
public static float SmoothStep(float from, float to, float t);Параметры
| Параметр | Описание |
|---|---|
| от | Начало диапазона. |
| до | Конец диапазона. |
| t | Значение интерполяции между пределами диапазонов from и to. |
Возвращаемое значение
поплавок Интерполированный результат с плавающей запятой между from и to.
Описание
Интерполирует между from и to с сглаживанием на границах.
Эта функция интерполирует между from и to аналогично Lerp. Однако интерполяция будет постепенно ускоряться с начала и замедляться к концу. Это полезно для создания естественной анимации, затухания и других переходов.
Параметр t закреплен в диапазоне [0, 1].
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); } }