#unity3d #collision-detection
#unity-game-engine #обнаружение столкновения
Вопрос:
Я новичок в Unity3D и я почти уверен, что нечто подобное задавалось раньше, но, видимо, я неправильно гуглю.
Я пытаюсь решить следующую проблему: у меня есть автомобиль и дорожные игровые объекты. Игрок может управлять автомобилем сверху вниз. Я хочу определить, когда автомобиль съезжает с дороги.
Итак, я создал сетчатый коллайдер вокруг дороги, чтобы обнаруживать столкновения в OnCollisionEnter()
:
Поскольку у игрового объекта RoadBoundry нет компонента жесткого тела, я ожидаю, что автомобиль просто пройдет через него, однако он взаимодействует с ним странным образом:
Почему car таким образом взаимодействует с сеткой и как обнаружить столкновение в моем случае?
Ответ №1:
Проверьте коллайдер в качестве триггера
Затем используйте OnTriggerEnter
событие.
К вашему сведению, есть более простой способ, используйте Physics.Raycast
to the ground и присвоите path collider специальный тег / или специальный слой.
Комментарии:
1. Спасибо за предложение, но я не могу сделать это с помощью Mesh Collider. Как вы можете видеть на изображении, флажок триггера отключен.
2. Также необходимо проверить выпуклость, тогда вы сможете использовать не весь меш целиком, а разбить его на части.