L4D Level Design/Your First L4D Level:ru

From Valve Developer Community
Jump to: navigation, search
English Português-Brasileiro

Браш - простая 3D фигура созданная с помощь инструмента Block Hammer'а. Браши используются для создания больших поверхностей в вашем уровне, таких как потолки или полы. Мы создадим простую комнату используя браши.

Создание брашевого пола

Рисование браша.
  1. На панели Tool слева выберите Block tool Hammer block.png.
  2. Щелкните левой кнопкой мыши, и не отпуская, переместите курсор мыши в окно 2D проекции Top затем переместите курсор направо и вниз.
  3. При перемещении вы увидите пунктирную обводку квадрата или прямоугольника.
  4. Создайте квадрат 512x512 юнитов и отпустите левую клавишу мыши.
  5. Нажмите Enter на вашей клавиатуре для создания нарисованного браша.

Вернитесь в режим выделения, нажатием на иконку Selection tool Hammer select.png на панели Tool или нажмите клавишу Esc.

В режиме выделения, при выбранном браше, вы можете изменять размер браша нажатием на левую клавишу мыши по любому из квадратиков, расположенных по краям браша, и перемещением их.

Давайте уменьшим толщину браша (который мы используем в качестве пола) с 64 юнитов по умолчанию до 16. Для того чтобы сделать это, нам нужно сменить размер сетки.

Сетка

Сетка отображается во всех 2D окнах проекции. По умолчанию, все объекты привязываются к сетке. Несмотря на то что вы можете отключить это, лучше не делайте этого так как это предотвращает лики и другие ошибки на вашей карте.

По умолчанию, размер сетки равен 64 юнитам, которую показывают линии каждые 64 юнита. Размер сетки показывается в панели статуса внизу окна Hammer.

  • Нажатие на Smaller Grid Hammer SmallerGrid.png сделает сетку мельче, для более высокой точности. Вы также можете уменьшить размер сетки нажатием на клавишу [
  • Нажатие на Latger Grid Hammer SmallerGrid.png сделает сетку крупнее, для более легкого перемещения. Вы также можете увеличить размер сетки нажатием на клавишу ]

Для того, чтобы уменьшить сетку до 16 юнитов, нажмите дважды на клавишу [. Посмотрите на Status bar внизу справа окна Hammer и удостоверьтесь в наличии Grid: 16. Если это не так, нажмите на [ или ].

Изменение размера пола

Уменьшение высоты браша в окне проекции Side.

Сейчас сетка должна быть мелкой.

Переключитесь на правое нижнее окно проекции. Оно должно называться Side при наведении на него мышью. Переместите верхний край браша вниз до толщины 16 юнитов.

Перемещение брашей

Нажатие и перемещение в любом 2D окне проекции для перемещения браша.

Вы можете перемещать браши после того как Вы их создали. Выберите Selection tool Hammer select.png и направьте мышь на браш одной из 2D окон проекций, держась на расстоянии от угловых маркеров. Указатель примет форму четырех стрелок, направленных во все четыре стороны FourArrows.png, означающих включение опции перемещения объекта.

Кликните и начните двигать браш в одном из 2D окон. Пока кнопка не отпущена, браш будет перемещаться в соответствующую позицию.
Configuring the options in Hammer.

Кроме этого, вы можете двигать объекты с помощью стрелок на клавиатуре. Для этого нам нужно установить клавиши, которые планируем использовать в настройках:

  1. Нажмите меню Tools, выберите Options, далее Configure Hammer.
  2. Кликните на 2D Views.
  3. Там есть много других полезных настроек, но нам пока интересен только пункт Arrow keys nudge selected object/vertex.
  4. Нажмите OK чтобы подтвердить изменения и выходите из настроек.

Теперь передвинем браш пола на 16 юнитов ниже, установив курсор мыши на окно проекции Side и нажав Down_arrow один раз.

Передвижение браша вниз в окне боковой проекции.
Примечание:Необходимо, чтобы ваш пол был на том же уровне, что и базовая линия. Лишь в этом случае добавленный nav файл будет работать

Навигация в 2D вьюпорте

  • Вы можете использовать полосы прокрутки для перемещения вида
  • Для более быстрого перемещения, зажмите Пробел и кликните левой клавишей мыши для перемещения.
  • Используйте колесико для изменения масштаба.

Покрытие текстурами

Чтобы смотреть текстуры в 3D вьюпорте, кликните правой клавишей мыши на camera в 3D вьюпорте и выберите 3D Textured.

Selecting the 3D Textured mode in the Camera viewport.

Навигация в 3D вьюпорте

Перемещения в 3D немного отличаются от перемещений в 2D проекции:

  • Удерживая Spacebar и левую кнопку мыши, подвигайте курсором чтобы осмотреться.
  • Удерживая Spacebar и правую кнопку мыши подвигайтесь вверх/вниз и вправо/влево.
  • Удерживая Spacebar и обе кнопки мыши двигайтесь вперед и назад.
  • Кроме этого вы можете использовать W, A, S, и D чтобы двигаться вперед, назад, стрейф влево и стрейф вправо соответственно.
  • Z Включает и выключает режим "mouse look". Передвиньте курсор в 3D Camera и нажмите клавишу Z. Теперь вы можете оглядеться вокруг как в игре.
Примечание:При навигации клавиши W A S D можно использовать в комбинации с клавишей Spacebar

Поместите курсор в окно 3D Camera и взгляните на пол, который только что создали снизу.

Кнопка Browse на вкладке Texture.

Вы заметите, что на вашем полу стандартная текстура. Возможно вам захочется сменить ее. Чтобы поменять текстуру выберите кнопку Browse на вкладке Texture.

Должно открыться окно Texture Browser.
The generic gray developer texture.

В поле Filter внизу окна просмотра, вы можете фильтровать текстуры по их имени. В этом уроке введите слово "dev_measure" (со знаком подчеркивания) в поле. Откроется список текстур "разработчика", которые облегчат быстрое создание чего-нибудь.

Теперь, найдите текстуру с именем dev/dev_measuregeneric01b и дважды кликните на ней.


Применение текущей текстуры на выбранный браш.

Мы должны вернуться в экран редактора с 4-мя видовыми окнами, при этом выбранная текстура будет отмечена как текущая в Texture секции.

Выберите браш пола (если он еще не выбран), кликнув по нему в видовом окошке Camera. Он должен покраснеть.

После того как вы выделили браш, кликните на Hammer ApplyCurrentTexture.png Apply current texture иконку на Tool секции чтобы применить текущую текстуру на выделенном объекте. Выбранная серая текстура должна появится на выбранном объекте (как показано на рисунке). Не расстраивайтесь, если Вы видите розовую текстуру. Это потому что текущий объект выбран. Щелкните ЛКМ на пустом месте, тем самым убрав выделение и увидите текстуру в оригинальном цвете.

Создание стен и потолка

Теперь давайте узнаем как создавать стены и потолок в комнате. Легчайший путь чтобы сделать это, это сделать копию браша пола.

Копирование

Так же, вы можете скопировать текущий brush(созданный пол).

Примечание:Чтобы склонировать объекты Вам также необходимо выставить Arrow keys nudge selected object/vertex опциюif (если Вы не сделали этого ранее). Вы можете найти эту опцию в Tools > Options > 2D Tab.
Размножение брашей для создания комнаты.

Чтобы клонировать браш:

  1. Выберите браш, кторый Вы уже создали.
  2. Передвиньте курсор в правое нижнее окошко просмотра Side.
  3. Удердживая Shift нажмите Up_arrow чтобы создать копию и переместить её на одну позицию в сетке.

Это создаст браш, который является копией уже созданного браша пола.

С этого момента Вы можете изменять размер и габариты созданного браша, удерживая левой кнопкой мыши и перетаскивая бегунки по краям браша, таким образом меняя браш до нужного Вам размера. Создадим стену размером 128 юнитов в высоту и 16 в толщину.

Совет:
Чтобы передвигать созданный браш, используйте клавиши стрелок на клавиатуре или кликните левой кнопкой мыши на перекрестие в центре браша и перетащите его мышью.


Продублируйте стену 3 раза, чтобы очертить контур пола.
Duplicating the floor to create a ceiling.

Продублируйте пол один раз и перетащите его вверх, чтобы сделать потолок.

Совет:
Следите за порядком на карте - это важно при игровом запуске уровня. Старайтесь избегать наложения брашей друг на друга (когда браши проходят друг через друга). Это может вызвать так называемый "Z-fighting", когда две или более поверхности попеременно прорисовываются друг поверх друга.

Удаление брашей

Для удаления браша, выберите его с помощью Selection tool Hammer select.png и нажмите клавишу Delete.

Групповое выделение

Applying the generic orange developer texture to the walls.

Такую картину Вы увидите в окне камеры, если перетащите её в комнату. Трудно сразу сказать что где, поскольку стены, пол и потолок имеют общую текстуру. Следующим шагом наложим на стену другую текстуру.

Вы можете выделять все стены, удерживая клавишу Ctrl и выделяя желаемые, кликая левой кнопкой мыши в окне камеры. Используйте Spacebar для управления камерой (или переключитесь в режим управления мышью нажатием Z) для поворота камеры, чтобы выделить каждую стену.

После того как Вы выделите все стены, кликните на меню Browse в разделе Texture. На этот раз выберите оранжевую текстуру под названием dev/dev_measuregeneric01, которая находится рядом с текущей. Выберите её двойным кликом и закройте окно поиска.

Используйте Hammer ApplyCurrentTexture.png в разделе Tool, чтобы наложить оранжевую текстуру на стены.

Сохранение файла

Чтобы сохранить карту, используйте комбинацию клавиш Ctrl+S или опцию Save в меню File.

Необходимо наименовать файл и указать директорию сохранения.

Для этого урока назовите карту "tutorial01" и сохраните её в директорию mapsrc, находящуюся по умолчанию в:

C:\Program Files\Steam\steamapps\common\left 4 dead\sdk_content\mapsrc\

На Вашем ПК директория может находиться в другом месте, в зависимости от местонахождения Steam'а.

Инвентарные карты-образцы

При сохранении Вашей карты Вы могли заметить и другие папки в директории mapsrc. В Left 4 Dead Authoring Tools включены карты-образцы для освоения.

Directory Contents
mapsrc\No Mercy Apartments Содержит карту-образец из кампании "Нет Милосердию", которая входит в Left 4 Dead.
mapsrc\standards Демонстрирует карты, которые содержат множество деталей для игры в кооператив и сражение.
mapsrc\Your_First_L4D_Level_Tutorial Содержит завершённые версии всех частей данного руководства.
mapsrc\zoo Карты "стилизованные" под просёлочные и городские типы карт из Left 4 Dead.

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

Совет:
Из них "Your_First_L4D_Level_Tutorial" является, вероятно, самым полезным на данном этапе. Если у вас есть трудности со временем для выполнения каждого из разделов этого учебника, вы можете обратиться к файлам в этом каталоге, чтобы получить представление о том, как должна выглядеть готовая карта для этого раздела


Размещение объектов

Selecting the entity.
Placing an info_survivor_position.

Далее, мы поселим живое существо в Наш уровень:

  1. Выберите Entity tool Mt-entities.png на Tool панели.
  2. Как только Entity tool Mt-entities.png станет доступно, список выбора Entity на панели Object станет активным.
  3. Оставьте Categories как Entities.
  4. Кликните стрелку на выпадающем списке Objects и выберите info_survivor_position.
  5. Теперь перейдите в окошке просмотра Camera на центр внутри вашей комнаты.
  6. Клик левой кнопкой чтобы разместить нашего персонажа.
Объект info_survivor_position будет размещён посреди комнаты.

Стандартная модель для info_survivor_position - Фрэнсис. Он - самый высокий персонаж(из Выживших) в Left 4 Dead. Эта модель пригодится вам для проверки и подгонки размеров окружения.

Размещение источников света

Поместим источник света на Нашу карту:

  1. Снова выберите Entity tool Mt-entities.png
  2. Выберите light в выпадающем списке Objects на панели Object.
  3. в этот раз, поместите источник света на потолок (над головой Фрэнсиса).
  4. Вернитесь в режим выбора нажатием на Selection tool Hammer select.png на панели Tool или нажатием клавиши Esc.
The Object Properties for a light.

Следующим шагом изменим некоторые параметры этого источника. Откройте параметры источника двойным кликом ЛКМ в окне камеры или выберите его (кликом ЛКМ) и нажмите комбинацию Alt+ Enter. Откроется окно Object Properties.

В окне Object Properties, Вы можете изменять различные параметры объекта.Например, Вы можете изменить Brightness(Яркость) источника. Кликните на строчку Brightness(Яркость) под Keyvalues и увидите набор чисел в выпадающем списке справа. По умолчанию яркость имеет такие настройки - 255 255 255 200. Первые три числа отвечают за значения(цвета) RGB, а четвёртое за интенсивность(яркость) источника света.

Кликните на опцию Pick Color, чтобы выбрать цвет, избегая ввода значений вручную.
Picking a color for a light.

Кликните на желаемый цвет и нажмите на кнопку OK.

Вас вернёт к окну Object Properties для источника света. Вы увидите изменения яркости в строке Brightness и в выпадающем списке справа от строки, если она выделена.

Кликните на Apply(Применить), чтобы применить Ваши изменения к объекту. Закройте окно нажатием на "X" в правом верхнем углу.

Размещение статичных объектов - prop_static

The Object Properties for a prop_static entity.

Объекты также состоят из таких предметов как: элементы интерьера, составные части архитектуры зданий и т.д.. Существует множество различных категорий объектов. Объекты категории Prop_static - это статичные объекты, они не приводятся в движение, не имеют анимации, с ними нельзя взаимодействовать. Существует категория динамичных объектов prop_dynamic, которые приводятся в движение, имеют собственную анимацию и с ними можно взаимодействовать. Также существуют категория объектов с игровой физикой - prop_physics, которые подчиняются законам внутренней игровой физики схожей с физикой реального мира, и, с которыми персонаж может взаимодействовать.

Чтобы поместить предмет:

  1. Снова выберите Entity tool Mt-entities.png.
  2. На панели Object выберите в поле Objects значение prop_static.
  3. Наведите курсор на пол перед моделью Фрэнсиса и поместите prop_static кликом ЛКМ. Появится красный куб - это стандартная "модель" prop_static, которая меняется при выборе новой модели.
  4. Вернитесь в режим выбора нажатием на Selection tool Hammer select.png на панели Tool или нажатием на клавишу Esc.
  5. Двойным нажатием ЛКМ на красный куб откройте окно параметров предмета.
  6. Двойным нажатием ЛКМ на World Model(Модель) откройте окно Model Browser(Поиск модели).
Warning:  Во время первого запуска окна Model Browser программе может понадобиться некоторое время для загрузки всех моделей. Окно может не соответствовать тому, что изображено справа. Если Вы не обнаружили желаемую модель, подождите немного, пока программа завершает загрузку.

Выбор модели

Selecting the table model in the Model Browser.
  1. В поле Filter внизу окна, введите "table". Будут показаны все модели со словом "table" в названии.
  2. Найдите модель под названием:
    "props_furniture\it_mkt_table2.mdl".
    Она должна выглядеть как на скриншоте.
  3. Кликните OK, чтобы выбрать её. Вернитесь в окно Object Properties. В строчке World Model должно быть название выбранной модели.
  4. Кликните по Apply, чтобы применить изменения.
  5. Закройте окно Properties.
В любом вьюпорте Вы увидите выбранный Вами стол.

Перемещение объектов

Placing the table in the corner of the room.

Любые объекты можно перемещать таким же образом, как Мы перемещали ранее браши. Выделите мышкой область в которой находится объект. Выделенный объект можно передвигать при помощи зажатой ЛКМ или, наведя курсор на любой из вьюпортов, передвигать объект с помощью стрелок на клавиатуре.

Переместите стол в угол Нашей комнаты. Убедитесь, в том, что стол касается пола.

Вращение объектов

Selecting the shotgun from the Objects list.

Следующим шагом Мы поместим на стол помповое ружьё и повернём его таким образом, чтобы это выглядело естественно.

Кликните по Entity tool Mt-entities.png на панели Tool.

Выберите weapon_pumpshotgun_spawn в выпадающем списке под панелью Objects.

Placing the weapon_pumpshotgun_spawn.

Кликните на пол под столом, чтобы поместить туда ружьё.

Примечание:В окне камеры объекты можно помещать только на поверхность брашей.
Circles at corners indicate that the object is ready to be rotated.
Click & drag a circle in any 2D view to rotate the object.

Чтобы вращать объект, выберите его при помощи Selection tool Hammer select.png и кликните на него. Бегунки по углам объекта сменятся на круги. Наведите курсор на круг в любом 2D вьюпорте и поверните объект, удерживая ЛКМ.

Rotating the shotgun in the Front viewport

Дайте крупный план помпового ружья во вьюпорте Front, используя колесо мыши, и кликните на его модель, чтобы бегунки по краям сменились на круги.

Удерживая ЛКМ, поверните ружьё против часовой стрелки таким образом, чтобы оно лежало на боку.
Decreasing the grid spacing.
Дайте ружьё крупным планом во вьюпорте Side и нажмите на [ 4 раза, чтобы уменьшить размер сетки. Переместите ружьё вплотную к столу, но не переусердствуйте, поскольку ружьё может застрять в модели стола.
Rotating the shotgun in the Top viewport.

Во вьюпорте Top перейдите в режим вращения модели ружья. Вращайте его против часовой. Ружьё выглядит на столе естественнее, когда оно почти параллельно длинному ребру стола.

Таким образом, ружьё теперь доступно в игровом режиме.

Развитие карты

Creating the hallway and second room.

Используя дублирование, изменение(размеров) и перемещение брашей уже созданной комнаты, Вы можете соорудить коридор, ведущий в другую комнату, и саму вторую комнату.

Не забудьте прорубить проходы в обоих комнатах.

Также можно продублировать источник света из первой комнаты и поместить его в середину второй.

Совет:
Помните, что любой объект и браш можно продублировать, удерживая Shift и перетаскивая его мышью или стрелками на клавиатуре. Так процесс создания карты ускорится. Можно таким же образом дублировать группы объектов.


Когда создадите коридор и вторую комнату, сохраните карту, назвав её "tutorial01.vmf". Или просто кликните на Save в меню File, если ранее уже сохраняли карту.

Добавление начальной позиции Игрока

Последним шагом добавим объект player start, чтобы протестировать карту. Это точка респауна Игрока в начале карты.

Placing an info_player_start.
  1. Выберите Entity tool Mt-entities.png на панели Tool.
  2. Выберите info_player_start в выпадающем списке Objects.
  3. Переместите камеру к модели Френсиса в 3D вьюпорте.
  4. Кликните ЛКМ на пол, чтобы поместить player_start.
В общем-то конкретное положение начальной позиции не играет роли, важно само нахождение объекта в комнате. Вы также можете повернуть этот объект: Игрок будет спауниться в комнате лицом в указанное направление.

Запуск карты в игре

Change the Run Map parameters to match these settings, then click OK.

Вы уже сохраняли карту ранее, но для игры на ней её нужно скомпилировать. Иначе движок игры не сможет её запустить.

После компиляции формат конструктора .VMF конвертируется в игровой формат .BSP. Компилятор прорисовывает всю геометрию и высчитывает тени и освещение.

  • Откройте меню File и выберите Run Map... или нажмите F9.
  • Откроется окно Run Map.
  • В этом окне прописываются основные параметры компиляции.
    1. Убедитесь, что Normal выбран для настроек Run BSP, Run VIS и Run RAD.
    2. В поле Additional game parameters: должны быть прописаны следующие параметры(если их нет, то обязательно их пропишите):
      -toconsole -dev -console +sv_lan 1
    3. Кликните по OK, чтобы начать процесс компиляции.

Окно Compile Process Window будет показывать процесс компиляции. По окончании компиляции игра запустится сама и движок загрузит Вашу карту.

Примечание:Если желаете скомпилировать карту с освещением High Dynamic Range, поставьте галочку под HDR в окне параметров компиляции. Потребуется несколько больше времени для компиляции, что нормально для такого параметра.
Click Continue on this dialog.

Карта загрузится в игре после компиляции. Движку потребуется некоторое время для прогрузки (зависит от размеров карты и её насыщенности).

  • После запуска карты появится предупреждение "Map is unplayable!". Это нормально: Мы ещё не создали навигационный файл карты для ИИ. Это будет дальше в пособии.
  • Кликните по Continue.
Running the level in the game.

Скриншот запущенной карты. Обратите внимание на то, что Выжившие управляемые ИИ стоят на месте из-за отсутствия навигационного файла.

Совет:
Карта в формате .vmf сохраняется автоматически, когда Вы запускаете её через команду Run Map. Однако, лучше периодически сохранять карту вручную на всякий случай.

Консоль Разработчика

Создание карт для Left 4 Dead иногда вынуждает использовать Developer Console(консоль Разработчика). Она может пригодиться для пробного спауна Заражённых на вашей карте.

Enabling the developer console.

Если Вы её ещё не активировали, то сделайте это в настройках игры:

  1. Нажмите Esc в игре.
  2. Далее Options и Keyboard/Mouse.
  3. Выберите Allow Developer Console и нажмите "Enabled".
  4. Нажмите на Done.
  5. Далее Return to Game.

Использование консоли:

  1. Вызовите окно консоли нажатием ` (тильда).
  2. Пропишите консольную команду и нажмите Enter.
  3. Закрывается консоль нажатием `.

Режим призрака

Эта консольная команда пригодится вам всегда и везде (noclip). Режим призрака позволяет вам летать по уровню, в т.ч. сквозь браши, объекты и т.д. (термин "clipped" означает - быть зажатым/остановленным чем-либо). Команда полезна для быстрого передвижения по большим картам.

чтобы активировать режим noclip:

  • Нажмите `.
  • Введите noclip в строчку ввода консоли и нажмите Enter.
  • Теперь можно полетать.
  • Введите noclip в консоль снова, чтобы выйти из режима призрака.

Некоторые полезные команды

Существует множество полезных консольных команд. Ниже приведены некоторые из них:

sv_cheats 1
Активирует режим читов. Необходим для множества других консольных команд.
director_stop
Останавливает ИИ Режиссёра (Заражённые и Особые Заражённые не спаунятся).
director_start
Запускает ИИ Режиссёра (Спаун З И ОЗ спаунятся).
nb_delete_all
Удаляет всех НПС (Заражённых и Выживших).
map <name of map>
Загружает указанную карту или перезагружает уже загруженную.
changelevel <name of map>
Загружает карту, не прерывая игровую сессию (других Игроков не выкидывает из вашего Лобби).
god 1
Все выжившие (люди) становятся бессмертными.
noclip
Команда позволяет летать сквозь стены.
z_spawn
Спаунит обычного Заражённого там, куда указывает курсор прописавшего команду.
z_spawn smoker
Команда возрождает Курильщика.
z_spawn hunter
Команда возрождает Охотника.
z_spawn boomer
Команда возрождает Толстяка.
z_spawn tank
Команда возрождает Танка.
z_spawn witch
Команда возрождает Ведьму.
nb_blind 1
Команда позволяет заражённым не видеть выживших.
Примечание:nb_blind 1 не 100% защита от нападений Заражённых. Если вы врежетесь в Заражённого, он/она станет агрессивным. Если Вы спауните их через консоль, то они будут агрессивными.
sb_stop 1
Останавливает ИИ Выживших, они прекращают все действия.
director_force_panic_event
Запускает Панику.



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