Elevators
Left 4 Dead имеет уникальную систему для создания лифтов, которые помогают Выжившим перемещаться вверх и\или вниз. Nav-сетка должна быть полностью соединена на всей карте, начиная от того места, где игроки начинают играть и вплоть до того места, куда им надо прийти. Поэтому для лифтов области nav-сетки необходимо соединять вертикально.
Для создания лифта используется браш-энтити, которая называется func_elevator. Вы также можете использовать модельку лифта, parent’ом, которой будет невидимый func_elevator или модельку с собственной анимацией, которая также будет связана с невидимым func_elevator.
Пример func_elevator есть в карте tutorial_standards.vmf.
Создайте брашевый лифт
Создайте браш или несколько брашей, которые будут энтитей func_elevator.
Выделите их и нажмите Ctrl+T чтобы превратить их в энити. Выберите "func_elevator" из выпадающего списка.
Поменяйте имя на желаемое вами. (поле Name)
Поменяйте 3-ю цифру в Bottom floor position , это будет нижняя точка спуска лифта, а так же в Top floor position на любое значение – соответственно, это верхняя точка (В окне проекции Front или Side есть специальные вспомогательные «указатели», потянув за которые, вы легко можете изменить эту 3-ю цифру).
Измените значение скорости (Speed) (unit’ы в секунду).
Добавляем этажи для лифта
Для того чтобы указать точки остановки лифта, вам потребуется разместить энити info_elevator_floor.
Выберите Entity Tool на панели слева от окон проекции и выберите "info_elevator_floor" из выпадающего списка Objects справа.
Поместите два экземпляра в окне проекции Camera прямо под лифтом.
С помощью окон проекции Side или Front, поместите их так, чтобы один был в том месте, где находится Top floor position энтити func_elevator, а второй – там, где Bottom floor position той же энтити func_elevator.
Откройте окно свойств нижнего info_elevator_floor, нажав Alt+↵ Enter.
Поменяйте поле Name на "bottom".
Выделите верхний info_elevator_floor, и поменяйте Name на "top".
Контролируем перемещение лифта
Теперь нужно кое-что добавить в инпут нашего func_elevator, чтобы заставить его перемещаться.
На карте tutorial_standards, это func_button
которую выжившие могут нажимать.
Чтобы создать func_button
, создайте браш и нажмите Ctrl+T чтобы преобразовать его в энтити. Выберите "func_button
" из выпадающего списка.
Также можно настроить несколько свойств нашей кнопки, чтобы заставить ее работать как надо, но просто давайте пока оставим их по-умолчанию и впишем в поле Name "button".
Перейдите на вкладку Flags в меню свойств и поставьте галочки напротив следующих пунктов:
- Don't move
- Use Activates
Это означает, что Выжившие могут нажимать ее и использовать, и клавиша не будет перемещаться, когда ее нажмут.
Теперь переключитесь на вкладку Outputs.
Добавьте новый аутпут кликнув по кнопке Add... Кнопка расположена ближе к левому нижнему углу окна.
- Выберите в поле My output значение "OnPressed".
- Выберите в поле Target entities значение "elevator_down_relay".
- Измените значение Via this input на "Trigger".
Сейчас нам потребуется создать энтити elevator_down_relay
, которая будет выполнять те действия, которые будут происходить после нажатия кнопки..
Выберите Entity Tool, и найдите "logic_relay" в выпадающем списке Objects (справа).
Разместите logic_relay рядом с func_button.
Откройте свойства при помощи Alt+↵ Enter.
Поменяйте имя на "elevator_down_relay" которое понадобится нам для создания аутпута в func_button.
Переключитесь на вкладку Outputs и добавьте новый аутпут со следующими полями:
- My output named: OnTrigger
- Targets entities named: elevator
- Via this input: MoveToFloor
- With a parameter override of: bottom
- After a delay in seconds of: 0
Это заставит лифт спуститься, когда активируется logic_relay, которое в свою очередь, активировано нажатием кнопки.
В зависимости от настроек вашего лифта, вы можете «приказать» лифту двигаться в другое место. Обратите внимание func_button
на func_elevator
на карте tutorial_standards.vmf.
Редактирование nav для func_elevator требует чтобы вы поместили лифт в каждое положение в котором это возможно, вставляя nav_mark_walkable (M) на него и построения навигационной сетки (B).
Всё! Лифт готов!
- L4D Level Design/Clip-браши|:L4D Level Design/Clip-браши]]