MSFD Обнаружение столкновений статичных объектов
Вот это самая большая головная боль.
Объекты не сталкиваются с объектами (т.е. статики, активаторы и пр. "неживые" объекты).
Только персонаж/NPC/животные могут сталкиваться с объектами.
В этих терминах объект означает статику/активаторы и ландшафт.
Единственный способ определить столкновение, это
удар об него вашего персонажа.
Вот почему ранее я заметил, что если вы выберите большой объект для езды, то увидите как он проходит сквозь предметы, пока сами не ударитесь об них.
Если вы можете жить с этим — отлично, однако выглядит это неуклюже.
Простейший метод обнаружения столкновений — взять координаты игрока и сравнивать с координатами объекта (на котором вы едете).
Хоть это еще и не доказано, но использование функции GetSquareRoot в скрипте на объекте может привести к вылету.
Есть 2 плоскости, за которыми нужно следить.
Например, ковер-самолет отслеживает как вертикальную (ось z), так и горизонтальную (оси x, y) плоскости.
Вы можете посмотреть мой скрипт, чтобы увидеть, как это сделать. Если кто-нибудь найдет лучший способ, прошу поделиться им.