У меня возникли проблемы с предотвращением столкновений без выравнивания, что, как мне кажется, является редким случаем. Я установил два объекта, чтобы они двигались навстречу друг другу, но с небольшим смещением, поэтому один из объектов двигается немного вверх, а один из объектов движется немного вниз.
В моем не выровненном алгоритме управления предотвращением столкновений я нахожу точки на передней линии объекта и передней линии другого объекта, где эти две линии являются самыми близкими. Если эти ближайшие точки находятся в пределах расстояния, позволяющего избежать столкновения, и если расстояние между ними меньше двух радиусов ограничивающих сфер двух объектов, то объекты должны отклоняться в соответствующем направлении.
Проблема в том, что в моем случае ближайшие точки на линиях рассчитываются так, чтобы они находились очень далеко от фактической точки столкновения. Это потому, что две передние линии для каждого объекта удаляются друг от друга, когда объекты проходят. Проблема в том, что из-за этого рулевое управление не происходит, и два объекта частично сталкиваются.
У кого-нибудь есть какие-либо предложения относительно того, как правильно рассчитать точку столкновения? Возможно, как-то принимая во внимание размер двух объектов?