или чем-то более сложным, будет ли размер врагов существенно отличаться, хочешь ли ты частичное обнаружение только по горизонтали, или по вертикали тоже, ну и т.д..
DantorS, я что-то не понял твоего ответа. Я указал тебе минимум три опции, вариации которых могут требовать различного решения. К примеру, рейкаст подойдет лучше для тел, которые будут более-менее сложной формы, так как вычисление по углу не учитывает форму объекта, в то же время, если у тебя будут разные размеры, то может попасться объект, достаточно маленький, чтобы просто пройти между двумя рейкастами; ну а если ты захочешь сделать вертикальное обнаружение, то это будут дополнительные рейкасты, и т.д.. Таких нюансов очень много. Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Вторник, 11 Марта 2014, 18:02
Не совсем понимаю что это за угол. Что ты имеешь ввиду под целью? ГГ?
Тот, на кого должен реагировать твой ИИ.
Зеленая линия - направление взгляда персонажа. Угол между ней и толстыми черными линиями - половина угла поля зрения (получается, поле зрения - между двумя черными линиями; персонаж видит только то, что между этими линиями). Я предлагал считать угол между зеленой и красной/желтой линией (линией от персонажа к цели). Получается, в случае с красной линией, объект виден полностью, в случае с желтой - не виден полностью. Если же объект будет находиться на черной линии, получится, в зоне видимости будет только его половина. Остальные варианты (от критического значения "виден полностью" до критического "исчез из поля зрения полностью") будут при значениях угла, близкого к углу между зеленой и черной линией. Единственная сложность - подобные вариации будут зависеть от размера объекта и от расстояния от цели к персонажу, но это решается обычной тригонометрией. Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Вторник, 11 Марта 2014, 19:05