返回介绍

Mathf.SmoothDamp 平滑阻尼

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

JavaScript => static function SmoothDamp(current: float, target: float, currentVelocity: float, smoothTime: float, maxSpeed: float = Mathf.Infinity, deltaTime: float = Time.deltaTime): float;
C# => static float SmoothDamp(float current, float target, float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);

Parameters 参数

currentThe current position.
当前的位置。
targetThe position we are trying to reach.
我们试图达到的位置。
currentVelocityThe current velocity, this value is modified by the function every time you call it.
当前速度,这个值在你访问这个函数的时候会被随时修改。
smoothTimeApproximately the time it will take to reach the target. A smaller value will reach the target faster.
要到达目标位置的近似时间,实际到达目标时要快一些。
maxSpeedOptionally allows you to clamp the maximum speed.
可选参数,允许你限制的最大速度。
deltaTimeThe time since the last call to this function. By default Time.deltaTime.
上次调用该函数到现在的时间。缺省为Time.deltaTime。

Description 描述

Gradually changes a value towards a desired goal over time.

随着时间的推移逐渐改变一个值到目标值。

The value is smoothed by some spring-damper like function, which will never overshoot. The function can be used to smooth any kind of value, positions, colors, scalars.

这个值就像被一个不会崩溃的弹簧减振器一样被平滑。这个函数可以用来平滑任何类型的值,位置,颜色,标量。

JavaScript:

// Smooth towards the height of the target
 
var target : Transform; 
var smoothTime = 0.3; 
private var yVelocity = 0.0; 
function Update () { 
	var newPosition : float = Mathf.SmoothDamp(transform.position.y, target.position.y, yVelocity, smoothTime); 
	transform.position = Vector3(transform.position.x, newPosition, transform.position.z); 
}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
    public Transform target;
    public float smoothTime = 0.3F;
    private float yVelocity = 0.0F;
    void Update() {
        float newPosition = Mathf.SmoothDamp(transform.position.y, target.position.y, ref yVelocity, smoothTime);
        transform.position = new Vector3(transform.position.x, newPosition, transform.position.z);
    }
}

Mathf

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

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

发布评论

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