L4D Level Design/Elevators:ru

From Valve Developer Community
Jump to: navigation, search

Left 4 Dead имеет уникальную систему для создания лифтов, которые помогают Выжившим перемещаться вверх и\или вниз. Nav-сетка должна быть полностью соединена на всей карте, начиная от того места, где игроки начинают играть и вплоть до того места, куда им надо прийти. Поэтому для лифтов области nav-сетки необходимо соединять вертикально.

Для создания лифта используется браш-энтити, которая называется func_elevator. Вы также можете использовать модельку лифта, parent’ом, которой будет невидимый func_elevator или модельку с собственной анимацией, которая также будет связана с невидимым func_elevator.

Пример func_elevator есть в карте tutorial_standards.vmf.

Создайте брашевый лифт

Пример func_elevator на карте tutorial_standards.

Создайте браш или несколько брашей, которые будут энтитей func_elevator.

Выделите их и нажмите Ctrl+T чтобы превратить их в энити. Выберите "func_elevator" из выпадающего списка.

свойства func_elevator.

Поменяйте имя на желаемое вами. (поле Name)

Поменяйте 3-ю цифру в Bottom floor position , это будет нижняя точка спуска лифта, а так же в Top floor position на любое значение – соответственно, это верхняя точка (В окне проекции Front или Side есть специальные вспомогательные «указатели», потянув за которые, вы легко можете изменить эту 3-ю цифру).

Измените значение скорости (Speed) (unit’ы в секунду).

Вспомогательные «указатели» func_elevator.
Note:Лифт был помещён in its own user VisGroup. Выберите вкладку Auto на панели VisGroups и снимите галочку Auto. Затем, Переключитесь обратно на вкладку User и поставьте галочку Elevator чтобы видеть только лифт и его связанные энити.

Добавляем этажи для лифта

Для того чтобы указать точки остановки лифта, вам потребуется разместить энити 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 назначает нашему func_elevator конечные точки.

Откройте окно свойств нижнего info_elevator_floor, нажав Alt+ Enter.

Свойства info_elevator_floor.

Поменяйте поле Name на "bottom".

Выделите верхний info_elevator_floor, и поменяйте Name на "top".

Контролируем перемещение лифта

Пример func_button на карте tutorial_standards.

Теперь нужно кое-что добавить в инпут нашего func_elevator, чтобы заставить его перемещаться.

На карте tutorial_standards, это func_button которую выжившие могут нажимать.
Свойства func_button..
Чтобы создать func_button, создайте браш и нажмите Ctrl+T чтобы преобразовать его в энтити. Выберите "func_button" из выпадающего списка.
Вкладка Flags энтити func_button.

Также можно настроить несколько свойств нашей кнопки, чтобы заставить ее работать как надо, но просто давайте пока оставим их по-умолчанию и впишем в поле Name "button".

Перейдите на вкладку Flags в меню свойств и поставьте галочки напротив следующих пунктов:

  • Don't move
  • Use Activates
Это означает, что Выжившие могут нажимать ее и использовать, и клавиша не будет перемещаться, когда ее нажмут.
Добавляем аутпут для нашего лифта в свойствах func_button.

Теперь переключитесь на вкладку Outputs.

Добавьте новый аутпут кликнув по кнопке Add... Кнопка расположена ближе к левому нижнему углу окна.

  • Выберите в поле My output значение "OnPressed".
  • Выберите в поле Target entities значение "elevator_down_relay".
  • Измените значение Via this input на "Trigger".
Создание logic_relay для спуска лифта.

Сейчас нам потребуется создать энтити elevator_down_relay, которая будет выполнять те действия, которые будут происходить после нажатия кнопки..

Выберите Entity Tool, и найдите "logic_relay" в выпадающем списке Objects (справа).

Разместите logic_relay рядом с func_button.

Откройте свойства при помощи Alt+ Enter.

Поменяйте имя на "elevator_down_relay" которое понадобится нам для создания аутпута в func_button.
Список аутпутов для logic_relay.

Переключитесь на вкладку 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 для func_elevator требует чтобы вы поместили лифт в каждое положение в котором это возможно, вставляя nav_mark_walkable (M) на него и построения навигационной сетки (B).

Всё! Лифт готов!



Основные статьи по созданию уровней для Left 4 Dead
:L4D Level Design/Clip-браши
L4D Level Design/Наступление "орды"