返回介绍

Mathf.SmoothStep 平滑插值

发布于 2019-12-18 15:38:00 字数 1992 浏览 1042 评论 0 收藏 0

JavaScript => static function SmoothStep(from: float, to: float, t: float): float;
C# => static float SmoothStep(float from, float to, float t);

Description 描述

Interpolates between min and max with smoothing at the limits.

在min和max之间平滑插值。

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.

在min和max之间插值,类似于Lerp方法。然而,插值从开始处将逐渐加快,到结束处减慢。这通常用于创建渐变和其他过渡看起来比较自然的动画。

JavaScript:

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

C#:

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

Mathf

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文