Я бы расставил контрольные маршрутные точки, добавил к ним коллайдеры в виде триггеров. На них накинуть небольшой скрипт, говорящий какое действие нужно сделать, что бы попасть в следующую маршрутную точку(к примеру повернуть налево и продолжать идти). Когда NPC вступает с ним в коллизию(OnTriggerEnter), берет из него необходимые параметры для продолжения движения. Я так себе реализовывал.
Это если линейно и по кругу. А если рандомно передвижение по территории, то все с теми же контрольным точками, только нужно получить их все, выбрать случайную точку и обходом по графу идти до этой точки. Как только достиг, выбрал случайную следующую точку и пошел дальше.
uses crt; const N=10; var a:array [1..N] of integer; i,j,tmp:integer; begin randomize; clrscr; for i:=1 to N do a[i]:=-100+random(201); Writeln('Macciv do coptupovki'); for i:=1 to N do Write(a[i], ' '); for i:=1 to N-1 do for j:=i+1 to N do if a[i]>a[j] then begin tmp:=a[j]; a[j]:=a[i]; a[i]:=tmp; end; Writeln; Writeln('Macciv pocle coptupovki'); for i:=1 to N do Write(a[i], ' '); readkey end.Двухмерный массив 10 на 10 (array) с названием массива и номером ячейки, заполнен генератором случайных чисел в диапазоне 30.надеюсь смогла
Решение
Я бы расставил контрольные маршрутные точки, добавил к ним коллайдеры в виде триггеров. На них накинуть небольшой скрипт, говорящий какое действие нужно сделать, что бы попасть в следующую маршрутную точку(к примеру повернуть налево и продолжать идти). Когда NPC вступает с ним в коллизию(OnTriggerEnter), берет из него необходимые параметры для продолжения движения. Я так себе реализовывал.
Это если линейно и по кругу. А если рандомно передвижение по территории, то все с теми же контрольным точками, только нужно получить их все, выбрать случайную точку и обходом по графу идти до этой точки. Как только достиг, выбрал случайную следующую точку и пошел дальше.
Объяснение: