Ищу Unity разработчика мидл+ для помощи в проекте не за бесплатно

В небольшом 3d проекте столкнулись с дурацкой проблемой ai противника, а именно его перемещением. Думается мне что решение там простое, но мы совсем зеленные еще и пока не можем справится. Помочь предлагаю не за бесплатно)).

22
7 комментариев

Опишу ситуацию. Есть противник который должен преследовать игрока, но когда игрок оббегает вокруг большого препятствия, противник продолжает преследовать игрока и при этом смотрит на него сквозь препятствие прямо во время своего движения.

Ответить

Пускайте периодически рейкаст в игрока, чтобы проверять видит ли противник его, если рейкаст не дошел из-за препятствия, то переводить поведение в стейт условного бездействие/поиска игрока.

2
Ответить

Уже написали очень правильные советы к этому комментарию, но я бы немного усложнил систему, чтобы она ощущалась "естественно". Пусть герой раз в N секунд оставляет за собой точку, где он был.
Если монстр при проверке рейкаста больше не видит игрока, то тогда он добегает до последней точки, где игрок был.
И, если уже, рэйкастом там нигде не видит, только тогде переходит в состояние "бездействия".
Это позволит монстру огибать небольшие препятствия в поисках игрока.

2
Ответить

нужны рейкасты из глаз NPC в поисках коллайдера Player.

и меняем стейты у NPC.

Короче NPC в стейте IDLE это он стоит, затем по таймеру щелкаем его в стейт SEARCH, что бы он ходил вокруг, потом обратно в IDLE.

Если есть рейкаст касается коллайдера Player, то включаем стейт Chasing, в нем есть условие, что если рейкаст не касается игрока в течении 5 секунд, то опять выходим в Search.

что бы он не смотрел сквозь стены на игрока, отметить надо рейкасту, что все другие Слои это блокер

1
Ответить

Комментарий недоступен

1
Ответить

ну хоть расскажи че за муть то, а то вписываться непонятно куда и зачем

1
Ответить

описал в комментах снизу более подробно

Ответить