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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Запретные области)
(Запретные области)
Строка 84: Строка 84:
[[Файл:Sandbox_SimpleAI_image023.png]]
[[Файл:Sandbox_SimpleAI_image023.png]]
-
Как только ваша [[Sandbox_ForbiddenArea|ForbiddenArea]] будет создана, а уровень будет триангулирован, ИИ не будет врезатся в стены.
+
Как только ваша [[Sandbox_ForbiddenArea|ForbiddenArea]] будет создана, а уровень будет триангулирован, ИИ не будет врезаться в стены.
[[Файл:Sandbox_SimpleAI_image025.png]]
[[Файл:Sandbox_SimpleAI_image025.png]]

Версия 12:36, 19 марта 2011

Эта страница страница помечена как находящиеся в процессе перевода с: 7 Марта 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. You need to extend one section of this Waypoint Region outside of the forbidden area, as an entryway for the AI, as below.

Sandbox SimpleAI image027.png

The 3 things you need to setup a Waypoint Region are:

  • AI Navigation Modifier Area
  • AIWaypoints (of various types)
  • AIWaypoint Entry/Exit points

You need to surround each waypoint region with an AI Navigation Modifier «Human Waypoint». (The blue shape).

Click on AI/AINavigationModifier and create an area shape of that type.

Sandbox SimpleAI image029.png

By default the NavType is set to «Human Waypoint» so no need to modify anything.

Place AI/AIpoints inside your area. You will see they turn blue once they are in a valid area.

Sandbox SimpleAI image031.png

At the place where AI should be able to enter and exit the area change the type of the AIPoint to Entry/Exit (a door symbol will be displayed instead of the blue ball.

Sandbox SimpleAI image033.png

One part of the AINavigation modifier area should be outside the forbidden area shape (red line) so the AI can reach the point.

Sandbox SimpleAI image035.png

To generate the connection between all points select the AINavigationModifier shape you placed and set Auto-Dynamic in the Waypoint Connection Parameters.

Sandbox SimpleAI image037.png

And finally click on one of the points and press the Regen Links Button:

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

See the section below on how ForbiddenAreas and Waypoints should be setup in terms of placement.

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.
Water Navigation
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.


Paths and Roads

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

External Hide Points

To make AI hide at specific spots you have to place AIAnchor (outside of waypoint areas).

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


AIPoint Type Hide Points in Nav Areas

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 image049.png


How to setup AI correctly – Advanced tips

Forbidden Areas

Sandbox SimpleAI image051.png

Here the forbidden area is placed too far away from the actual object.

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

Do not place two forbidden areas so close to each other. Even if the AI can‘t fit through, the navigation will still trace a path in between.

Sandbox SimpleAI image057.jpg

Instead delete one forbidden area. Make one big forbidden area which contains both objects.

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

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‘t slip in the forbidden area

Large open sided structures should not have one big forbidden area around them.

Sandbox SimpleAI image063.jpg

Rather, place smaller forbidden areas around them.

Sandbox SimpleAI image065.jpg


Hide Anchors

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

Place hide anchors at the sides of an object not only at the edges. Sides provide better cover than edges.

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

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

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.

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.

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

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

Place waypoints at the edges of objects. The AI will have no problems going around and never gets stuck.

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

Take care when you link waypoints. The links should never go through or go very close to physical objects.

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

Avoid such crossing links at object corners. AI might run into each other at intersections.

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

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

If you have a room first place all waypoints at all edges of objects. Only do this with objects you can‘t walk over.

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

After the waypoints place the hide points, follow the general rules from the hideanchors.

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

If all navigation points are placed, start linking them.

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

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.


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

See Also