Доп. райкасты

Программирование на Юнити.

Доп. райкасты

Сообщение Fox_game 21 сен 2017, 20:11

У меня появилась проблемка. Я создаю интеллект для гонок. Из AI соперника должны лететь raycast и проверять на наличие объекта и если он присутствует заворачивать. С последним проблем нет, но машина видит предмет и заворачивает но до тех пор пока рейкаст не перестанет врезаться в объект. И получается, что машина заворачивает но не до конца и враг врезается в препятствие.
Я понял, что мне надо увеличить радиус рейкаста, то есть чтобы луч был не просто полоска а охватывал некую территорию. Пролистав мануалы по лучам и нашел! Есть рейкасты типо Capsule, Spheare, Cube и т.д. но там написано только про Сферический рейкаст и все. Прошу прощения но сам я не смог разобраться. Как я понял мне нужен капсул рейкаст. Но как его правильно использовать уроков нет, пытался сам но выходит не очень...
Fox_game
UNIт
 
Сообщения: 117
Зарегистрирован: 08 июл 2017, 19:33

Re: Доп. райкасты

Сообщение samana 21 сен 2017, 21:35

У вас 3d или 2d ?
Думаю быстрее будет работать BoxCast. Вроде в документации ясно написано, как и что передавать в метод https://docs.unity3d.com/ScriptReferenc ... xCast.html


center Центр бокса, то-есть та же самая начальная точка как в рейкасте
halfExtents Половина размера этого бокса. Например вам нужен сплюснутый бокс, примерно как размер переда машины от фары до фары.
direction Направление луча.
orientation Поворачивать бокс, в вашем случае вроде как и ненужен.
maxDistance Длина луча.
layerMask Только с объектами на данном слое будет засчитываться столкновение луча (можно игнорировать)
queryTriggerInteraction Будет ли луч засчитывать триггеры, как активные коллайдеры (кажется)
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12