вернуться на beanet.ru вернуться к списку проектов вернуться на главную страницу сборника

Тема: logic_choreographed_scene (энтити)

картинка в Hammer

Ключевые слова: управление несколькими NPC, продвинутая анимация, сцена с NPC

См. также: Сложные скриптовые сцены (choreographed scenes) в редакторе FacePoser, scripted_sequence
Список используемых понятий, сокращений и обозначений

перейти к общему списку

Используется для добавления и управления в игре заранее созданными скриптовыми сценами. По сути, это расширенный вариант энтити scripted_sequence, который может задействовать до 8 разных NPC и заставить их совершать целые группы анимаций.
Энтити проигрывает готовую сцену (сделанную в редакторе FacePoser), которая может задавать мимику лица (для NPC-людей), определять произносимые фразы (либо издаваемые звуки), изменять скорость воспроизведения анимаций и др.
Если NPC, участвующие в сцене, передвигаются, необходимо расставить на пути энтити info_node или info_node_*.




Атрибуты (Keyvalues)


Name
имя, используемое для ссылки на данный объект.
Scene file
путь к *.vcd-файлу готовой сцены (созданной ранее в FacePoser) относительно каталога /scenes Вашего мода.
По нажатии кнопки Browse… открывается просмотрщик сцен, в котором выбирается нужный файл. Не забудьте, что сцена должна быть объявлена в файле scenes.image (подробнее см. Сложные скриптовые сцены (choreographed scenes) в редакторе FacePoser).
Target 1…Target 8
определяют конкретные энтити, которые будут участвовать в сцене.
При создании сцены в FacePoser "актеры" и цели событий (Event Target) задаются схематическими именами !targetN (где N принимает значения от 1 до 8), а здесь условные имена заменяются именами конкретных энтити.
Если имена "актеров" сцены заданы произвольно (без специальных символов), данные атрибуты не играют роли, а в сцене будут участвовать только NPC с соответствующими именами (атрибут Name).
If an Actor is talking…
какое действие следует выполнить, если участвующие в сцене (подконтрольные) NPC на момент начала произносят фразы.
Принимаемые значения:

Числовое значение Выполняемое действие
0 Начать действие сцены немедленно
1 Подождать, когда NPC договорят фразу
2 (добавлено в Эпизоде 1) Прервать NPC при следующем действии, вызывающем прерывание
3 (добавлено в Эпизоде 1) Прервать выполнение сцены при следующем действии, вызывающем прерывание

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

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



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


Kill
удаляет энтити из игры.
KillHierarchy
удаляет энтити и все ее дочерние энтити из игры (связанные через Parent).
AddOutput <строка>
добавляет Input/Output-связку с другой энтити в формате:
<имя события> <имя цели>:<управляющая команда>:<параметр>:<задержка>:<максимальное число срабатываний (-1 == не ограничено)>
Данная команда является потенциально опасной, используйте ее аккуратно.
FireUser1…FireUser4
вызывает срабатывание соответствующих событий OnUser1…OnUser4 для данной энтити.
Start
запускает выполнение сцены.
Pause
приостанавливает выполнение сцены.
Resume
возобновляет выполнение сцены, которое было приостановлено.
Cancel
прерывает (останавливает) выполнение сцены.
CancelAtNextInterrupt
прерывает (останавливает) выполнение сцены при следующем действии в сцене, вызывающем прерывание.
PitchShift <число с п.точкой>
изменяет скорость проигрывания сцены.
InterjectResponse <строка>
находит "актера" (Actor), который может ответить на специализированную концептуальную строку во время выполнения сцены. На данный момент более точное описание отсутствует.
StopWaitingForActor
прекратить ожидание "актера" (Actor).


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


OnUser1…OnUser4
вызываются управляющими командами FireUser1…FireUser4, соответственно.
OnStart
происходит, когда сцена начинает выполняться.
OnCompletion
происходит, когда сцена завершает свое выполнение нормальным образом (дойдя до конца).
OnCanceled
происходит, когда выполнение сцены прерывается.
OnTrigger1…OnTrigger16
происходят при срабатывании триггеров 1…16 сцены, соответственно.


Флаги (Flags)

Отсутствуют



Статьи (рус): Звуковой кэш
Статьи (eng):

перейти к общему списку

Номер статьи: 15

Сборник полезной информации по созданию модификаций на движке Valve Source Engine (игры Half-Life 2, Episode One, Episode Two)