Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Все Вопросы Мои Вопросы

Получить Velocity из предыдущего кадра

UnityC#3D

Нужно получить Velocity до соударения двух сфер, для передачи на другую сферу. Делаю колыбель Ньютона. Желательно
нужен пример, в unity работаю 2 день.


Комментарии

2
Fee1Good 2 года назад

Единственное решение которое приходит в голову.
Записывать предыдущие значения скорости в массив.


Vector3[] prevVel = new Vector3[3] 
int frames;

//Если нужны прям с предыдущего кадра, то в Update 
if(frames < 4)
{
     prevVel[frames] = rigidbody.velocity;
     frames  ;
}
else
{
     frames = 0;
}

//Ну и при коллизии брать это значение
OnCollisionEneter(...)
{
     //Тут исключение на frames = 0 добавить
     Vector3 previouseVelocity = prevVel[frames-1]
}


А вообще зачем брать значения из предыдущего кадра? Почему просто не передавать его в OnCollisionEnter?

Karamba 2 года назад

Здесь есть готовое решение: https://github.com/peterthorsteinson/NewtonsCradle

Гости не могут отвечать на вопросы. Войдите на Сайт или Зарегистрируйтесь