Подготовка карты без HDR для Source Film Maker
Есть много причин, по которым карта не будет работать, иногда это связано с отсутствием HDR на картах, иногда с новой системой освещения, иногда это более новый формат карт.

Так или иначе большинство карт на Source можно заставить работать в SFM с помощью пересборкой с HDR.

Введение
Как вы заметили, если загрузить некоторые карты в SFM, то, во-первых, освещение довольно страшное, а во-вторых, вылезает окно, которое говорит что-то про и "HDR lightmaps". Дело в том, что когда вышел HL2, в движке Source ещё не было такой важной технологии под названием HDR. Её довольно быстро добавили — помните HL2: Lost Coast?

HDR необходим в Source Fimmaker для работы параметров камеры toneMapScale и bloomScale, а также работы второго вью-порта. С обновления 0.9.5.9 использование карт без HDR стало невозможным из-за плохого освещения.
Подготовка инструментов
Для данного урока вам потребуется следующее:
  • Source Filmmaker
  • Неработающая карта в формате *.bsp
  • Свежая версия Java
  • Декомпилятор карт: BSP Source
  • Опыт в Hammer Editor
Работа с BSP Source
Скачайте и запустите утилиту BSP Source двойным щелчком. Если вы установили Java успешно, то у вас должно открыться небольшое окно декомпилятора карт.

Перетащите *.bsp карты в это окно. Для примера возьмём: d1_town_01.bsp из Half-life 2.



Если в карте есть встроенный контент (текстуры, модели, звуки), зайдите во вкладку Other и поставьте галочку напротив: Extract embedded files. После, скиньте папки materials, models и sounds в SFM. По готовности нажмите кнопку: Decompile.
Теперь поработаем с Hammer Editor
Теперь открываем получившийся *.vmf в Hammer Editor (ПКМ по Source Filmmaker в библиотеке программ Steam → Launch SDK → Hammer Editor). Поскольку контент hl2 идёт вместе с программой, карта должна загрузиться без проблем с ассетами.



Сборка карты — Быстрый способ


Быстрый способ позволит произвести компиляцию в минимальные сроки, но при этом вы потеряете мягкое затенение между объектами (запечённый Ambient Occlusion карты), а тени от объектов будут менее детализированными.

Как только вы решили, что карта готова к компиляции — зайдите в File → Run Map (F9). Откроется следующее окно. Настройте его так же как и на скриншоте и нажмите ОК по готовности. Откроется окно с логом компиляции.



Сборка карты — Продвинутый способ


Быстрый способ подойдёт для большинства случаев, но если вы хотите максимального качества вам стоит попробовать этот метод.

Снова открываем окно компиляции и жмём на Expert внизу. Окно поменяться на следующее:

В выпадающем списке выбираем: Full compile -both -final (slow!), теперь удаляем -mpi в $vis_exe и $light_exe. По готовности жмём GO!

На всякий случай оставим стандартные настройки: Full compile -both -final (slow!), если вы их случайно удалили. С кем не бывает.

Примечание: Full compile -both -final (slow!) — довольно тяжёлый вариант компиляции, который к тому же рассчитывает не нужный для SFM LDR. Чтобы ускорить компиляцию, воспользуйтесь пресетом Full compile -HDR only или создайте свой. Это должно ускорить компиляцию по крайней мере в два раза.
Подытожим
По окончанию компиляции в логе появится сообщение Finished. Press a key to close., а скомпилированная версия карты сохранится в туже папку, что и её *.vmf, скидывайте его в папку maps активного мода (его можно посмотреть внизу SFM SDK).

Загрузим карту и создадим тестовую сцену. Как видите всё работает, а зомби доволен результатом.



Примечания и исправление проблем


Часто при декомпиляции ломаются Areaportals — специальные стены, которые оптимизируют карту, позволяя игре не отображать помещения за ними если их не видит игрок. Если карта не декомпилируется, удалите их. Для этого справа под VisGroups во вкладке Auto, найдите Areaportals и снимите галочку.

Если карты из не открываются Hammer'ом от SFM, попробуйте выбрать при декомпиляии в BSPSource VMF format 2004-2009.

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

Проверьте есть ли на карте используемые лестницы. Есть вероятность, лестницы выполненные в стиле CS, скорее всего, покрыты брашем NODRAW, который создаст некорректные тени. Вы можете спокойно его удалить.

При загрузке карты некоторые модели не будут видны. Нажмите пкм по вьюпорту → Draw Game Entities → Other Entities для их отображения и подлетите скаутом в игровом режиме на это место (F11).

Если у вас после компиляции карты нет никакого освещения, то последующие действия могут помочь. Жмем Edit → Entity Report. Листаем в самый низ, где находим sky_camera. Выделяем её и кликаем "Go To". Вы попадёте в другой скайбокс где будут присутствовать уменьшенные модели гор, небоскрёбов и т.д. (зависит от карты). Эти модели создают фон на карте для масштабности. Дважды кликаем по КАЖДОЙ модели (или, зажав Ctrl, выделаем ЛКМ все модели и на кликаем дважды последнюю) в скайкамере и напротив параметра "Disable Shadows" выбираем "Yes". Сохраняем изменения и компилируем карту. После этого освещение опять станет нормальным.

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



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

При рекомпиляции карт могут появлятся различные ошибки, которые мы могли упустить.
Различные факты
Компиляторы редактора Hammer Editor использует CPU на все 100% для компиляции — скорость напрямую зависит от вашего процессора и сложности карты, а во время компиляции компьютер будет сложно использовать. Возможно снизить количество используемых компилятором ядер процессора.

Hammer Editor сделан на основе редактора уровней Quake 1 Worldcraft.

Программа не сильно изменилась с 1999 года, со временем добавлялись только новые функции.

Valve использовали Hammer Editor для создания уровней для всех своих игр.
Вернуться в каталог статей