current | @param current Текущая позиция. |
target | @param target Позиция которой хотим достичь. |
currentVelocity | @param currentVelocity Текущая скорость. Это значение модифицируется функцией каждый раз, когда вы вызываете ее. |
smoothTime | @param smoothTime Приблизительное время требующееся для достижения цели. Наименьшее значение достигнет цели быстрее. |
maxSpeed | @param maxSpeed Опционально позволяет вам ограничить максимальную скорость. |
deltaTime | @param deltaTime Время прошедшее с последнего вызова данной функции. По умолчанию Time.deltaTime. |
Gradually changes a vector towards a desired goal over time.
The vector is smoothed by some spring-damper like function, which will never overshoot. Наиболее часто используется для сглаживания следования камеры.
// Smooth towards the target
var target : Transform; var smoothTime = 0.3; private var velocity = Vector3.zero; function Update () { // Define a target position above and behind the target transform var targetPosition : Vector3 = target.TransformPoint(Vector3(0, 5, -10)); // Smoothly move the camera towards that target position transform.position = Vector3.SmoothDamp(transform.position, targetPosition, velocity, smoothTime); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Transform target; public float smoothTime = 0.3F; private Vector3 velocity = Vector3.zero; void Update() { Vector3 targetPosition = target.TransformPoint(new Vector3(0, 5, -10)); transform.position = Vector3.SmoothDamp(transform.position, targetPosition, ref velocity, smoothTime); } }