Я делаю игру с видом сверху. НПС(возьмем животных) которые у меня есть ходят только вперед- назад,как болванчики.Как сделать так, что бы они свободно перемещались в каком-то определенном пространстве, например олень посётся на поляне, и только на этой поляне может двигаться.
Непись должен запоминать точку спавна и гулять по любому произвольному алгоритму, хоть вообще в рандомную сторону каждый раз шагать, если мир клеточный. И при выборе каждого направления понижать шанс для стороны, противоположной спавну. То есть, если в центре у движения в любую сторону шанс 25%, если персонаж прошёл на 10 метров влево, шанс идти влево уже 12.5%(а лучше 15-20, менять шансы нелинейно), а в 20 метрах левее спавна мы уже исключаем такую возможность. Тогда не будет жёстких стенок
Ребят сразу говорю я сам недавно начал изучать юньку и си шарп.
В общем возьмём полянку для оленя. Я бы по границам поляны сделал бы триггеры которые задавали бы оленю поворот(рандомный), то есть идёт олень идёт и тут бац.. столкнулся с триггером, а триггер его повернул -+ на 65 градусов.
а можно вообще райкасты пускать в четыре стороны если для 3д. Получать расстояние к ближайшему колайдеру и тип если дальности меньше 1f то олень поворачивает в сторону в которой ближайшее препятствие дальше например 20f, а для более рандомного движения можно при повороте множить угол поворота на рандомное число.
Для перемещения в 3х мерном пространстве можно использовать NavMesh. На YouTube много разных туторов на эту тему. Например вот.
А для 2D пространства нужно уже что-то своё делать. Описывать пути перемещения руками. Это поищи про перемещение Rigidbody2D.