Node — это единица навигации NPC в пространстве. Они бывают наземными (info_node), воздушными(info_node_air), «взбирательными»(info_climb_node, показывают некоторым NPC, где можно лазить по трубам, подобно npc_fastzombie), и так называемые «хинты»(info_hint, info_node_hint и info_node_air_hint, об этом ниже). Наземными пользуются наземные NPC, воздушными — воздушные (за исключением некоторых, которые слишком большие, и двигаются по path_corner`ам). Climb-node'ы вообще очень странные — содержат свойства Hint-node'ов и я с ними так и не смог с ними разобраться (что вообще очень странно ;)).
Hint’ыHint node’ы подсказывают NPC, что: (оригинал таблицы здесь)
Значение свойства Hint | Описание | Требования | NPC | Тип Hint`а |
World: Window | Окно, через которое можно смотреть. | - | npc_cscanner, npc_spotlight | info_hint |
World: Act Busy Hint | Служит для Act Busy-системы. Об этом я напишу позже, в другом учебнике. | - | npc_citizen | info_node_hint |
World: Visually Interesting | Используется для обозначения интересующих NPC областей, на которые AI самостоятельно не обратил бы внимание. |
| Все | info_hint |
World: Inhibit Combine Mines within 15 feet | Препятствует, но не предотвращает combine_mine от взрыва в радиусе 180 юнитов |
| combine_mine | info_hint |
Crouch Cover Medium | Подсказывает NPC, что здесь можно укрыться. Укрытие должно быть 100 юнитов и больше |
| npc_citizen, npc_combine_s, npc_metropolice | info_node_hint |
Crouch Cover Medium | То же самое, что и Crouch Cover Medium, только укрытие может быть меньше 100 юнитов. | См. выше | См. выше | info_node_hint |
Enemy Disadvantage Point | Слабое место в обороне противника | Неизвестно | Неизвестно | info_node_hint |
Antlion: Burrow Point | Место появления npc_antlion. Учебник по этому есть здесь. | См. учебник | npc_antlion, npc_antlion_template_maker | info _hint |
Antlion: Thumper Flee Point | Место, куда летят Antlion’ы от «Отгонятеля» | - | npc_antlion | info_node_hint |
Crow: Fly to point | Вороны будут улетать к ближайшему Hint’у этого типа. | - | npc_crow | info_node_hint_air |
Follower: Wait point | Подсказывает лидерам (назначенным с помощью ai_goal_lead), что тут нужно подождать следующих за ним NPC и/или игрока. | - | Все NPC, которые реагируют на ai_goal_lead. | info_node_hint |
Override jump permission | NPC будет прыгать с одного Hint`а этого типа на другой, если это не нанесет ему урон. | - | Все наземные NPC | info_node_hint |
Player squad transition point | NPC будет телепортирован на один из этих Hint’ов при вызове Input`а outsidetransition. Блокируется на 0.5 секунды, для предотвращения spawn`а одного NPC в другом. |
| npc_citizen | info_node_hint |
NPC exit point | Служит для Act Busy-системы. Об этом я напишу позже, в другом учебнике. | - | npc_citizen | info_node_hint |
Strider node | Node для npc_strider | - | npc_strider | info_node_hint |
Прочитали? Я рад за вас. Теперь рассмотрим остальные свойства Hint-entit'ей.
Hint Group — группа hint’ов. Используются некоторыми entit’ями.
Minimum/Maximum State — минимальное и максимальное состояние, при котором NPC реагирует на данный Hint.
Остальное вам знать не нужно J.
Squad’ыТеперь перейдем к последней части нашего тутора — squad`ам. Squad — это группа NPC, которая обменивается информацией. Squad игрока называется player_squad. Squad’ы применяются во многих областях AI. Например, некоторые NPC имеют режим, в котором они могут видеть только через глаза своих со-squad'ников.
Ну что ж, на этом мы временно закончим изучение AI. С вами был HLGEN, до следующего тутора!