Суббота, 20.04.2024, 01:13
Приветствую Вас Guest | RSS
Главная страница | Статьи | Регистрация | Вход
Меню сайта

Случайный рисунок

Категории каталога
Туториалы по маппингу (HL2) [68]
Туториалы по маппингу для Half-Life
Туториалы по текстурированию (HL2) [10]
Туторы по текстурированию для Half-Life
Туториалы по моделированию (HL2) [9]
Туторы по моделированию для Half-Life
Туториалы по программированию (HL2) [53]
Туторы по прагроммированию для Half-life
Другие туториалы (HL1 и HL2) [4]
Туторы которые не вошли в другие категории
Half-Life 2 Beta [1]
Статьи о npc и weapon в бете Half-Life 2, а так же мануалы и FAQ.
Туториалы по маппингу (HL1) [14]
Туторы по маппингу для Half-Life 1
Туториалы по текстурированию (HL1) [1]
Туторы по текстурированию для Half-Life 1
Туториалы по моделированию (HL1) [1]
Туторы по моделированию для Half-Life 1
Туториалы по программированию (HL1) [30]
Туторы по программированию для Half-Life 1

Наш опрос
Оцените мой сайт
Всего ответов: 632

Начало » Статьи » Туториалы по маппингу (HL2)

Описание энтити scripted_sequence
scripted_sequence (энтити)

Предназначена для управления NPC – заставляет их выполнять определенные анимации. NPC можно заставить сначала переместиться в позицию scripted_sequence, а потом выполнить нужную анимацию, либо NPC выполнит анимацию, не подходя к scripted_sequence.
Во время действия данной энтити искусственный интеллект подконтрольного NPC подавляется.
Если нескольким scripted_sequence задать одно и то же имя, это вынудит подконтрольных NPC одновременно начать выполнять свои анимации, как только все они подойдут к соответствующим scripted_sequence. Эту особенность можно использовать для изображения сцен с взаимодействующими NPC. При этом не забудьте задать атрибут Pre Action Idle Animation (иначе NPC во время ожидания могут выполнять произвольные бессмысленные анимации).

Порядок работы энтити (действий подконтрольного NPC):

1) переместиться в позицию scripted_sequence, используя заданную анимацию движения и разворачиваясь в том же направлении, что и данная энтити. Если атрибут Move to Position равен None, пропустить этот пункт и перейти к п.2
2) если подконтрольный NPC должен ждать других NPC для одновременного начала действий (см. выше), во время ожидания проигрывать анимацию, заданную атрибутом Pre Action Idle Animation, иначе пропустить этот пункт и перейти к п.3. В случае ожидания, если указанный атрибут не задан, будет проигрываться анимация ACT_IDLE.
3) сгенерировать событие OnBeginSequence.
4) выполнить анимацию, заданную атрибутом Action Animation. Если анимация не задана, пропустить данный пункт и перейти к п.5
5) выполнить анимацию, заданную атрибутом Post Action Idle Animation. Если атрибут не задан, пропустить данный пункт и перейти к п.6. Если установлен флаг Loop in Post Idle, указанная анимация будет выполняться бесконечно, пока активна энтити (т.е. пока к ней не применена команда CancelSequence или Kill). Если флаг установлен, а атрибут не задан, будет проигрываться анимация ACT_IDLE.
6) сгенерировать событие OnEndSequence.
7) если задан атрибут Next Script, NPC начинает выполнять тот же порядок действий для следующей энтити scripted_sequence.

Замечание: некоторые анимации начинаются (или заканчиваются) с задержкой (около 1 сек), когда подконтрольный NPC должен подойти к scripted_sequence. Однако те же анимации выполняются без задержки, когда назначаются в Post Action Idle Animation. Если Вас не устраивает данная особенность энтити scripted_sequence, придется отказаться от ее использования в пользу logic_choreographed_scene и редактора Face Poser (в редакторе можно более тонко настроить анимацию NPC).

Атрибуты (Keyvalues)

Name – имя, используемое для ссылки на данный объект.

Parent <имя энтити> - имя родительской энтити (параметр Name), с которой данная энтити будет «связана». При этом движение, ориентация в пространстве и жизнь данной энтити (дочерней) будут зависеть от родительской энтити.

Pitch Yaw Roll (Y Z X) - ориентация энтити в пространстве (параметры означают соответствующие углы поворота относительно осей Y, Z и X).
Обратите внимание: подконтрольный NPC будет разворачиваться в том же направлении.

Target NPC <список энтити> - имя подконтрольного NPC или класса NPC (например, npc_citizen).

Pre Action Idle Animation <строка> - имя анимации (например “idle01”) или активности (например “ACT_IDLE”), проигрываемой до начала активизации энтити, если NPC вынужден ждать события OnBeginSequence (см. выше). Атрибут используется, если установлен флаг Start on Spawn, либо энтити дана управляющая команда MoveToPosition, либо подконтрольный NPC будет ожидать других (см. выше).

Entry Animation <строка> - имя анимации (например “reload02”) или активности (например “ACT_RELOAD”), проигрываемой в начале активизации энтити, до перехода к основной анимации (см. ниже). Добавлено в Half-Life 2: Episode 1.
На данный момент условия выполнения этой анимации неизвестны. По-видимому, не работает в Half-Life 2.

Action Animation <строка> - имя основной анимации (например “reload02”) или активности (например “ACT_RELOAD”). Если NPC должен выполнить только одну анимацию, она задается именно этим атрибутом.

Post Action Idle Animation <строка> - имя анимации (например “idle01”) или активности (например “ACT_IDLE”), проигрываемой после основной анимации. Атрибут используется, если задать одинаковое имя нескольким scripted_sequence (см. выше про одновременное выполнение анимаций).

Custom Move Animation <строка> - используется совместно с установленным значением Custom movement атрибута Move to Position и определяет анимацию (например “crouch_run01”) или активность (например “ACT_RUN”), которая будет использоваться во время передвижения подконтрольного NPC к энтити scripted_sequence.

Loop Action Animation? <список значений Yes/No> - определяет зацикливание основной анимации (см. выше). Добавлено в Half-Life 2: Episode 1.
По-видимому, не работает в Half-Life 2.

Synch Post Idles? <список значений Yes/No> - предположительно определяет одновременное завершение анимаций Post Action Idle Animation несколькими NPC и используется в сценах взаимодействия NPC (см. выше описание и порядок работы scripted_sequence). Добавлено в Half-Life 2: Episode 1.
По-видимому, не работает в Half-Life 2.

Search Radius (0=everywhere) <число с п.точкой> - радиус для поиска подконтрольных NPC (в основном используется, если атрибут Target NPC задает класс NPC). Значение 0 задает поиск NPC на всей карте.

Repeat Rate ms <число с п.точкой> - назначение неизвестно. По-видимому, должен задавать время, в течение которого подконтрольный NPC будет циклически проигрывать анимацию, и используется совместно с флагом Repeatable (см. ниже). На данный момент изменение параметра не оказывает видимого влияния на работу энтити.

Move to Position <список значений> - задает способ передвижения подконтрольного NPC к энтити scripted_sequence.
Принимаемые значения:

Значение Описание
0 Движения нет (выполнить анимацию, стоя на месте)
1 Идти шагом
2 Бежать
3 Движение задается отдельно (см. выше Custom Move Animation)
4 Переместиться мгновенно
5 Движения нет, только повернуться лицом к scripted_sequence

Next Script <список энтити> - имя следующей энтити scripted_sequence, которая будет активизирована сразу после окончания действия текущей. Между этими двумя энтити контроль над целевым NPC не утрачивается (т.е. NPC «не отвлекается» от выполнения действий).

Minimum DX Level <список> - минимальная версия DirectX на компьютере пользователя, при которой энтити будет работать.
Принимаемые значения:

Значение Описание
0 По-умолчанию (наименьшая версия)
70 Версия DirectX 7.0

Maximum DX Level <список> - максимальная версия DirectX на компьютере пользователя, при которой энтити будет работать.
Принимаемые значения:

Значение Описание
0 По-умолчанию (последняя версия)
60 Версия DirectX 6.0

On player death <список> - что происходит, когда игрок погибает.
Принимаемые значения:

Значение Описание
Do Nothing энтити продолжает быть активной, NPC продолжает выполнять действия
Cancel Script and return to AI энтити перестает быть активной, NPC возвращается в нормальное состояние (в котором поведение определяет заданный для NPC искусственный интеллект)

Управляющие команды (Inputs)

Kill – удаляет entity из игры.

KillHierarchy – удаляет энтити и все ее дочерние энтити из игры (связанные через атрибут Parent).

AddOutput <строка> – добавляет Input/Output-связку с другой энтити в формате:
<имя события> <имя цели>:<управляющая команда>:<параметр>:<задержка>:<максимальное число срабатываний (-1 == не ограничено)>
Будьте аккуратны при использовании этой команды, т.к. она является потенциально опасной.

FireUser1…FireUser4 – вызывает срабатывание соответствующих событий OnUser1…OnUser4 для этой энтити.

SetParent <строка> - изменяет родительскую энтити для данной.

SetParentAttachment <строка> - изменяет способ «связывания» данной энтити с родительской. Предварительно необходимо определить значение Parent для данной энтити (задав атрибут Parent в редакторе или командой SetParent в игре). Передаваемый параметр определяет тип привязки.

SetParentAttachmentMaintainOffset <строка> - команда аналогична предыдущей, за исключением того, что данная энтити будет поддерживать положение относительно родительской во время привязки.

ClearParent – убирает привязку данной энтити к родительской.

BeginSequence – заставляет подконтрольного NPC начать выполнение анимации.

MoveToPosition – заставляет подконтрольного NPC идти к позиции scripted_sequence. Во время передвижения NPC выполняет заданную анимацию (см. выше атрибут Move to Position), если анимация не задана – выполняется активность NPC ACT_IDLE. Анимация выполняется до начала основной анимации (событие OnBeginSequence).

CancelSequence – останавливает выполнение scripted_sequence (и анимации). Если команда дана после начала основной анимации, она игнорируется до тех пор, пока основная анимация не закончится (до события OnEndSequence).

События, происходящие с энтити (Outputs)

OnUser1…OnUser4 – вызываются управляющими командами FireUser1…FireUser4, соответственно.

OnBeginSequence – происходит в начале выполнения основной анимации (Action Animation)

OnEndSequence – происходит в конце выполнения основной анимации.

OnScriptEvent01…OnScriptEvent08 – происходят во время выполнения scripted_sequence, если случается событие 'trigger' anim. Используйте event 1003 framenum 1…8 в QC. На данный момент более подробное описание отсутствует.

Флаги (Flags)

Repeatable – назначение флага неизвестно. По-видимому, должен использоваться совместно с атрибутом Repeat Rate ms (см. выше).

Leave Corpse – назначение флага неизвестно. По-видимому, должен задавать исчезновение убитого NPC в игре.

Start on Spawn – энтити активизируется сразу после создания в игре.

No Interruptions – запрещает прерывание анимации подконтрольного NPC (вызванное, например, стрельбой по нему). Если флаг не установлен, scripted_sequence прекращает свое действие в случае «вмешательства» в ее выполнение.

Override AI – назначение флага неизвестно.

No Script Movement – назначение флага неизвестно.

Loop in Post Idle – анимация Post Action Idle Animation будет повторяться бесконечно (соответственно, активность энтити длится до тех пор, пока ей не будет дана команда сброса).

Priority Script – назначение флага неизвестно.

Источник: http://bbs.nashalife.ru/showthread.php?s=&postid=569690#post569690

Категория: Туториалы по маппингу (HL2) | Добавил: DetLeR (08.05.2007) | Автор: PNX
Просмотров: 3265 | Комментарии: 4 | Рейтинг: 5.0 |

Всего комментариев: 4
4 e  
0
понятно!!!

3 Thardadeway  
0
Привет! Никто не работал с этими ребятами этими, ссылка ниже, можно им доверять? Хочу себе номер красивый, вот думаю чтобы не кинули:

2 Agilungange  
0
Купить блатной номер для авто машины - знак престижа и даже можно сказать часть имиджа и уверенности в себе на дороге. Красивые и блатные автомобильные номера покажут всем участникам дорожного движения, что за рулем или на заднем диване находится человек имеющий прямое или косвенное отношение к влиятельным слоям населения, а может и непосредственно к гос структурам, а значит, на дороге вас будут видеть и заочно уважать.
Если Вы желаете официально купить красивые номера на автомобиль - Мы продаём Вам авто типа ВАЗ + автомобильные государственные регистрационные знаки, которые Вы хотели купить, и по перевесу с вашего уже ВАЗ оформляем перевес автономера на Ваш автомобиль.
Престижные и статусные, красивые и очень красивые, блатные и спецсерии - любые номера для автомобиля на ваш вкус и пожелания. Работаем ежедневно 24 часа и 7 дней в неделю, без выходных и перерывов.

ВЫ МОЖЕТЕ БЫТЬ УВЕРЕНЫ - Мы не станем Вас держать целый день или более 2-х - 3-х часов, чтобы совершить ВСЕ операции!
Если Вы желаете официально продать свой красивый номер для авто Москва 77, 97, 99, 177, 199, 197 или Московская область 50, 90, 150, 190, пожалуйста звоните в любое время. Рассмотрим все предложения. Приемлем обмен автономера на авто номер или автономер на автомобильные номера с доплатой или по бартеру на услуги или товар.
Мы с огромным уважением относимся к каждому нашему клиенту кто к нам обращается и ЦЕНИМ ВАШЕ ВРЕМЯ!
+7-925-001-26-01
http://www.ooo-Auto001.RU/

1 Codename  
1
ОЧЕНЬ и ОЧЕНЬ полезная информацыя... Уважение автру.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Кто в Онлайн

Друзья сайта

Баннеры

  Сайт CrazyArts   Black   Сообщество сайтов о Half-Life   Самый   Только   Все   hl2 top 100     Rambler's Top100  

игры
игры

  Каталог сайтов Планета Топ 100 - Planet Top 100       ТОП ЛУЧШИХ ИГРОВЫХ САЙТОВ           Detroit Team Site :: Моды от Detroit Team, видео, новости.   Naruto-kun[Звезда Наруто]  


The idea of dising: Homie7