Version: 2017.3

Mathf.SmoothStep

切换到手册
public static float SmoothStep (float from, float to, float t);

描述

minmax 之间进行插值,在限制处进行平滑。

此函数采用与 Lerp 相似的方式在 minmax 之间进行插值。 但是,插值会从起点逐渐加速,然后朝着终点减慢。 这可用于创建表现十分自然的动画、淡化和其他过渡。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { public float minimum = 10.0F; public float maximum = 20.0F; public float duration = 5.0F; private 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); } }