2. Как сделать, что бы враг, атакующий игрока, обходил препятствия?
|
А*, или волновой алгоритм, или райкаст для проверки препятствия по пути движения бота. (В порядке ухудшения способа, и в принципе - спадания сложности)
А* и волновой алгоритмы можно нагуглить, их примеров масса, чтобы разобраться; райкаст - в справку юнити загляни, и немного логики надо накрутить.
Этот скрипт выбирает анимацию исходя из системы ввода, которой пользуется игрок. Для того, чтобы анимации игрались у врагов во время их движения, нужно иметь какой-то внутренний способ определять движение/остановку врага. Можно делать через круп - определять разницу с прошлой координатой, а можно делать через мозг - определять, что нужно врагу сделать, устанавливать переменную-статус, и считывая её значение двигать врага и определять анимацию.