Решение
Я бы расставил контрольные маршрутные точки, добавил к ним коллайдеры в виде триггеров. На них накинуть небольшой скрипт, говорящий какое действие нужно сделать, что бы попасть в следующую маршрутную точку(к примеру повернуть налево и продолжать идти). Когда NPC вступает с ним в коллизию(OnTriggerEnter), берет из него необходимые параметры для продолжения движения. Я так себе реализовывал.
Это если линейно и по кругу. А если рандомно передвижение по территории, то все с теми же контрольным точками, только нужно получить их все, выбрать случайную точку и обходом по графу идти до этой точки. Как только достиг, выбрал случайную следующую точку и пошел дальше.
Объяснение:
Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#
https://www.amazon.com/Introduction-Game-Design-Pr...
интересная книжка вообще по геймдизайну, C# и unity
теория геймдизайна + коротко про C# (и вообще про кодинг) + 8 прототипов игр разных жанров с детальным описанием.
написано легко и с подробными объяснениями для полных нулей, есть полезный раздел с программистскими трюками "useful concepts". достаточно объемная, так что советую запастись терпением. по факту, материала на 800 страниц где-то.
для меня, как новичка, книга идеальна.
если проблемы с английским, то начинай осваивать его по ней.
Объяснение:
1)С инструмента "Тяни/толкай" можно вминать и вытягивать поверхности, придавая моделям объем или убавляя имеющийся
2)1 Переместите курсор, чтобы создать (или уменьшить) объем.
Чтобы начать заново, нажмите клавишу Esc в любой момент операции.
1 Нажмите кнопку мыши еще раз, когда объем достигнет нужной величины
3)1 Выберите инструмент "Тяни/Толкай". Курсор примет вид параллелепипеда со стрелкой вверх.
Объяснение: