Делаю свою первую top-down игру, дошел до момента когда надо сделать врага который следует за мной, в обычном 2D с этим проблем не было т.к там работает Vector3.lerp но в случае top-down мне пришлось думать самому, в итоге пришел к мнению что надо сделать постоянно вращающийся объект(во враге) который будет испускать луч , если луч засек playera, то угол объекта сохраняется , и мой враг вращается за этим углом, НО мне нужно чтобы враг плавно вращался, а не мгновенно, это я тоже вроде бы сделал , но вопрос в том в какую сторону он должен вращаться , если просто сделать чтобы он в одну сторону вращался(например по часовой) , это выглядит тупо например если угол был равен 30, а ему надо повернуть на 29, то он начнет поворачиваться не на -1 градус , а на 359, попробовал сделать так : if (угол объекта > угла врага ) угол врага ++; if (угол объекта < угла врага) угол врага--; вроде бы это работает пока не проедешь угол 0 градусов , т.к угол врага был равен примерно там - 178 , луч меня засек уже на угле например 3 градуса , то он увидит что угол врага < нового угла, и начнет прибавлять угол врага до того момента пока он не станет равен 3 , то есть он повернет не на 5 градусов как нужно , а начнет крутить все 176 градусов по часовой, вот в чем вся проблема.
Сомневаюсь что кто то понял что я имел ввиду.
Либо предложите альтернативное решение погони врага.