2 and1-1:
Вот тебе целый тутор:
Минисцены
Приветствую всех! В этом уроке вы научитесь создавать мини-сценки с участием различных npc. Многие интересуются, как сделать, чтобы G-man заговорил?! Все очень банально и просто. Для этого используют в основном всего две энтити scripted_sequence и logic_choreographed_scene. Разобьем наш урок на две части:
1) Хореография персонажей
2) Использование анимации персонажей
Хореография персонажей
Для начала, создайте комнату, туда поместите игрока и npc_gman с параметрам Name: gman. Теперь добавьте энтитию с параметрами:
Class: logic_choreographed_scene
Name: scene_gman
Scene file: scenes/npc/Gman/gman_intro.vcd (Примечание: для просмотра выбираемой сцены необходимо зайти в Face Poser)
Target 1: gman
Следующим шагом будет добавление триггера:
Параметры:
Class: trigger_once
Name: trigger_act_gman
Outputs:
My output named: OnTrigger
Targets entities named: scene_gman
Via this input: Start
With a parameter override of:
After in delay in seconds of: 0.00
Вот и все, на этом первая часть урока окончена. Запускаем нашу карту и видим заходя в триггер, как наш «Человеко-чумодан» начинает с нами говорить о миссии Гордона. Переходим к следующей части.
Использование анимации персонажей
В этой части пойдет речь о анимации персонажей, т.е. о движениях совершаемых действующими лицами. Сначала определим цель, которую мы хотим достигнуть: заходя в триггер срабатывает энтития scripted_sequence, и Алекс начинает двигаться в сторону перил. Затем, она перескакивает через перила, и встает, облокачиваясь спиной к стене. Итак, начнем. Создаем комнату, в которой будет два уровня, т.е. уровень, где изначально будут располагаться игрок и Алекс, и второй, куда в дальнейшем спрыгнет героиня. Внимание: главное чтобы два уровня отличались в высоте на 124 юнита, иначе Алекс застрянет в полу!
Когда все постройки готовы, пожалуй, пора установить игрока и Алекс. Примените параметр Name: alyx, соответственно для героини. Установите флаг на “Wait For Script”, для того, чтобы Алекс ждала пока не сработает триггер.
Установите энтитию с параметрами, и расположите как показано на рисунке ниже.
Параметры:
Class: scripted_sequence
Name: seq_alyx_1
Target NPC: alyx
Custom Move Animation: walk_all
Angles: Вот с этим параметром не все так просто, для его определения вам нужно посмотреть на окно с проекцией «Top», и направить линию которая обозначена на черном круге, в направлении вашей ограды, через которую будет перепрыгивать Алекс. Фухх как намудрено описал, но вроде понятно!
Теперь оутпуты.
Outputs:
My output named: OnEndSequence
Targets entities named: seq_alyx_2
Via this input: BeginSequence
With a parameter override of:
After in delay in seconds of: 0.00
Мы сделали только один шаг, теперь нам нужно создать вторую энтитию с такими параметрами, и разместить ее возле ограды, точнее отдалить и поднять ее над полом на 2 юнита.
Параметры:
Class: scripted_sequence
Name: seq_alyx_2
Target NPC: alyx
Action animation: PrisonJumpDown
Custom Move Animation: walk_all
Move to position: Custom movement
Angles: установить подобно, как и в предыдущей энтити.
Outputs:
My output named: OnEndSequence
Targets entities named: seq_alyx_3
Via this input: BeginSequence
With a parameter override of:
After in delay in seconds of: 0.00
Осталось совсем не много! Установите следующую энтитию у стены, на другом уровне, куда Алекс, приземлившись, побежит вставать.
Параметры:
Class: scripted_sequence
Name: seq_alyx_3
Target NPC: alyx
Action animation: stopwomanpre
Post Action Idle Animation: stopwoman
Move to position: Walk
Angles: установить перпендикулярно стене.
Flags:
Loop in Post idle:
Остается поставить триггер:
Параметры:
Class: trigger_once
Name: trigger_act_alyx
Outputs:
My output named: OnTrigger
Targets entities named: seq_alyx_1
Via this input: BeginSequence
With a parameter override of:
After in delay in seconds of: 0.00
Автор: nikemike