# Mathf.SmoothDamp 平滑阻尼

static function SmoothDamp (current : float, target : float, ref currentVelocity : float, smoothTime : float, maxSpeed : float = Mathf.Infinity, deltaTime : float = Time.deltaTime) : float

### Parameters参数

• current
The current position.
当前的位置。
• target
The position we are trying to reach.
我们试图达到的位置。
• currentVelocity
The current velocity, this value is modified by the function every time you call it.
当前速度，这个值在你访问这个函数的时候会被随时修改。
• smoothTime
Approximately the time it will take to reach the target. A smaller value will reach the target faster.
要到达目标位置的近似时间，实际到达目标时要快一些。
• maxSpeed
Optionally allows you to clamp the maximum speed.
可选参数，允许你限制的最大速度。
• deltaTime
The 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.

``````using UnityEngine;
using System.Collections;

public class example : 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);
}
}``````
``````// 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);
}``````
Page last updated: 2011-2-23