Создание карты для CS GO- Первые шаги в Hammer World Editor

Регистрация
8 Июн 2017
Сообщения
355
Репутация
24
Спасибо
9
Монет
0
В прошлом материале мы установили и запустили SDK для CS:GO.

Итак, для создания карт и уровней в Counter Strike Global Offensive предназначена программа Hammer World Editor, запускаем ее из SDK !

Запустится приложение Hammer World Editor, идем в верхнее меню File и выбираем пункт New, чтобы создать новую карту для CS:GO.

Вы увидите четыре окна.

Левое верхнее окно по умолчанию показывает 3D-вид из камеры, а остальные экраны: вид сверху (верхний правый), вид сбоку (нижний правый), вид спереди (нижний левый). Камеру нужно для начала создать.

Для этого щелкаем в левой панели инструментов кнопку "Camera) и в 2D-окне наводим мышь, нажимаем и ведем в направлении просмотра. Как результат вы увидите голубой кружочек с красной линией.

Эту камеру вы можете удалять (клавишей Delete), перемещать с помощью мыши. Можно создавать несколько камер, если держать клавишу "Shift". Клавишами DageUp и PageDn можно переключаться между несколькими камерами.

Изменение масштаба в 2D-окне производится с помощью колесика мыши. Чтобы синхронизовать масштабы всех окон, во время скролинга колесика мыши держите заажатой клавишу Ctrl на клавиатуре.

Итак, с камерой мы разобрались, далее нам нужно создать какой-либо объект. Объекты в Hammer Editor World - это так называемые "браши". Браш создается с помощью инструмента Block Tool.

Чтобы создать браш, щелкните и тяните мышь в одном из 2D-окон, например в виде спереди (левом нижнем). Затем нам нужно "вытянуть" наш браш, например в виде сверху.

Завершается создание браша кнопкой "Enter" на клавиатуре или правой кнопкой мыши и выбором пункта "Create Object".

Если вы хотите видеть в 3d-окне текстурированный объект, то выберите это окно (левое верхнее), войдите в верхнее меню View и нажмите "3D-Textured Polygons".

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

С помощью этого инструмента есть несколько способов редактировать Браш: можно изменять его размеры, можно крутить его, можно наклонять. Все эти режимы переключаются кликом мыши на браше: первый клик - размер (будет 8 белых квадратиков на браше), второй клик - поворот (будут 4 кружочка на браше), третий клик - наклон (будут 4 квадратика на сторонах браша).

Важно помнить, что браш - это не пустая коробка, а цельный блок. Поэтому комната - это еще не браш, комната - это целых 6 брашей (4 стены плюс пол и потолок).

Все карты в CS:GO являются простыми комнатами. Даже открытые пространства тоже являются комнатами, которые ограничены небесными коробками вместо потолков.

Теперь, давайте создадим комнату! Для этого нужно создать пол, 4 стены и потолок. Размер блоков примерно такой: ширина 1024, длина 1024, высота 64.

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

Вы можете создать все 6 блоков по отдельности, а можете клонировать один созданный браш (Shift + перетаскивание - это клонирование).

Если попытаться скомпилировать карту на данном этапе, то система выдаст ошибку. Это из-за того, что нужно добавить на карту Энтити.

После того, как мы сконструировали нашу комнату из блоков, ее необходимо теструрировать.

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

В браузере очень много текстур, поэтому можно их фильтровать по нужному слову (содержащемуся в названии текстуры). Например, для фильтра можно использовать слова roof (крыша), ceiling (потолок), wall (стена), floor (пол) и так далее. Также необходимо отметить, что есть специальные текстуры, которые можно отфильтровать словом dev; они нужны в частности, чтобы соотнести размер брашей с ростом модели игрока. Выбираем текстуру с помощью левой кнопки мыши и щелкаем дважды.

Чтобы текстурировать нужный блок с помощью выбранной текстуры, нужно его выбрать в режиме выделения (Selection Tool) и затем нажать на левой панели кнопку "Apply Current Texture".

Теперь самым интересным будет перемещение камеры, для этого нужно войти в режим камеры и кликнуть по окну с 3D-камерой. Зажав левую кнопку мыши и перемещая мышь, мы можем поворачивать камеру. Нажав кнопку Z, можно не держать зажатой левую кнопку мыши, а перемещаться. Кстати, перемещение с кнопкой Z работает не только в режиме камеры, но и в других режимах, например, в режиме выделения или в режиме Энтити. Еще раз нажав кнопку Z, можно перейти в обычный режим. Зажав правую кнопку мыши, мы перемещаемся (влево-вправо-вверх-вниз). Зажав левую и правую кнопку мыши, мы перемещаемся вперед-назад-влево-вправо. Вперед-назад также можно перемещаться с помощью колесика мыши. Также перемещение производится клавишами на клавиатуре: W, S, A, D и стрелками: вперед, назад, влево, вправо. Итак, погулять или, точнее, полетать по комнате можно уже сейчас, нажав кнопку Z, передвигаясь кнопками WSAD и пользуясь мышью для обзора - как в самой игре! Только не забудьте снова нажать Z после того, как налетаетесь!

С помощью инструмента "Toggle Texture Application" в левой панели можно настроить размер текструры (поля Texture Scale X Y), переместить ее (поля Texture Shift X Y), как необходимо, и повернуть (Rotation). Тут же можно выбрать текстуру в поле выбора Current Texture, а можно кнопкой Browse открыть окно браузера текстуры. Применить выбранные параметры следует кнопкой Apply.

Главное отличие инструмента "Toggle Texture Application" от "Apply Current Texture" в том, что кнопка "Apply Current Texture" применяет текущую текстуру ко всем сторонам выбранного браша (или выбранных брашей), а "Toggle Texture Application" - применяет текстуру к одной стороне (по умолчанию выбор стороны осуществляется левой кнопкой мыши, применение текстуры - правой кнопкой мыши).

Также в этом окне есть и другие параметры, такие как Lightmap Scale (отвечает за уровень света), Justify (выравнивание по левому краю, правому, центру, верху, низу, по всей ширине), Mode (что происходит при нажатии левой кнопкой мыши).

Итак, текстурированная комната у нас есть, теперь необходимо добавить Энтити. Энтити - это действующие объекты. Например, добавим в комнату игрока и оружие. Для этого выберем инструмент Entity Tool в левой панели. Затем справа для поля Categories: Entity выберем нужный объект из поля Objects. В поле будет очень много объектов, которые можно фильтровать, введя части, например player, info.

info_player_start - это одиночная игра, info_deathmatch_spawn - игра каждый сам за себя, info_player_terrorist/info_player_counterterrorist - командная игра.

Итак, выберите, например Энтити-объект info_player_terrorist и щелкните мышкой в 3D-окне где-нибудь на полу. Сюда переместится игрок для одиночной игры.

Также, возможно, для игры вам потребуется оружие, это также Энтити, отфильтровать оружие можно по слову weapon в поле objects. Выберите какое-нибудь оружие, например, weapon_ak47 и поместите его рядом и энтити-объектом игрока.

Итак, вуаля! У нас в комнате есть игрок и оружие для него. Уже сейчас можно попробовать сохранить и скомпилировать вашу карту. Сохранить - нажмите в верхнем меню File - Save as..., выберите имя, например, first и нажмите "Сохранить". Карта сохранится с расширением .vmf. Далее ее нужно скомпилировать, чтобы запустить в игре, для этого нажимаем в верхнем меню File - Run Map, оставляем все значения на Normal, в поле дополнительных параметров (Additional Game Parameters) вводим -toconsole -dev -console +sv_lan 1 (чтобы иметь доступ к консоли и видеть, какие команды выполняются) и жмем Ok. Если все в порядке, то запустится игра CS:GO с вашей сделанной картой. Если игра не запустится, то, скорее всего, у вас что-то не в порядке с картой (браши либо не стыковываются, либо заходят друг на друга). В игре выбирайте команду террористов, если вы добавили модель террориста.

Как можно заметить, не хватает освещения. Об этом дальше.

После запуска и выхода из игры можно заметить, что окна в Hammer World Editor не прорисовываются, это связано с тем, что игра и Hammer World Editor используют один и тот же движок. Поэтому вам придется перезагрузить Hammer World Editor и загрузить свою карту из меню File - последние файлы.

Итак, научимся создавать интерактивные объекты (brush entity). С этими объектами можно будет взаимодействовать.

Как показано на рисунке ниже, нужно:

1. перейти в режим создания браша;
2. создать браш размерами примерно: ширина 64, высота 128, толщина 16. Если сетка вам не дает уменьшить браш, то 3. сделайте сетку мельче, отрегулировать шаг сетки можно с помощью клавиш "[" и "]";
4. перейти в режим выделения, выделить созданный браш;
5. нажать справа в поле Move Selected клавишу ToEntity.

Затем нужно выбрать функционал в открывшемся окне Object Properties.

Выбираем Class слева вверху - func_door, наш объект будет функционировать как дверь. Затем в свойствах Property Name находим Move Direction и справа вручную выставляем параметры -90 0 0 или выбираем Up слева от черного кружочка. Жмем кнопку "Применить" в правом нижнем углу.

Далее текстурируем нашу дверь (фильтруем door в браузере текстур), достраиваем забор вокруг двери, также текстурируем и вуаля ! Сохраняем, компилируем, пробуем интерактивность двери !


Да уж, чего-то не хватает... Ах, да! Света!

Для создания источника света

1. выберите инструмент Entity Tool на панели справа,
2. в поле Objects слева введите Light.
3. Затем поместите источник света кликом левой кнопки мыши где-нибудь в 3D-окне.

Light - это простейший источник света, light_spot - направленный свет, light_environment - глобальный свет от небесной коробки, light_dynamic/env_projectedtexture - двигающиеся источники света, еще есть light_dinamic (динамический источник света).

После того, как мы добавили свет, можно настроить его параметры. Для этого:

1. переходим в режим выделения,
2. делаем двойной щелчок на источнике света в 3D-окне.
3. например, выбираем свойство Brightness (яркость), меняем цвет (щелкая кнопку Pick color справа), в параметрах после 3-х цифр над кнопкой Pick color меняем четвертую цифру (первые три отвечают за цвет, четвертая - за яркость источника света).

Сохраняем параметры, нажав кнопку "Применить" внизу справа. Теперь самое время сохранить нашу карту и запустить компиляцию и игру.

Ну, так уже заметно лучше, хоть что-то видно!

Но у нас получается, что свет идет из ниоткуда. Нужно добавить модель фонаря на нашу карту.

Выбираем

1. инструмент Entity Tool в панели слева,
2. а справа в поле Objects пишем prop_static
3. затем в 3D-окне щелкаем мышью в место, куда нужно поместить проп-объект


Добавится красная коробочка. Но это не простая коробочка! Перейдя в режим выделения и дважды щелкнем по нашей красной коробочке в 3D-окне. Откроется окно "Object Properties", где в поле свойств у свойства World Model можно выбрать модель для коробочки.

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

Итак, нам нужно выбрать фонарь, заходим сверху в папку props_c17, а внизу выбираем файл props_c17\light_cagelight02_on.mdl.

Далее нажимаем OK, а в окне Object Properties - жмем кнопку "Применить".

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

Вот как выглядит теперь наша первая карта в игре Counter Strike: Global Offensive:

Вы можете поэкспериментировать с добавлением многих других проп-моделей на создаваемую карту CS:GO.

Мы добавили два дерева, курицу и телефонную будку, смотрите скриншот ниже:

Итак, в этом материале мы научились создавать комнату в Counter Strike:Global Offensive, текстурировать стены, потолки и пол, добавлять игрока, свет, другие модели и интерактивные объекты.
 
Назад
Сверху