Руководство по переходу с Serious Editor на Hammer. Базовая часть.
Решил я написать этот гайд потому, что я сам начал делать карты в Serious Sam, а потом узнал о Hammer.
1. Интерфейс
Интерфейс Valve Hammer Editor (далее VHE) немного проще, чем интерфейс Serious Editor (далее SE). Функции и в VHE, и в SE, очень похожи, но исполняются они немного разными способами.
Первое, что можно заметить - почти все объекты находятся в меню слева и разбиты по категориям.
Также в SE для каждой фигуры предусмотрена своя кнопка
а в Hammer - одна кнопка на панели инструментов
и ее опции.
Отдельное внимание стоит заострить на видах.
В SE по умолчанию виды расставлены как
сверху | 3D |
спереди | сбоку |
3D | сверху |
спереди | сбоку |
Еще следует отметить то, что в SE свойства объекта находятся над меню объектов, а в VHE вызываются клавишами Alt+Enter, либо через Edit>Properties и разделены на группы. В SE и параметры, и галочки смешаны.
2. Строительство
Если Serious Engine - движок, в котором можно и вырезать комнаты, и создавать блоки, то Source базируется на idTech 1, в котором можно только делать блоки. Поэтому, никаких галочек Room тут нет. Любые комнаты тут сделаны из 6 и более блоков (брашей).
Если в SE вполне можно было обойтись без 2D видов, то в VHE они необходимы. Чтобы создать блок, его нужно нарисовать в 2D, а не цифрами размер и положение указать, а затем нажать на него правой кнопкой мыши, а там выбрать Create Object. Таким же образом в 2D виде устанавливаются Entities, но там не надо будет рисовать их контур, а только поставить точку, в которой объект будет находиться.
Самый простой способ - сделать один большой блок, нажать Ctrl+H или Tools>Make Hollow. Но лучше создавать комнаты по частям самому.
Чтобы создать коридор, не получиться использовать Make Hollow. Необходимо поделить стену на 3 блока (по бокам прохода и над ним), а затем вручную сделать между ними коридор из 4 (или 5, если коридор ведет в тупик) блоков. Если у вас не получается выделить одну стену, включите кнопку с надписью ig (Ignore Groups) наверху.
Мы научились делать браши, теперь надо научиться ставить Entities.
Entities ставятся на карту похожим способом и в VHE, и в SE. В SE, как вы знаете, надо выбрать объект в колонке в левой стороне экрана. В VHE надо выбрать инструмент Entities
и на панели справа выбрать нужный объект.
Таблица Entities:
Serious Sam | Аналог в VHE |
WorldBase | worldspawn |
WorldLink | trigger_changelevel (браш) + info_landmark |
BackgroundViewer | sky_camera |
Light | light, light_environment, light_spot |
PlayerMarker | info_player_start, info_player_deathmatch |
ModelHolder2 | prop_static, prop_dynamic |
ModelDestruction | аутпут Kill |
FogMarker | env_fog |
MovingBrush | func_tracktrain (браш) |
MovingBrushMarker | path_track, path_corner |
Bouncer | trigger_push (браш) |
TouchField | trigger_once (браш), trigger_multiple (браш) |
MusicHolder | ambient_generic с галкой Play everywhere |
MusicChanger | разные ambient_generic |
Marker | info_target |
Trigger* | аутпуты (Half-Life 2), multi_manager (Half-Life 1) |
Switch | аутпуты |
Damager | trigger_hurt (браш) |
AnimationChanger | аутпут SetAnimation, направленный на prop_dynamic |
HealthItem | item_healthvial, item_healthkit |
ArmorItem | item_battery |
WeaponItem | weapon_... |
AmmoItem | item_ammo_... |
Camera | info_camera |
CameraMarker | path_track, path_corner (при условии, что у info_camera параметр Parent равен func_tracktrain рядом с ним |
MessageItem | game_text |
VoiceHolder | logic_choreographedscene |
Teleport | trigger_teleport (браш) + info_teleport_destination |
EnemySpawner | npc_maker |
EnemyMarker | scripted_sequence |
Группа Monsters | npc_... (Half-Life 2), monster_... (Half-Life 1) |
3. Окрашивание
В VHE нету разных типов выбора объектов (например, полигоны отдельно от Entities). Но своеобразный режим Polygons там есть. Для этого нажмите на кнопку
(это аналог клавиши Q из SE) и выберите там текстуру. Для этого нажмите кнопку Browse. Откроется весь список текстур с предпросмотром. Имена текстур различаются по их типу (stone, concrete, decal и т.п.)
В отличии от SE, здесь можно настроить только положение текстуры, а не опции ее отображения. Опции настраиваются в самом файле текстуры, а точнее в материале, в котором прописан путь к текстуре и ее настройки.
Есть так же специальные текстуры из папки tools и начинающиеся, как не странно, на tools.
areaportal | Используется в func_areaportal, закрывает видимость определенных участков карты |
black | Нереалистично черная текстура |
block_los | Блокирует видимость NPC за этим брашем (похоже на галки Blind и Deaf) |
blockbullets | Блокируют пули на своем пути |
blocklight | Не пропускают свет |
clip | Блокирует любые физические столкновения |
fog | Туман |
hint | Одна из сторон режущего на зоны браша |
invisible | Аналог nodraw, делает сторону невидимой |
invisibleladder | Используется в Counter-Strike: Source для создания лестниц, окрашивает func_ladder |
nodraw | См. invisible |
npcclip | NPC не смогут пройти сквозь эту стену |
occluder | Одна из VIS-текстур |
origin | Создает ось вращения. Вытеснен шариком во вращающихся объектах. |
playerclip | Невидимая стена, сквозь которую может пройти все, кроме игроков |
skip | Остальные 5 сторон режущего браша |
skybox | Небо, также им оборачивается внутренность комнаты с 3D скайбоксом |
trigger | Окрашивает любые триггеры |
4. Заключение
В отличии от Serious Sam, на карте не должно быть ни одной дырки и ни одна entity не должна находиться за пределами карты, иначе будет ошибка Leak (утечка).
Также, на Source не достаточно просто сохранить карту - чтобы на ней играть, ее нужно скомпилировать. Для этого нужно нажать F9 (File>Run Map), выбрать правильные параметры (BSP не отключать ни в коем случае) и нажать OK. Когда процесс закончится, можно приступать к тестированию и к игре. При этом в VHE можно открыть только исходник карты (.vmf), а скомпилированную версию (.bsp) без декомпиляции открыть нельзя.
* Триггер в SE и в VHE - совершенно разные вещи. В SE это распределитель Target, а в VHE - аналог TouchField.