Как работает Mathf.SmoothDamp?
Добавлено: 12 окт 2017, 15:07
В общем такая проблема: требуется чтобы значение X изменялось от 0 до 5 в течение 3 секунд. По идее для этого я должен воспользоваться Mathf.SmoothDamp и если посмотреть мануал, то все очевидно. Но задав начальное значение, конечное значение и время за которое должен осуществиться переход я получаю совершено непредсказуемый результат, который не понятно как вообще получается (видео по ссылке). Может кто-нибудь объяснить по какому закону меняется значение ref currentVelocity? Можно ли сделать скорость постоянной?
Скрипт используемый в тесте:
Ссылка на видео (изменение параметров отражено в инспекторе):
https://yadi.sk/i/p41946oD3Nh4Fy
Скрипт используемый в тесте:
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour {
public float x;
public float velocity;
public float smoothTime;
public float y;
void Start () {
}
void Update () {
x = Mathf.SmoothDamp (x, y, ref velocity, smoothTime);
}
}
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour {
public float x;
public float velocity;
public float smoothTime;
public float y;
void Start () {
}
void Update () {
x = Mathf.SmoothDamp (x, y, ref velocity, smoothTime);
}
}
Ссылка на видео (изменение параметров отражено в инспекторе):
https://yadi.sk/i/p41946oD3Nh4Fy