Настройка И.И. с более продвинутым поведением
Материал из CryWiki Russia
Eis (Обсуждение | вклад) |
DCamer (Обсуждение | вклад) |
||
(10 промежуточных версий не показаны.) | |||
Строка 1: | Строка 1: | ||
- | + | == Настройка И. И. с более продвинутым поведением == | |
- | + | [[Файл:Sandbox SimpleAI image001.jpg]] | |
- | + | ||
- | [[ | + | |
=== Введение === | === Введение === | ||
+ | Это учебное пособие покажет вам, как разместить врагов на карте и указать им, куда они могут идти или где могут скрываться. По умолчанию они запрограммированы стрелять в игрока, как только он попадёт в зону их видимости. | ||
- | + | Типы характеров искусственного интеллекта, их взаимодействие с оружием, как далеко они могут видеть и слышать, продвинутое поведение, такое как групповая тактика, переговоры между ИИ, использование транспортных средств и взаимодействий с сложными объектами, описано в других обучающих программах и справочной библиотеке. | |
- | + | ||
- | Типы характеров искусственного интеллекта , их взаимодействие с оружием, как далеко они могут видеть и слышать, | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | === | + | === Добавление противника на карту === |
- | + | ||
- | + | ||
- | + | ==== Размещение ИИ на ваш уровень ==== | |
+ | Для размещения ИИ в '''[[Сворачивающаяся панель Sandbox 2|RollupBar]]''' выберите '''Objects''' затем '''Entity''', в папке '''AI''' выберите '''Grunt''' и перетащите в окно перспективы. | ||
- | [[ | + | [[Файл:Sandbox_SimpleAI_image003.png]] |
- | ==== | + | ==== Снабжение ИИ оружием ==== |
+ | Для снабжения ИИ оружием нажмите кнопку '''…''' в поле '''EquipmentPack''' откроется диалоговое окно пакетов экипировки. Для получения дополнительной информации о настройке пакетов экипировки, прочтите учебное пособие по '''[[Настройка пакетов экипировки|Equipment Pack]]'''. | ||
- | + | [[Файл:Sandbox_SimpleAI_image005.png]] | |
- | + | Важно: Чтобы изменения вступили в силу нажмите кнопку '''Reload Script''' (расположена ниже свойств сущности) чтобы Grunt начал использовать выбранный пакет оружия. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image007.png]] |
- | + | ==== Архетипы противников ==== | |
+ | Все ИИ-персонажи Crysis размещены как архетип-объекты, это означает, что настроить параметры нужно всего один раз, чтобы использовать на разных уровнях. Чтобы увидеть параметры, которые они используют, просто нажмите на окно '''Entity Archetype''' (в следующем скриншоте текст CAMPER/CAMP.Light_Rifle). | ||
- | [[ | + | [[Файл:Sandbox_SimpleAI_image009.png]] |
- | + | ==== Генерация навигации ИИ ==== | |
+ | Даже на равнинном ландшафте, убедитесь, что вы генерируете новую навигацию ИИ, хотя бы один раз после создания карты, а также после любых изменений на ландшафте. | ||
- | + | [[Файл:Sandbox_SimpleAI_image011.png]] | |
- | + | Навигация ИИ может быть сгенерирована нажатием элемента '''Generate All Navigation''', из меню '''AI'''. | |
- | + | ==== Тестирование результатов ==== | |
+ | Перейдите в режим игры ('''CTRL+G''') и подойдите к ИИ, если вы всё правильно настроили, то ИИ будет стрелять в игрока, когда он его увидит или услышит. | ||
- | [[ | + | [[Файл:Sandbox_SimpleAI_image013.jpg]] |
- | === | + | === Настройка навигации === |
- | + | ==== Введение ==== | |
+ | Чтобы ваш ИИ работал правильно на вашем уровне, вы должны настроить различные типы навигации. | ||
- | + | Введение '''ai_DebugDraw=79''' в '''консоль''' покажет вам, настроена ли уже триангуляция, это означает, что ИИ сможет найти свой путь из одной точки в другую не натыкаясь на препятствия. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image015.png]] |
- | + | ==== Растительность ==== | |
+ | ИИ автоматически обходит объекты растительности, если всё настроено правильно. | ||
- | + | Если Вы хотите, чтобы ИИ скрылись за деревьями установите флаг '''Hideable''' в свойствах '''Vegetation'''. | |
+ | [[Файл:Sandbox_SimpleAI_image017.png]] | ||
- | + | Затем, скорректируйте '''AIRadius''' '''Vegetation''', чтобы ИИ понимал, насколько большой объект растительности. | |
- | + | [[Файл:Sandbox_SimpleAI_image019.png]] | |
- | + | ИИ будет так же автоматически обходить более сложные объекты, такие как транспортные средства. | |
- | + | ==== Утесы и большие твердые объекты ==== | |
+ | Введение '''ai_debugdraw 85''' в '''Консоль''' выведет на экран все области, которые слишком круты, чтобы подняться (показаны красным цветом) и области которые могут вызвать скольжение (зеленый). | ||
- | + | Теперь мы должны изолировать все такие области запретными областями '''ForbiddenAreas''' (смотрите раздел ниже). | |
- | + | ||
- | + | ||
- | + | [[Файл:Sandbox_SimpleAI_image021.png]] | |
- | + | ==== Запретные области ==== | |
+ | Вы должны окружить каждую внутреннею область точки пути формой [[ForbiddenArea]], таким образом, ИИ не будет врезаться в стены и другие объекты. | ||
- | [[ | + | Нажмите на '''AI/[[ForbiddenArea]]''' и создайте форму вокруг области, которую вы хотите сделать непроходимой (например, внешние стены здания). Выберите '''[[ForbiddenArea]]''' из меню, как показано ниже. |
- | + | [[Файл:Sandbox_SimpleAI_image023.png]] | |
- | + | Как только ваша [[ForbiddenArea]] будет создана, а уровень будет триангулирован, ИИ не будет врезаться в стены. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image025.png]] |
- | + | ==== Настройка точек пути во внутренних областях ==== | |
+ | Чтобы ИИ смог входить в двери и перемещаться внутри здания необходимо добавить Waypoint Region. Вам нужно расширить одну секций этого Waypoint Region вне запретной области, чтобы сделать вход для ИИ, как показано ниже. | ||
- | [[ | + | [[Файл:Sandbox_SimpleAI_image027.png]] |
- | + | 3 вещи, которые необходимо настроить в Waypoint Region: | |
- | + | * Область AI Navigation Modifier | |
+ | * AIWaypoint (разных типов) | ||
+ | * Точки входа/выхода (''Entry/Exit'') AIWaypoint | ||
- | + | Вы должны окружить каждую область точки пути формой AINavigationModifier с типом навигации (''NavType'') «Human Waypoint». | |
- | [[ | + | Щелкните по '''AI/[[AINavigationModifier]]''' и создайте форму указанного выше типа. |
- | + | [[Файл:Sandbox_SimpleAI_image029.png]] | |
- | + | По умолчанию тип навигации «Human Waypoint», так что ничего изменять не надо. | |
- | + | Разместите '''AI/AIPoint''' внутри вашей области. Вы увидите, что они стали синим тогда, когда они будут находится в правильной области. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image031.png]] |
- | + | В том месте, где ИИ должнен входить и выходить из области, там изменить тип '''AIPoint''' на '''Entry/Exit''' (будет отображен символ двери, вместо синего шара). | |
- | + | [[Файл:Sandbox_SimpleAI_image033.png]] | |
- | + | ||
- | + | ||
- | + | ||
+ | Одна часть области AINavigationModifier должна быть вне формы запретной области (красная линия), чтобы ИИ смог достичь точки. | ||
- | + | [[Файл:Sandbox_SimpleAI_image035.png]] | |
- | [[ | + | Чтобы сгенерировать соединения со всеми точками, выберите вашу '''[[AINavigationModifier]]'' и нажмите '''Auto-Dynamic''' в '''Waypoint Connection Parameters'''. |
- | + | [[Файл:Sandbox_SimpleAI_image037.png]] | |
- | + | И, наконец, щёлкните по одной из точек и нажмите кнопку '''Regen Links''': | |
- | + | [[Файл:Sandbox_SimpleAI_image039.png]] | |
- | + | Теперь, все точки должны быть соединены, как на рисунке ниже и ИИ сможет перемещаться внутри области, и входить/выходить из неё там, где вы установили конкретные точки входа и выхода. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image041.png]] |
+ | Смотрите раздел ниже чтобы узнать о том, как должны быть настроены и размещены ForbiddenArea и Waypoints. | ||
- | ==== | + | ==== Воздушная навигация ==== |
+ | Вы должны окружить каждую область, в которой вы хотите чтобы пилотировал воздушный транспорт формой AINavigationModifier с типом навигации «Flight». Вы также должны задать для этой области высоту.<br /> | ||
- | + | ==== Водная навигация ==== | |
- | + | Вы должны окружить каждую область, в которой вы хотите чтобы ориентировался водный транспорт (например, лодки) формой AINavigationModifier с типом навигации «Water». | |
- | [[ | + | ==== Пути и дороги ==== |
+ | [[Файл:Sandbox_SimpleAI_image043.png]] | ||
- | + | Создайте '''AIPath''' с отмеченной галочкой '''Road''', и транспортные средства будут автоматически иметь сильное предпочтение для использования дорог/путей. Также можно заставить ИИ следовать по пути используя нод потокового графа «AIFollowPath». | |
+ | ==== Внешние точки прикрытия ==== | ||
+ | Чтобы заставить скрыться ИИ в определенных местах вы должны поставить AIAnchor (вне областей пути). | ||
- | + | Разместите '''AI/AIAnchor''' рядом с любым твёрдым объектом, например, к стене. Теперь, обратите внимание на два красные полосы перед точкой скрытия, которые указывают, что ИИ можете использовать анимацию присядки/скрытия, либо анимации наклона влево/вправо. Красная линия спереди точки скрытия показывает, сколько нужна места для наклона влево и вправо. Убедитесь, что зелёная область ничем не заблокирована, так, чтобы ИИ смог его использовать. | |
- | + | ||
- | [[ | + | [[Файл:Sandbox_SimpleAI_image045.png]] |
- | + | ==== Тип «Hide» у AIPoint в областях навигации ==== | |
+ | Тот же самый принцип, что у AIAnchor, также применяется у точки скрытия, типа AIPoint. | ||
+ | Чтобы превратить точку пути в навигационной области, в точку скрытия, нужно просто выбрать тип '''Hide''' в поле '''Type''' раздела '''AIPoint Properties'''. | ||
- | [[ | + | [[Файл:Sandbox_SimpleAI_image047.png]] |
- | + | [[Файл:Sandbox_SimpleAI_image049.png]] | |
- | + | === Как правильно настроить ИИ — Расширенные советы === | |
- | + | ==== Запретные области ==== | |
+ | [[Файл:Sandbox_SimpleAI_image051.png]] | ||
- | + | Здесь запретная область находится слишком далеко от самих объектов. | |
- | + | [[Файл:Sandbox_SimpleAI_image053.jpg]] | |
- | + | Вместо этого размещайте их ближе к краям объектов. Это позволит избежать, попадания ИИ в области скольжения. Теперь ИИ обходит эти объекты намного лучше. | |
- | + | [[Файл:Sandbox_SimpleAI_image055.jpg]] | |
- | + | Не ставьте две запретные области так близко друг к другу. Навигация будет всё-равно идти между ними, даже если ИИ не сможет там пройти. | |
- | + | [[Файл:Sandbox_SimpleAI_image057.jpg]] | |
- | + | Вместо этого удалите одну запретную зоны, и создайте одну большую запретную зону, содержащую оба объекта. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image059.jpg]] |
- | + | Не размещайте предметы рядом с краем запретной зоны. В противном случае ИИ будет кружить вокруг скрытых объектов и сможет проскользнуть в запретную зону. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image061.jpg]] |
+ | Размещайте скрытые объекты либо внутри запретной зоны, либо за её пределами. Убедитесь в том, что если ИИ будет кружить вокруг скрытых объектов, то он не проскользнёт в запретную зоне. | ||
- | + | Большие, открытые сбоку структуры, не должны иметь одну большую запретную зону вокруг них. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image063.jpg]] |
- | + | Вместо этого разместите меньшую запретную зону вокруг них. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image065.jpg]] |
- | + | ==== Якоря прикрытия ==== | |
+ | [[Файл:Sandbox_SimpleAI_image067.png]] | ||
- | + | ИИ скрывается в якоре скрытия, если приближается враг. Чем больше у вас ИИ, тем больше должно быть размещено якорей скрытия. Не размещайте якоря скрытия только в одном направлении. Разместите их на все возможные направления. | |
- | + | [[Файл:Sandbox_SimpleAI_image069.jpg]] | |
- | + | Размещайте якоря скрытия не только по краям объектов, но и у боков. Бока обеспечивают лучшее прикрытие, чем края. | |
- | + | [[Файл:Sandbox_SimpleAI_image071.jpg]] | |
- | + | Для тонких объектов, размещайте якоря скрытия так близко к краям, чтобы ИИ смог быстро покинуть свою позицию. Не забудьте разместить их по обе стороны, и обратите их друг к другу. | |
- | + | [[Файл:Sandbox_SimpleAI_image073.jpg]] | |
- | + | Размещайте якоря скрытия только в тех позиции, где ИИ истинно сможет спрятаться. Передняя и задняя часть, к примеру, автомобиля даёт небольшое прикрытие. Середина даёт лучшее прикрытие. | |
- | + | [[Файл:Sandbox_SimpleAI_image075.jpg]] | |
- | + | Обычно края домов дают небольшое прикрытие. Первый якорь скрытия разместите близко к краю, и направьте его прямо. Затем разместите якорь скрытия с вращением 45°, немного подальше от края. | |
- | + | [[Файл:Sandbox_SimpleAI_image079.jpg]] | |
+ | Если вас не достаточно якорей скрытия для нескольких ИИ, то вы можете количество якорей скрытия. Основные якоря скрытия наиболее важны. Затем, вы можете увеличить количество якорей скрытия с вращением 45°. | ||
- | + | [[Файл:Sandbox_SimpleAI_image081.jpg]] | |
- | + | Если у вас длинные объекты, то не размещайте якоря скрытия в середине, в противном случае ИИ придётся далеко перемещаться, чтобы сменить позицию. Вы можете размещать их в середине, только тогда, когда есть другая позиция покрытия поблизости к середине. | |
- | + | ==== Точки пути ==== | |
+ | [[Файл:Sandbox_SimpleAI_image083.jpg]] | ||
- | + | Для двух комнат, будет достаточно разместить две точки пути. ИИ сможет из каждого угла комнату достигнуть ближайшую точку пути. Соединение дает ИИ возможностью переключать комнаты. | |
- | + | [[Файл:Sandbox_SimpleAI_image085.jpg]] | |
- | + | Размещайте точки пути на краях объектов. Никаких проблем с ИИ не будет и он никогда не застрянет. | |
- | + | [[Файл:Sandbox_SimpleAI_image087.jpg]] | |
- | + | В данном примере ИИ стоит у стены и ищет ближайшую точку пути. По чистой случайности, ближайшая точка пути находится за препятствием. В новых движках ИИ нашел бы верную точку пути, но он требует более высокую производительность. Вместо этого размещайте точки пути на одинаковом расстоянием от объекта. | |
- | + | [[Файл:Sandbox_SimpleAI_image089.jpg]] | |
- | + | Будьте осторожны, когда соединяете точки пути. Соединение никогда не должны находиться в непосредственной близости от физических объектов, либо проходить через них. | |
- | + | [[Файл:Sandbox_SimpleAI_image091.jpg]] | |
- | + | Избегайте нахождение точек пути вблизи к соединениям. Если два ИИ начнут двигаться, то они могут столкнуться, так как соединения помогают ИИ обходить друг с друга. | |
- | + | [[Файл:Sandbox_SimpleAI_image093.jpg]] | |
- | + | Избегайте пересечения соединение на углах объектов. | |
- | + | [[Файл:Sandbox_SimpleAI_image095.jpg]] | |
- | + | Вы можете легко решить эту проблему путем добавления новой точки пути на краю (одна точка на краю обязательно должна быть). | |
- | + | [[Файл:Sandbox_SimpleAI_image097.jpg]] | |
- | + | Если у вас есть альтернативные маршруты, то подумайте, как это будет выглядеть, если бы вы сами ходили точно по линии. Иногда лучше использовать большое количество точек пути для имитации более естественного движения, как в примере выше. | |
- | + | [[Файл:Sandbox_SimpleAI_image099.jpg]] | |
- | + | Если у вас есть комната, то перво-наперво разместите все точки пути по краям всех объектов. Делайте это для объектов, через которые нельзя пройти. | |
- | + | [[Файл:Sandbox_SimpleAI_image101.jpg]] | |
- | + | Затем, вы ищете точки пути, которые находятся близко друг к другу. Если они находятся близко друг к другу, то используйте одну точку вместо двух, что даст чистую навигацию и меньший шансов того, что ИИ застрянет. | |
- | + | [[Файл:Sandbox_SimpleAI_image103.jpg]] | |
- | + | После точек пути, разместите точки скрытия, соблюдая общие правила из раздела «Якоря скрытия». | |
- | + | [[Файл:Sandbox_SimpleAI_image105.jpg]] | |
- | + | Точки скрытия также являются частью навигация, сделайте слияние точек скрытия и точек пути, если они расположены слишком близко друг к другу. | |
- | + | [[Файл:Sandbox_SimpleAI_image107.jpg]] | |
- | + | Если все точки навигации размещены, то начинайте их соединение. | |
- | + | [[Файл:Sandbox_SimpleAI_image109.jpg]] | |
- | + | Эта точка пути в середине, не обеспечивает идеальное движение, но уменьшает шанс застревания ИИ. | |
- | + | [[Файл:Sandbox_SimpleAI_image111.jpg]] | |
+ | Красные линии показывают плохие соединения: либо соединения проходят через/близко к геометрии, либо они расположены слишком близко к другим соединения. Это нормально, если ИИ должен сделать 1-2 шага, прежде, чем начнёт движение в правильном направлении. | ||
- | ==== | + | ==== Результат ==== |
- | + | Настроив всё это правильно, у вас будет ИИ способный идти в любую точку чтобы начать бой с игроком. Чем лучше вы разместите точки пути и точки скрытия, тем реалистичней и сложней будет игроку бороться против ИИ. | |
- | [[ | + | [[Файл:Sandbox_SimpleAI_image113.png]] |
- | [[ | + | [[Категория:Официальная документация:Основы - Настройка геймплея]] |
- | == | + | == См. также == |
Текущая версия на 10:44, 13 апреля 2011
Содержание |
Настройка И. И. с более продвинутым поведением
Введение
Это учебное пособие покажет вам, как разместить врагов на карте и указать им, куда они могут идти или где могут скрываться. По умолчанию они запрограммированы стрелять в игрока, как только он попадёт в зону их видимости.
Типы характеров искусственного интеллекта, их взаимодействие с оружием, как далеко они могут видеть и слышать, продвинутое поведение, такое как групповая тактика, переговоры между ИИ, использование транспортных средств и взаимодействий с сложными объектами, описано в других обучающих программах и справочной библиотеке.
Добавление противника на карту
Размещение ИИ на ваш уровень
Для размещения ИИ в RollupBar выберите Objects затем Entity, в папке AI выберите Grunt и перетащите в окно перспективы.
Снабжение ИИ оружием
Для снабжения ИИ оружием нажмите кнопку … в поле EquipmentPack откроется диалоговое окно пакетов экипировки. Для получения дополнительной информации о настройке пакетов экипировки, прочтите учебное пособие по Equipment Pack.
Важно: Чтобы изменения вступили в силу нажмите кнопку Reload Script (расположена ниже свойств сущности) чтобы Grunt начал использовать выбранный пакет оружия.
Архетипы противников
Все ИИ-персонажи Crysis размещены как архетип-объекты, это означает, что настроить параметры нужно всего один раз, чтобы использовать на разных уровнях. Чтобы увидеть параметры, которые они используют, просто нажмите на окно Entity Archetype (в следующем скриншоте текст CAMPER/CAMP.Light_Rifle).
Генерация навигации ИИ
Даже на равнинном ландшафте, убедитесь, что вы генерируете новую навигацию ИИ, хотя бы один раз после создания карты, а также после любых изменений на ландшафте.
Навигация ИИ может быть сгенерирована нажатием элемента Generate All Navigation, из меню AI.
Тестирование результатов
Перейдите в режим игры (CTRL+G) и подойдите к ИИ, если вы всё правильно настроили, то ИИ будет стрелять в игрока, когда он его увидит или услышит.
Настройка навигации
Введение
Чтобы ваш ИИ работал правильно на вашем уровне, вы должны настроить различные типы навигации.
Введение ai_DebugDraw=79 в консоль покажет вам, настроена ли уже триангуляция, это означает, что ИИ сможет найти свой путь из одной точки в другую не натыкаясь на препятствия.
Растительность
ИИ автоматически обходит объекты растительности, если всё настроено правильно.
Если Вы хотите, чтобы ИИ скрылись за деревьями установите флаг Hideable в свойствах Vegetation.
Затем, скорректируйте AIRadius Vegetation, чтобы ИИ понимал, насколько большой объект растительности.
ИИ будет так же автоматически обходить более сложные объекты, такие как транспортные средства.
Утесы и большие твердые объекты
Введение ai_debugdraw 85 в Консоль выведет на экран все области, которые слишком круты, чтобы подняться (показаны красным цветом) и области которые могут вызвать скольжение (зеленый).
Теперь мы должны изолировать все такие области запретными областями ForbiddenAreas (смотрите раздел ниже).
Запретные области
Вы должны окружить каждую внутреннею область точки пути формой ForbiddenArea, таким образом, ИИ не будет врезаться в стены и другие объекты.
Нажмите на AI/ForbiddenArea и создайте форму вокруг области, которую вы хотите сделать непроходимой (например, внешние стены здания). Выберите ForbiddenArea из меню, как показано ниже.
Как только ваша ForbiddenArea будет создана, а уровень будет триангулирован, ИИ не будет врезаться в стены.
Настройка точек пути во внутренних областях
Чтобы ИИ смог входить в двери и перемещаться внутри здания необходимо добавить Waypoint Region. Вам нужно расширить одну секций этого Waypoint Region вне запретной области, чтобы сделать вход для ИИ, как показано ниже.
3 вещи, которые необходимо настроить в Waypoint Region:
- Область AI Navigation Modifier
- AIWaypoint (разных типов)
- Точки входа/выхода (Entry/Exit) AIWaypoint
Вы должны окружить каждую область точки пути формой AINavigationModifier с типом навигации (NavType) «Human Waypoint».
Щелкните по AI/AINavigationModifier и создайте форму указанного выше типа.
По умолчанию тип навигации «Human Waypoint», так что ничего изменять не надо.
Разместите AI/AIPoint внутри вашей области. Вы увидите, что они стали синим тогда, когда они будут находится в правильной области.
В том месте, где ИИ должнен входить и выходить из области, там изменить тип AIPoint на Entry/Exit (будет отображен символ двери, вместо синего шара).
Одна часть области AINavigationModifier должна быть вне формы запретной области (красная линия), чтобы ИИ смог достичь точки.
Чтобы сгенерировать соединения со всеми точками, выберите вашу AINavigationModifier и нажмите Auto-Dynamic' в Waypoint Connection Parameters.
И, наконец, щёлкните по одной из точек и нажмите кнопку Regen Links:
Теперь, все точки должны быть соединены, как на рисунке ниже и ИИ сможет перемещаться внутри области, и входить/выходить из неё там, где вы установили конкретные точки входа и выхода.
Смотрите раздел ниже чтобы узнать о том, как должны быть настроены и размещены ForbiddenArea и Waypoints.
Воздушная навигация
Вы должны окружить каждую область, в которой вы хотите чтобы пилотировал воздушный транспорт формой AINavigationModifier с типом навигации «Flight». Вы также должны задать для этой области высоту.
Водная навигация
Вы должны окружить каждую область, в которой вы хотите чтобы ориентировался водный транспорт (например, лодки) формой AINavigationModifier с типом навигации «Water».
Пути и дороги
Создайте AIPath с отмеченной галочкой Road, и транспортные средства будут автоматически иметь сильное предпочтение для использования дорог/путей. Также можно заставить ИИ следовать по пути используя нод потокового графа «AIFollowPath».
Внешние точки прикрытия
Чтобы заставить скрыться ИИ в определенных местах вы должны поставить AIAnchor (вне областей пути).
Разместите AI/AIAnchor рядом с любым твёрдым объектом, например, к стене. Теперь, обратите внимание на два красные полосы перед точкой скрытия, которые указывают, что ИИ можете использовать анимацию присядки/скрытия, либо анимации наклона влево/вправо. Красная линия спереди точки скрытия показывает, сколько нужна места для наклона влево и вправо. Убедитесь, что зелёная область ничем не заблокирована, так, чтобы ИИ смог его использовать.
Тип «Hide» у AIPoint в областях навигации
Тот же самый принцип, что у AIAnchor, также применяется у точки скрытия, типа AIPoint. Чтобы превратить точку пути в навигационной области, в точку скрытия, нужно просто выбрать тип Hide в поле Type раздела AIPoint Properties.
Как правильно настроить ИИ — Расширенные советы
Запретные области
Здесь запретная область находится слишком далеко от самих объектов.
Вместо этого размещайте их ближе к краям объектов. Это позволит избежать, попадания ИИ в области скольжения. Теперь ИИ обходит эти объекты намного лучше.
Не ставьте две запретные области так близко друг к другу. Навигация будет всё-равно идти между ними, даже если ИИ не сможет там пройти.
Вместо этого удалите одну запретную зоны, и создайте одну большую запретную зону, содержащую оба объекта.
Не размещайте предметы рядом с краем запретной зоны. В противном случае ИИ будет кружить вокруг скрытых объектов и сможет проскользнуть в запретную зону.
Размещайте скрытые объекты либо внутри запретной зоны, либо за её пределами. Убедитесь в том, что если ИИ будет кружить вокруг скрытых объектов, то он не проскользнёт в запретную зоне.
Большие, открытые сбоку структуры, не должны иметь одну большую запретную зону вокруг них.
Вместо этого разместите меньшую запретную зону вокруг них.
Якоря прикрытия
ИИ скрывается в якоре скрытия, если приближается враг. Чем больше у вас ИИ, тем больше должно быть размещено якорей скрытия. Не размещайте якоря скрытия только в одном направлении. Разместите их на все возможные направления.
Размещайте якоря скрытия не только по краям объектов, но и у боков. Бока обеспечивают лучшее прикрытие, чем края.
Для тонких объектов, размещайте якоря скрытия так близко к краям, чтобы ИИ смог быстро покинуть свою позицию. Не забудьте разместить их по обе стороны, и обратите их друг к другу.
Размещайте якоря скрытия только в тех позиции, где ИИ истинно сможет спрятаться. Передняя и задняя часть, к примеру, автомобиля даёт небольшое прикрытие. Середина даёт лучшее прикрытие.
Обычно края домов дают небольшое прикрытие. Первый якорь скрытия разместите близко к краю, и направьте его прямо. Затем разместите якорь скрытия с вращением 45°, немного подальше от края.
Если вас не достаточно якорей скрытия для нескольких ИИ, то вы можете количество якорей скрытия. Основные якоря скрытия наиболее важны. Затем, вы можете увеличить количество якорей скрытия с вращением 45°.
Если у вас длинные объекты, то не размещайте якоря скрытия в середине, в противном случае ИИ придётся далеко перемещаться, чтобы сменить позицию. Вы можете размещать их в середине, только тогда, когда есть другая позиция покрытия поблизости к середине.
Точки пути
Для двух комнат, будет достаточно разместить две точки пути. ИИ сможет из каждого угла комнату достигнуть ближайшую точку пути. Соединение дает ИИ возможностью переключать комнаты.
Размещайте точки пути на краях объектов. Никаких проблем с ИИ не будет и он никогда не застрянет.
В данном примере ИИ стоит у стены и ищет ближайшую точку пути. По чистой случайности, ближайшая точка пути находится за препятствием. В новых движках ИИ нашел бы верную точку пути, но он требует более высокую производительность. Вместо этого размещайте точки пути на одинаковом расстоянием от объекта.
Будьте осторожны, когда соединяете точки пути. Соединение никогда не должны находиться в непосредственной близости от физических объектов, либо проходить через них.
Избегайте нахождение точек пути вблизи к соединениям. Если два ИИ начнут двигаться, то они могут столкнуться, так как соединения помогают ИИ обходить друг с друга.
Избегайте пересечения соединение на углах объектов.
Вы можете легко решить эту проблему путем добавления новой точки пути на краю (одна точка на краю обязательно должна быть).
Если у вас есть альтернативные маршруты, то подумайте, как это будет выглядеть, если бы вы сами ходили точно по линии. Иногда лучше использовать большое количество точек пути для имитации более естественного движения, как в примере выше.
Если у вас есть комната, то перво-наперво разместите все точки пути по краям всех объектов. Делайте это для объектов, через которые нельзя пройти.
Затем, вы ищете точки пути, которые находятся близко друг к другу. Если они находятся близко друг к другу, то используйте одну точку вместо двух, что даст чистую навигацию и меньший шансов того, что ИИ застрянет.
После точек пути, разместите точки скрытия, соблюдая общие правила из раздела «Якоря скрытия».
Точки скрытия также являются частью навигация, сделайте слияние точек скрытия и точек пути, если они расположены слишком близко друг к другу.
Если все точки навигации размещены, то начинайте их соединение.
Эта точка пути в середине, не обеспечивает идеальное движение, но уменьшает шанс застревания ИИ.
Красные линии показывают плохие соединения: либо соединения проходят через/близко к геометрии, либо они расположены слишком близко к другим соединения. Это нормально, если ИИ должен сделать 1-2 шага, прежде, чем начнёт движение в правильном направлении.
Результат
Настроив всё это правильно, у вас будет ИИ способный идти в любую точку чтобы начать бой с игроком. Чем лучше вы разместите точки пути и точки скрытия, тем реалистичней и сложней будет игроку бороться против ИИ.