Опишу ситуацию. Есть противник который должен преследовать игрока, но когда игрок оббегает вокруг большого препятствия, противник продолжает преследовать игрока и при этом смотрит на него сквозь препятствие прямо во время своего движения.
Пускайте периодически рейкаст в игрока, чтобы проверять видит ли противник его, если рейкаст не дошел из-за препятствия, то переводить поведение в стейт условного бездействие/поиска игрока.
Уже написали очень правильные советы к этому комментарию, но я бы немного усложнил систему, чтобы она ощущалась "естественно". Пусть герой раз в N секунд оставляет за собой точку, где он был. Если монстр при проверке рейкаста больше не видит игрока, то тогда он добегает до последней точки, где игрок был. И, если уже, рэйкастом там нигде не видит, только тогде переходит в состояние "бездействия". Это позволит монстру огибать небольшие препятствия в поисках игрока.
нужны рейкасты из глаз NPC в поисках коллайдера Player.
и меняем стейты у NPC.
Короче NPC в стейте IDLE это он стоит, затем по таймеру щелкаем его в стейт SEARCH, что бы он ходил вокруг, потом обратно в IDLE.
Если есть рейкаст касается коллайдера Player, то включаем стейт Chasing, в нем есть условие, что если рейкаст не касается игрока в течении 5 секунд, то опять выходим в Search.
что бы он не смотрел сквозь стены на игрока, отметить надо рейкасту, что все другие Слои это блокер
Опишу ситуацию. Есть противник который должен преследовать игрока, но когда игрок оббегает вокруг большого препятствия, противник продолжает преследовать игрока и при этом смотрит на него сквозь препятствие прямо во время своего движения.
Пускайте периодически рейкаст в игрока, чтобы проверять видит ли противник его, если рейкаст не дошел из-за препятствия, то переводить поведение в стейт условного бездействие/поиска игрока.
Уже написали очень правильные советы к этому комментарию, но я бы немного усложнил систему, чтобы она ощущалась "естественно". Пусть герой раз в N секунд оставляет за собой точку, где он был.
Если монстр при проверке рейкаста больше не видит игрока, то тогда он добегает до последней точки, где игрок был.
И, если уже, рэйкастом там нигде не видит, только тогде переходит в состояние "бездействия".
Это позволит монстру огибать небольшие препятствия в поисках игрока.
нужны рейкасты из глаз NPC в поисках коллайдера Player.
и меняем стейты у NPC.
Короче NPC в стейте IDLE это он стоит, затем по таймеру щелкаем его в стейт SEARCH, что бы он ходил вокруг, потом обратно в IDLE.
Если есть рейкаст касается коллайдера Player, то включаем стейт Chasing, в нем есть условие, что если рейкаст не касается игрока в течении 5 секунд, то опять выходим в Search.
что бы он не смотрел сквозь стены на игрока, отметить надо рейкасту, что все другие Слои это блокер
Комментарий недоступен
ну хоть расскажи че за муть то, а то вписываться непонятно куда и зачем
описал в комментах снизу более подробно