Настройка И.И. с более продвинутым поведением

Материал из CryWiki Russia

(Различия между версиями)
Перейти к: навигация, поиск
 
(2 промежуточные версии не показаны)
Строка 1: Строка 1:
-
{{В процессе перевода|дата=7 Марта 2011|автор=1}}
 
-
 
== Настройка И. И. с более продвинутым поведением ==
== Настройка И. И. с более продвинутым поведением ==
-
 
[[Файл:Sandbox SimpleAI image001.jpg]]
[[Файл:Sandbox SimpleAI image001.jpg]]
=== Введение ===
=== Введение ===
-
 
Это учебное пособие покажет вам, как разместить врагов на карте и указать им, куда они могут идти или где могут скрываться. По умолчанию они запрограммированы стрелять в игрока, как только он попадёт в зону их видимости.
Это учебное пособие покажет вам, как разместить врагов на карте и указать им, куда они могут идти или где могут скрываться. По умолчанию они запрограммированы стрелять в игрока, как только он попадёт в зону их видимости.
Строка 14: Строка 10:
==== Размещение ИИ на ваш уровень ====
==== Размещение ИИ на ваш уровень ====
-
 
+
Для размещения ИИ в '''[[Сворачивающаяся панель Sandbox 2|RollupBar]]''' выберите '''Objects''' затем '''Entity''', в папке '''AI''' выберите '''Grunt''' и перетащите в окно перспективы.
-
Для размещения ИИ в '''[[Панель инструментов Sandbox 2|RollupBar]]''' выберите '''Objects''' затем '''Entity''', в папке '''AI''' выберите '''Grunt''' и перетащите в окно перспективы.
+
[[Файл:Sandbox_SimpleAI_image003.png]]
[[Файл:Sandbox_SimpleAI_image003.png]]
Строка 55: Строка 50:
==== Растительность ====
==== Растительность ====
-
 
ИИ автоматически обходит объекты растительности, если всё настроено правильно.
ИИ автоматически обходит объекты растительности, если всё настроено правильно.
Строка 69: Строка 63:
==== Утесы и большие твердые объекты ====
==== Утесы и большие твердые объекты ====
-
 
Введение '''ai_debugdraw 85''' в '''Консоль''' выведет на экран все области, которые слишком круты, чтобы подняться (показаны красным цветом) и области которые могут вызвать скольжение (зеленый).
Введение '''ai_debugdraw 85''' в '''Консоль''' выведет на экран все области, которые слишком круты, чтобы подняться (показаны красным цветом) и области которые могут вызвать скольжение (зеленый).
Строка 77: Строка 70:
==== Запретные области ====
==== Запретные области ====
-
 
Вы должны окружить каждую внутреннею область точки пути формой [[ForbiddenArea]], таким образом, ИИ не будет врезаться в стены и другие объекты.
Вы должны окружить каждую внутреннею область точки пути формой [[ForbiddenArea]], таким образом, ИИ не будет врезаться в стены и другие объекты.
Строка 89: Строка 81:
==== Настройка точек пути во внутренних областях ====
==== Настройка точек пути во внутренних областях ====
-
 
Чтобы ИИ смог входить в двери и перемещаться внутри здания необходимо добавить Waypoint Region. Вам нужно расширить одну секций этого Waypoint Region вне запретной области, чтобы сделать вход для ИИ, как показано ниже.
Чтобы ИИ смог входить в двери и перемещаться внутри здания необходимо добавить Waypoint Region. Вам нужно расширить одну секций этого Waypoint Region вне запретной области, чтобы сделать вход для ИИ, как показано ниже.
Строка 124: Строка 115:
[[Файл:Sandbox_SimpleAI_image037.png]]
[[Файл:Sandbox_SimpleAI_image037.png]]
-
And finally click on one of the points and press the '''Regen Links''' Button:
+
И, наконец, щёлкните по одной из точек и нажмите кнопку '''Regen Links''':
[[Файл:Sandbox_SimpleAI_image039.png]]
[[Файл:Sandbox_SimpleAI_image039.png]]
-
All Points should now be connected like this and the AI will be able to navigate inside the area and enter/exit it at the points where you set the specific entry and exit points.
+
Теперь, все точки должны быть соединены, как на рисунке ниже и ИИ сможет перемещаться внутри области, и входить/выходить из неё там, где вы установили конкретные точки входа и выхода.
[[Файл:Sandbox_SimpleAI_image041.png]]
[[Файл:Sandbox_SimpleAI_image041.png]]
-
See the section below on how ForbiddenAreas and Waypoints should be setup in terms of placement.
+
Смотрите раздел ниже чтобы узнать о том, как должны быть настроены и размещены ForbiddenArea и Waypoints.
-
==== Flight Navigation ====
+
==== Воздушная навигация ====
-
You need to surround every area where you want something to fly with an AI Navigation Modifier shape called Flight. You also need to give this area a height.<br />
+
Вы должны окружить каждую область, в которой вы хотите чтобы пилотировал воздушный транспорт формой AINavigationModifier с типом навигации «Flight». Вы также должны задать для этой области высоту.<br />
-
Water Navigation<br />
+
-
You need to surround every area where you want something to navigate on water (i.e. boats) with an AI Navigation Modifier shape called Water.
+
 +
==== Водная навигация ====
 +
Вы должны окружить каждую область, в которой вы хотите чтобы ориентировался водный транспорт (например, лодки) формой AINavigationModifier с типом навигации «Water».
-
==== Paths and Roads ====
+
==== Пути и дороги ====
-
 
+
[[Файл:Sandbox_SimpleAI_image043.png]]
[[Файл:Sandbox_SimpleAI_image043.png]]
-
Create an '''AIPath''' with the '''Road''' box ticked, and vehicles will automatically have a strong preference to use the road/path. AI can also be made to follow the path using the AIFollowPath flowgraph node
+
Создайте '''AIPath''' с отмеченной галочкой '''Road''', и транспортные средства будут автоматически иметь сильное предпочтение для использования дорог/путей. Также можно заставить ИИ следовать по пути используя нод потокового графа «AIFollowPath».
-
==== External Hide Points ====
+
==== Внешние точки прикрытия ====
 +
Чтобы заставить скрыться ИИ в определенных местах вы должны поставить AIAnchor (вне областей пути).
-
To make AI hide at specific spots you have to place AIAnchor (outside of waypoint areas).
+
Разместите '''AI/AIAnchor''' рядом с любым твёрдым объектом, например, к стене. Теперь, обратите внимание на два красные полосы перед точкой скрытия, которые указывают, что ИИ можете использовать анимацию присядки/скрытия, либо анимации наклона влево/вправо. Красная линия спереди точки скрытия показывает, сколько нужна места для наклона влево и вправо. Убедитесь, что зелёная область ничем не заблокирована, так, чтобы ИИ смог его использовать.
-
 
+
-
Place an '''AI/AIAnchor''' next to any solid object. Now, notice the two red bars in front of the hide point, which indicates if the AI can use a crouch/hide animation, or a left/right strafe animation. The red line on the front of a hide point shows that there is left an right enough space the strafe left and right. Make sure the Green Area is not blocked by anything, so that the AI can actually use it.
+
[[Файл:Sandbox_SimpleAI_image045.png]]
[[Файл:Sandbox_SimpleAI_image045.png]]
-
 
+
==== Тип «Hide» у AIPoint в областях навигации ====
-
==== AIPoint Type Hide Points in Nav Areas ====
+
Тот же самый принцип, что у AIAnchor, также применяется у точки скрытия, типа AIPoint.
-
 
+
Чтобы превратить точку пути в навигационной области, в точку скрытия, нужно просто выбрать тип '''Hide''' в поле '''Type''' раздела '''AIPoint Properties'''.
-
The same concept for AIAnchors applies to the AIPoint Hide Points.
+
-
So, change one waypoint within a nav area to a Hide Point, by changing the '''Type''' in the '''AIPoint Properties'''.
+
[[Файл:Sandbox_SimpleAI_image047.png]]
[[Файл:Sandbox_SimpleAI_image047.png]]
Строка 164: Строка 151:
[[Файл:Sandbox_SimpleAI_image049.png]]
[[Файл:Sandbox_SimpleAI_image049.png]]
 +
=== Как правильно настроить ИИ — Расширенные советы ===
-
=== How to setup AI correctly &#8211; Advanced tips ===
+
==== Запретные области ====
-
 
+
-
==== Forbidden Areas ====
+
-
 
+
[[Файл:Sandbox_SimpleAI_image051.png]]
[[Файл:Sandbox_SimpleAI_image051.png]]
-
Here the forbidden area is placed too far away from the actual object.
+
Здесь запретная область находится слишком далеко от самих объектов.
[[Файл:Sandbox_SimpleAI_image053.jpg]]
[[Файл:Sandbox_SimpleAI_image053.jpg]]
-
Instead place them closer the the edges of the objects. This avoids that the AI might slip in the gaps. Now the AI navigates way better around these objects.
+
Вместо этого размещайте их ближе к краям объектов. Это позволит избежать, попадания ИИ в области скольжения. Теперь ИИ обходит эти объекты намного лучше.
[[Файл:Sandbox_SimpleAI_image055.jpg]]
[[Файл:Sandbox_SimpleAI_image055.jpg]]
-
Do not place two forbidden areas so close to each other. Even if the AI can&#8216;t fit through, the navigation will still trace a path in between.
+
Не ставьте две запретные области так близко друг к другу. Навигация будет всё-равно идти между ними, даже если ИИ не сможет там пройти.
[[Файл:Sandbox_SimpleAI_image057.jpg]]
[[Файл:Sandbox_SimpleAI_image057.jpg]]
-
Instead delete one forbidden area. Make one big forbidden area which contains both objects.
+
Вместо этого удалите одну запретную зоны, и создайте одну большую запретную зону, содержащую оба объекта.
[[Файл:Sandbox_SimpleAI_image059.jpg]]
[[Файл:Sandbox_SimpleAI_image059.jpg]]
-
Do not place objects close on the edge of a forbidden area. Otherwise the AI circles around the hide objects and can slip in the forbidden area.
+
Не размещайте предметы рядом с краем запретной зоны. В противном случае ИИ будет кружить вокруг скрытых объектов и сможет проскользнуть в запретную зону.
[[Файл:Sandbox_SimpleAI_image061.jpg]]
[[Файл:Sandbox_SimpleAI_image061.jpg]]
-
Place the hide objects either inside the forbidden area or outside of the forbidden area. Make sure that if the AI circles around the hide object it doesn&#8216;t slip in the forbidden area
+
Размещайте скрытые объекты либо внутри запретной зоны, либо за её пределами. Убедитесь в том, что если ИИ будет кружить вокруг скрытых объектов, то он не проскользнёт в запретную зоне.
-
Large open sided structures should not have one big forbidden area around them.
+
Большие, открытые сбоку структуры, не должны иметь одну большую запретную зону вокруг них.
[[Файл:Sandbox_SimpleAI_image063.jpg]]
[[Файл:Sandbox_SimpleAI_image063.jpg]]
-
Rather, place smaller forbidden areas around them.
+
Вместо этого разместите меньшую запретную зону вокруг них.
[[Файл:Sandbox_SimpleAI_image065.jpg]]
[[Файл:Sandbox_SimpleAI_image065.jpg]]
-
 
+
==== Якоря прикрытия ====
-
==== Hide Anchors ====
+
-
 
+
[[Файл:Sandbox_SimpleAI_image067.png]]
[[Файл:Sandbox_SimpleAI_image067.png]]
-
The AI hides at the hide anchor if an enemy is the cone. The more AI guys you have the more hide anchors you have to place. Do not place hide anchors for just one direction. Place them for all possible directions.
+
ИИ скрывается в якоре скрытия, если приближается враг. Чем больше у вас ИИ, тем больше должно быть размещено якорей скрытия. Не размещайте якоря скрытия только в одном направлении. Разместите их на все возможные направления.
[[Файл:Sandbox_SimpleAI_image069.jpg]]
[[Файл:Sandbox_SimpleAI_image069.jpg]]
-
Place hide anchors at the sides of an object not only at the edges. Sides provide better cover than edges.
+
Размещайте якоря скрытия не только по краям объектов, но и у боков. Бока обеспечивают лучшее прикрытие, чем края.
[[Файл:Sandbox_SimpleAI_image071.jpg]]
[[Файл:Sandbox_SimpleAI_image071.jpg]]
-
For thin objects place hide anchors close to the edges so the AI can leave their positions quickly. Do not forget to place them on both sides pointing at each other
+
Для тонких объектов, размещайте якоря скрытия так близко к краям, чтобы ИИ смог быстро покинуть свою позицию. Не забудьте разместить их по обе стороны, и обратите их друг к другу.
[[Файл:Sandbox_SimpleAI_image073.jpg]]
[[Файл:Sandbox_SimpleAI_image073.jpg]]
-
Place hide anchors only at position where the AI has real cover. The front and the back of e.g. a car provide less cover. The middle provides better cover.
+
Размещайте якоря скрытия только в тех позиции, где ИИ истинно сможет спрятаться. Передняя и задняя часть, к примеру, автомобиля даёт небольшое прикрытие. Середина даёт лучшее прикрытие.
[[Файл:Sandbox_SimpleAI_image075.jpg]]
[[Файл:Sandbox_SimpleAI_image075.jpg]]
-
Normaly edges of a house provide less cover. First place hide anchors close to the edge pointing directly in the direction. Then place hide anchors with 45� rotation slightly away from the edge.
+
Обычно края домов дают небольшое прикрытие. Первый якорь скрытия разместите близко к краю, и направьте его прямо. Затем разместите якорь скрытия с вращением 45°, немного подальше от края.
[[Файл:Sandbox_SimpleAI_image079.jpg]]
[[Файл:Sandbox_SimpleAI_image079.jpg]]
-
If you do not have enough hide anchors for many AI guys you can increase the hide anchors. The basic hide anchors are most important. Then you can increase the number hide anchors with the 45� ones.
+
Если вас не достаточно якорей скрытия для нескольких ИИ, то вы можете количество якорей скрытия. Основные якоря скрытия наиболее важны. Затем, вы можете увеличить количество якорей скрытия с вращением 45°.
[[Файл:Sandbox_SimpleAI_image081.jpg]]
[[Файл:Sandbox_SimpleAI_image081.jpg]]
-
If you have long objects do not place hide anchors in the middle, otherwise the AI has to move to far to change position. Only if there is other cover in the area can place them in the middle.
+
Если у вас длинные объекты, то не размещайте якоря скрытия в середине, в противном случае ИИ придётся далеко перемещаться, чтобы сменить позицию. Вы можете размещать их в середине, только тогда, когда есть другая позиция покрытия поблизости к середине.
-
 
+
-
 
+
-
==== Waypoints ====
+
 +
==== Точки пути ====
[[Файл:Sandbox_SimpleAI_image083.jpg]]
[[Файл:Sandbox_SimpleAI_image083.jpg]]
-
For two rooms it is enough to place these two waypoints. From every corner of the rooms the AI can reach the closest waypoint. The link gives the AI the possibility to switch rooms.
+
Для двух комнат, будет достаточно разместить две точки пути. ИИ сможет из каждого угла комнату достигнуть ближайшую точку пути. Соединение дает ИИ возможностью переключать комнаты.
[[Файл:Sandbox_SimpleAI_image085.jpg]]
[[Файл:Sandbox_SimpleAI_image085.jpg]]
-
Place waypoints at the edges of objects. The AI will have no problems going around and never gets stuck.
+
Размещайте точки пути на краях объектов. Никаких проблем с ИИ не будет и он никогда не застрянет.
[[Файл:Sandbox_SimpleAI_image087.jpg]]
[[Файл:Sandbox_SimpleAI_image087.jpg]]
-
The AI in this example is at the wall and is looking for the closest waypoint. Accidently the closest waypoint is behind an obstacle. In the new engine the AI would still find the correct one but it costs more performance. Instead place the waypoints with the same distance next to thin objects.
+
В данном примере ИИ стоит у стены и ищет ближайшую точку пути. По чистой случайности, ближайшая точка пути находится за препятствием. В новых движках ИИ нашел бы верную точку пути, но он требует более высокую производительность. Вместо этого размещайте точки пути на одинаковом расстоянием от объекта.
[[Файл:Sandbox_SimpleAI_image089.jpg]]
[[Файл:Sandbox_SimpleAI_image089.jpg]]
-
Take care when you link waypoints. The links should never go through or go very close to physical objects.
+
Будьте осторожны, когда соединяете точки пути. Соединение никогда не должны находиться в непосредственной близости от физических объектов, либо проходить через них.
[[Файл:Sandbox_SimpleAI_image091.jpg]]
[[Файл:Sandbox_SimpleAI_image091.jpg]]
-
Avoid waypoints that are to close to links. If two AI gyus start moving they might collide because the links are running to close next to each other.
+
Избегайте нахождение точек пути вблизи к соединениям. Если два ИИ начнут двигаться, то они могут столкнуться, так как соединения помогают ИИ обходить друг с друга.
[[Файл:Sandbox_SimpleAI_image093.jpg]]
[[Файл:Sandbox_SimpleAI_image093.jpg]]
-
Avoid such crossing links at object corners. AI might run into each other at intersections.
+
Избегайте пересечения соединение на углах объектов.
[[Файл:Sandbox_SimpleAI_image095.jpg]]
[[Файл:Sandbox_SimpleAI_image095.jpg]]
-
You can easily solve this by adding a new waypoint at the edge (You should have a waypoint at the edge anyway).
+
Вы можете легко решить эту проблему путем добавления новой точки пути на краю (одна точка на краю обязательно должна быть).
[[Файл:Sandbox_SimpleAI_image097.jpg]]
[[Файл:Sandbox_SimpleAI_image097.jpg]]
-
If you have alternative routes think how it would look like if you would walk exactly along the lines. Sometimes it is better to use more waypoints to simulate a more natural movement like the right example.
+
Если у вас есть альтернативные маршруты, то подумайте, как это будет выглядеть, если бы вы сами ходили точно по линии. Иногда лучше использовать большое количество точек пути для имитации более естественного движения, как в примере выше.
[[Файл:Sandbox_SimpleAI_image099.jpg]]
[[Файл:Sandbox_SimpleAI_image099.jpg]]
-
If you have a room first place all waypoints at all edges of objects. Only do this with objects you can&#8216;t walk over.
+
Если у вас есть комната, то перво-наперво разместите все точки пути по краям всех объектов. Делайте это для объектов, через которые нельзя пройти.
[[Файл:Sandbox_SimpleAI_image101.jpg]]
[[Файл:Sandbox_SimpleAI_image101.jpg]]
-
Then you look for waypoints which are to close to each other. If they are close together use one waypoint instead of two for cleaner navigation and less chance for the AI to get stuck.
+
Затем, вы ищете точки пути, которые находятся близко друг к другу. Если они находятся близко друг к другу, то используйте одну точку вместо двух, что даст чистую навигацию и меньший шансов того, что ИИ застрянет.
[[Файл:Sandbox_SimpleAI_image103.jpg]]
[[Файл:Sandbox_SimpleAI_image103.jpg]]
-
After the waypoints place the hide points, follow the general rules from the hideanchors.
+
После точек пути, разместите точки скрытия, соблюдая общие правила из раздела «Якоря скрытия».
[[Файл:Sandbox_SimpleAI_image105.jpg]]
[[Файл:Sandbox_SimpleAI_image105.jpg]]
-
Hidepoints are also part of the navigation, merge hidepoints and waypoints if they are too close to each other.
+
Точки скрытия также являются частью навигация, сделайте слияние точек скрытия и точек пути, если они расположены слишком близко друг к другу.
[[Файл:Sandbox_SimpleAI_image107.jpg]]
[[Файл:Sandbox_SimpleAI_image107.jpg]]
-
If all navigation points are placed, start linking them.
+
Если все точки навигации размещены, то начинайте их соединение.
[[Файл:Sandbox_SimpleAI_image109.jpg]]
[[Файл:Sandbox_SimpleAI_image109.jpg]]
-
This waypoint in the middle may not provide perfect movement but it is better then AI getting stuck.
+
Эта точка пути в середине, не обеспечивает идеальное движение, но уменьшает шанс застревания ИИ.
[[Файл:Sandbox_SimpleAI_image111.jpg]]
[[Файл:Sandbox_SimpleAI_image111.jpg]]
-
The red lines show bad links: either the links go through/close to geometry, or they are too close other links. It is okay if the AI first has to take 1-2m step(s) before walking in the right direction. That is better than AI getting stuck.
+
Красные линии показывают плохие соединения: либо соединения проходят через/близко к геометрии, либо они расположены слишком близко к другим соединения. Это нормально, если ИИ должен сделать 1-2 шага, прежде, чем начнёт движение в правильном направлении.
-
 
+
-
==== Result ====
+
==== Результат ====
-
Having all this setup properly the AI will be able to walk to any point and fight against the player. The better you place the waypoints, hide points the more realistic and challenging it will be for the player to fight against the AI.
+
Настроив всё это правильно, у вас будет ИИ способный идти в любую точку чтобы начать бой с игроком. Чем лучше вы разместите точки пути и точки скрытия, тем реалистичней и сложней будет игроку бороться против ИИ.
[[Файл:Sandbox_SimpleAI_image113.png]]
[[Файл:Sandbox_SimpleAI_image113.png]]
-
[[Категория:Official:Basic - Gameplay Setup]]
+
[[Категория:Официальная документация:Основы - Настройка геймплея]]
-
== See Also ==
+
== См. также ==

Текущая версия на 10:44, 13 апреля 2011

Содержание

Настройка И. И. с более продвинутым поведением

Sandbox SimpleAI image001.jpg

Введение

Это учебное пособие покажет вам, как разместить врагов на карте и указать им, куда они могут идти или где могут скрываться. По умолчанию они запрограммированы стрелять в игрока, как только он попадёт в зону их видимости.

Типы характеров искусственного интеллекта, их взаимодействие с оружием, как далеко они могут видеть и слышать, продвинутое поведение, такое как групповая тактика, переговоры между ИИ, использование транспортных средств и взаимодействий с сложными объектами, описано в других обучающих программах и справочной библиотеке.

Добавление противника на карту

Размещение ИИ на ваш уровень

Для размещения ИИ в 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». Вы также должны задать для этой области высоту.

Водная навигация

Вы должны окружить каждую область, в которой вы хотите чтобы ориентировался водный транспорт (например, лодки) формой 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

См. также