Теория компиляции карт
Использована статья Source.
Введение
В этой статье объяснён процесс преобразования файла карты из редактора в работающий BSP-файл карты. Имейте в виду, что это не руководство по компиляции карты. Статья поможет разобраться, что должно произойти и почему важны некоторые моменты (например, предотвращение утечек).
Процесс создания работающей карты для Source начинается с создания в редакторе .vmf файла. Этот файл содержит данные о всех полигональных элементах (так называемых brush), данные объектов и текстур, которые будут определять внешний вид и функциональность готовой карты. Все редакторы фактически служат одной цели - определить, как будет выглядеть карта. В файле VMF хранится информация об объектах и объёмах, которая будет использоваться при компиляции.
Компиляция преобразует VMF-файл карты, используемый в редакторах, таких как Hammer, в работающий BSP-файл карты с помощью описанной ниже последовательности:
- Чтение файла .vmf
- Запуск программы BSP для файла .vmf
- Запуск программы VIS для созданного файла .bsp
- Запуск программы RAD для обновлённого файла .bsp, чтобы добавить информацию об освещении
- Перемещение готового файла .bsp в соответствующую директорию карт игры
- Запуск игры с параметрами для загрузки карты
(Большинство редакторов/компиляторов поставляются с пакетным сценарием командной строки (.bat) для выполнения всех операций)
Обзор процесса компиляции
На следующей схеме показан общий процесс, необходимый для создания работающего файла карты (.bsp).
Файл .vmf > VBSP > промежуточный файл .bsp > VVIS > VRAD > готовый файл .bsp
Инструменты компиляции
В следующей таблице приведено достаточное описание назначения каждого инструмента. Описания максимально упрощены, поскольку информация о сложных расчётных алгоритмах не нужна для общего понимания работы инструментов.
| Инструмент | Назначение |
| VBSP | Преобразовывает данные файла .vmf в удобный формат .bsp, пригодный для загрузки в игровой движок. После его запуска, карта становится практически готовой к игре за исключением того, что в ней будут отсутствовать матрица видимости и освещение. Эти важнейшие функции создаются следующими двумя инструментами: VIS и RAD. |
| VVIS | Создаёт матрицу видимости на основе геометрии карты. Эта матрица определяет, какие полигоны игрок видит, а какие сможет или не сможет увидеть ни с какой точки уровня. Очень важно, чтобы этот инструмент запускался каждый раз при создании .bsp. Если он не запустится, карта будет постоянно отрисовываться целиком со всеми моделями и объектами реквизита, что понизит частоту кадров и сделает карту неиграбельной. Больше информации о VIS можно найти в оптимизации видимости. |
| VRAD | RAD, или Radiosity (диффузия света), отвечает за создание и применение всех световых эффектов на карте. Всё, от подсветки объектов и "неба" до слабоосвещённых текстур, обрабатывается этим инструментом. Карта, файла .bsp которой не обрабатывался RAD, будет выглядеть абсолютно тёмной или ярко освещённой, в зависимости от видеорежима и параметров терминала управления. Обычно работа этого инструмент занимает наибольшее время компиляции, поскольку ему приходится обрабатывать огромный массив данных. Больше информации о RAD можно найти в RAD (technical). |
Оболочки компиляции
- Batch Compiler - Поддерживает Quake, Valve, Zoners, и CSTTools
- VBCT – Оболочка компиляции для Source.
- Compile Pal - Альтернативная оболочка компиляции для Source
Какие инструменты компиляции использовать?
Hammer имеет собственные инструменты компиляции от Valve. Они обозначаются буквой 'v' в начале имени инструмента (например, vbsp.exe, vvis.exe, vrad.exe).
Смотреть также
- Формат BSP-файла – взгляд на инструменты компиляции с технической точки зрения (от автора VMEX и других инструментов Source).
