Как вычислить скорость движения от одной точки к другой за о

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как вычислить скорость движения от одной точки к другой за о

Сообщение Zimaell 07 авг 2020, 19:03

Есть точка А и точка В, нужно чтобы объект двигался от одной точки к другой за определенное время (к примеру ровно за 5 секунд реального времени), как вычислить скорость?
То есть чтобы при любых обстоятельствах на сцене объект проходил равномерно расстояние за 5 секунд (к примеру)...
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45

Re: Как вычислить скорость движения от одной точки к другой за о

Сообщение Alex5 07 авг 2020, 19:17

Вообще, это - школьный курс. Хотя для плоскости, хоть для 3D. Сейчас в школах совсем плохо с математикой, да?
Linux это просто
Экономика это просто
Forex это просто
Мой канал на YouTube
Аватара пользователя
Alex5
Старожил
 
Сообщения: 507
Зарегистрирован: 22 авг 2019, 17:37

Re: Как вычислить скорость движения от одной точки к другой за о

Сообщение Jarico 07 авг 2020, 19:25

Alex5 писал(а):Вообще, это - школьный курс. Хотя для плоскости, хоть для 3D. Сейчас в школах совсем плохо с математикой, да?

Сейчас учатся ради оценок а не ради знаний...


Zimaell писал(а):Есть точка А и точка В, нужно чтобы объект двигался от одной точки к другой за определенное время (к примеру ровно за 5 секунд реального времени), как вычислить скорость?
То есть чтобы при любых обстоятельствах на сцене объект проходил равномерно расстояние за 5 секунд (к примеру)...


Время вычисляй... Вспоминай математику (это не вышка)

Синтаксис:
Используется csharp
Vector3.Lerp(pointA,pointB, time);
 


пример интерполяции между двумя точками в кадрах
Синтаксис:
Используется csharp
    public int interpolationFramesCount = 45; // количество кадров для интерполяции позиции от точки к точке
    int elapsedFrames = 0;

    void Update()
    {
        float interpolationRatio = (float)elapsedFrames / interpolationFramesCount;

        Vector3 interpolatedPosition = Vector3.Lerp(Vector3.up, Vector3.forward, interpolationRatio);

        elapsedFrames = (elapsedFrames + 1) % (interpolationFramesCount + 1);//обнуляем количество отрендереных фреймов

        Debug.DrawLine(Vector3.zero, Vector3.up, Color.green);
        Debug.DrawLine(Vector3.zero, Vector3.forward, Color.blue);
        Debug.DrawLine(Vector3.zero, interpolatedPosition, Color.yellow);
    }
 
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Как вычислить скорость движения от одной точки к другой за о

Сообщение Alex5 07 авг 2020, 19:38

Jarico писал(а):Сейчас учатся ради оценок а не ради знаний...

Я не думал, то за 35 лет всё станет настолько печально. Впрочем, может это единицы, а?
Linux это просто
Экономика это просто
Forex это просто
Мой канал на YouTube
Аватара пользователя
Alex5
Старожил
 
Сообщения: 507
Зарегистрирован: 22 авг 2019, 17:37

Re: Как вычислить скорость движения от одной точки к другой за о

Сообщение Zimaell 07 авг 2020, 20:40

у меня две координаты и время за которое нужно пройти, допустим
StartPoints = Vector3(1,1,1);
TargetPoints = Vector3(5,1,5);
t = 5; // нужное время прохождения в секундах
Speed = ??? // вычислить скорость
transform.position = Vector3.MoveTowards(transform.position, TargetPoints, Speed * Time.deltaTime);


Какая формула должна быть чтобы получить Speed в моем случае?

P.s. - Извините что-то голова сегодня не варит совсем...
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45

Re: Как вычислить скорость движения от одной точки к другой за о

Сообщение Alex5 07 авг 2020, 20:48

Скорость - это расстояние, делённое на время. Если скорость должна быть равномерной, конечно.
Linux это просто
Экономика это просто
Forex это просто
Мой канал на YouTube
Аватара пользователя
Alex5
Старожил
 
Сообщения: 507
Зарегистрирован: 22 авг 2019, 17:37

Re: Как вычислить скорость движения от одной точки к другой за о

Сообщение Zimaell 07 авг 2020, 20:55

как мне вектор поделить на целое число?
или между векторами получить расстояние, вообще туплю как...
день сегодня какой-то...
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45

Re: Как вычислить скорость движения от одной точки к другой за о

Сообщение Alex5 07 авг 2020, 20:57

https://docs.unity3d.com/ScriptReferenc ... tance.html
Хотя, можно и вручную, конечно. Расстояние между точками в пространстве - это тоже школьный курс.
Linux это просто
Экономика это просто
Forex это просто
Мой канал на YouTube
Аватара пользователя
Alex5
Старожил
 
Сообщения: 507
Зарегистрирован: 22 авг 2019, 17:37

Re: Как вычислить скорость движения от одной точки к другой за о

Сообщение Zimaell 07 авг 2020, 21:01

спасибо за ссылку
Расстояние между точками в пространстве - это тоже школьный курс.

очень давно это было, ничего оттуда не помню уже #:-s
Zimaell
UNIверсал
 
Сообщения: 474
Зарегистрирован: 04 июл 2020, 18:45


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20