Страница 1 из 1

Как правильно рассчитать что машина ударила передом?

СообщениеДобавлено: 29 авг 2019, 14:31
MEGA_LUL
Всем привет.

Интересует не как закостылить, а как правильно сделать.

Едет машина (или игрок бежит и сам в нее врезается), врезается в игрока, срабатывает OnCollisionEnter.

Как правильно понять, что машина ехала вперед и врезалась в игрока спереди? Или ехала задом и врезалось в игрока позади?

Как понимать тут нужна математика с векторами.

То есть как то сделать расчет, от rb.velocity силы движения.

Поставить доп. коллайдеры с каждой стороны, не предлагать.

Re: Как правильно рассчитать что машина ударила передом?

СообщениеДобавлено: 29 авг 2019, 15:38
waruiyume
Как правильно понять, что машина ехала вперед и врезалась в игрока спереди? Или ехала задом и врезалось в игрока позади?

Не надо так, у меня чуть вывих моска не случился!
if(Vector3.dot(car.transform.forward, (hit.point-car.transform.position).normalized)>0) удар передом
if(Vector3.dot(car.rigidBody.velocity.normalized, (hit.point-car.transform.position).normalized)>0) удар с той стороны в которую движется машина

Поставить два коллайдера- абсолютно нормальный вариант.