antibiotik писал: Может кто-нибудь рассказать про info_node?
Я расскажу. Дело в том, что про info_node никто ничего не знает. А ведь это далеко не такая простая энтить, как может показаться. У нее есть настройки.
info_node: если кто играл в Контру с ботами, то по-любому он знает, что такое вейпоинты (waypoints) — это ключевые точки пути, которые пробегает ИИ песронажа. Так вот — info_node, это почти то же самое. Расставляете эти ентити по вашему халфовскому уровню, и ваши десантники забегают с умом. Но у нода есть и дополнительные параметры. Если отжать кнопку "SmartEdit" в свойствах энтитя, то откроется текстовое поле, в которое можно добавить (кнопка "add") дополнительные параметры, такие как hinttype и activity:
параметры hinttype и activity у объекта info_node
Параметры:
hinttype = 0 — впереди ничего,
1 — перед дверью (чтоб не задумывался, а однозначно открывал дверь),
2 — перед окном,
3 — перед кнопкой,
4 — перед механизмом,
5 — перед краем перепада высот (большого пространства вниз или наоборот идущей вверх стены, а по ней передвигается интересующий нашего персонажа монстр или игрок, в таком случае не помешает выставить Activity = 46),
6 — перед источником света,
7 — перед источником тепла,
8 — перед мерцающим светильником,
9 — перед яркими цветами,
10 — перед кровью (декаль с кровью), см. карту C2A4D.bsp,
11 — перед инопланетной кровью (декалью с жёлтой кровью).
Activity = 0 — ничего не делать дополнительного,
35 — жевать,
45 — осматривать горизонтальную поверхность (внимание на тех, кто ходит по полу),
46 — осматривать стену (внимание на тех, кто находится выше на стенах или ниже в яме).
В теории - да. На практике же на хинт-подсказки реагируют только два монстра - буллсквид и хаундай.
Причём буллсквид реагирует только на хинт номер 10 (человеческая кровь). Соответственно Activity задает действие, которое монстр может выполнять на этой ноде. Сами Activity приведены правильно.
Хаундай реагирует на 4 хинта:
4 - некий механизм
8 - мерцающий свет
10 - человеческая кровь
11 - кровь алиенсов
Соответственно на каждый хинт требуется прописать активность.
Активность - это условный набор анимаций, который игра выберет самостоятельно из нескольких, помеченных при компиляции модели в qc-файле.
Теперь главный вопрос - для чего это нужно? Нужно это для того, чтобы монстры занимались своими делами в отсутствие игрока. Вы конечно можете заскриптовать это действие самостоятельно, но здесь, как мне кажется, более интересные возможности. Особенно если немного допилить эту систему ручками, прописав например валидацию других хинтов другим типам монстров.
Приведу пример. Допустим вы ставите на карту монстра. Пока он не видит врагов и не имеет скриптед_секвенсов, которые его "позовут", что он будет делать? Правильно, будет стоять на месте, как дурак. А хинты помогут симулировать его поведение, такой простенький симулятор A-Life.
То есть собачки будут обнюхивать кровяные пятна, моргать глазом на мигающий свет, пугаться некого механизма. В самой халфе это не было особо востребовано по очень простой причине. До катастрофы механический путь движения учоных куда проще задать скриптед_секвенсами, а после катастрофы вся живность начинает атаковать фримена (всё-таки игра 1998 года) и соответственно, увидеть её в естественной среде обитания шансов крайне мало. Если бы была возможность смотреть в камеры и прочие биодомы, то там я думаю это очень бы пригодилось. Да вот хотя бы thambsу. У него как раз были зверинцы.
В хл2 к слову сказать, эту систему расширили и углубили, но я пока не изучал толком.