Unity 6.3
0 онлайн 85 гостей 3 в системе
Вход

Vector2.SmoothDamp

Declaration

public static Vector2 SmoothDamp(Vector2 current, Vector2 target, ref Vector2 currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);

Параметры

Параметр Описание
текущий Текущее положение.
Цель Позиция, которой мы пытаемся достичь.
currentVelocity Текущая скорость, это значение изменяется функцией каждый раз, когда вы ее вызываете.
smoothTime Примерное время, которое потребуется для достижения цели. Меньшее значение означает, что цель будет достигнута быстрее.
maxSpeed По желанию позволяет зажимать максимальную скорость.
deltaTime Время с момента последнего вызова этой функции. По умолчанию Time.deltaTime.

Описание

Постепенное изменение вектора в направлении желаемой цели с течением времени.

Вектор сглаживается некоторой функцией, подобной пружинному дамплеру, которая никогда не будет превышать заданные пределы.

// Smooth towards the target

using UnityEngine; using System.Collections;

public class ExampleClass : MonoBehaviour { public Transform target; public float smoothTime = 0.3F; private Vector2 velocity = Vector2.zero;

void Update() { // Define a target position above the target transform Vector2 targetPosition = target.TransformPoint(new Vector2(0, 5));

// Smoothly move the camera towards that target position transform.position = Vector2.SmoothDamp(transform.position, targetPosition, ref velocity, smoothTime); } }