Практический пример использования движения персонажей

Как нетрудно догадаться, важнейшей способностью персонажа, которую должна обеспечивать подсистема навигации, является умение огибать препятствия. В проявлении этой способности в той или иной степени задействованы все описанные выше свойства. Кроме того, моделирование соответствующего умения — это весьма неплохая задача для начала обучения методам разработки игровых систем ИИ, поскольку огибание препятствий является сравнительно несложной задачей.
Для того чтобы понять, как именно следует моделировать огибание препятствий, имеет смысл провести анализ соответствующих поведенческих реакций человека в раздичных ситуациях. Ниже перечислены все сікугвстстнующие состояния, которые могут иметь отношение к поведению персонажа компьютерной игры. Для каждого из сценариев приведено краткое описание сценария, а также нужного исход.
> Когда в непосредственной близости от анимата нет видимых препятствий, он может двигаться вперед. Соответствующие поведенческие реакции могут быть направленными (straight) или хаотичными (wandering).
> В тех случаях, когда с одной стороны движению анимата препятствует стена, он должен плавно и постепенно изменять направление движения, чтобы избежать столкновения с этой стеной.
> Когда перед аниматом возникает препятствие, он должен развернуться так, чтобы препятствие находилось не перед ним, а сбоку.
> В тех ситуациях, когда анимат упирается в угол или попадает в тупик, он может предпринимать более кардинальные повороты, вплоть до разворота в сторону, противоположную предыдущему направлению движения.
Приведенный выше перечень состояний и реакций на них, а также перечень критериев оценки движений представляют собой методическую базу для формулирования требований к созданию системы огибания препятствий.