Параметры ZHLT-компиляторов
Автор:
DigitalManiac & Alexnd
В этом туториале мы рассмотрим
параметры ZHLT-компиляторов.
Формат команды для запуска
утилит, как вы уже знаете, такой:
утилита -параметр1 -параметр2
... имя_карты.map
Утилита - это один из
файлов: hlcsg.exe, hlbsp.exe, hlvis.exe или hlrad.exe.
Параметры утилит всегда
начинаются с тире (минуса). Можно не указывать парамет-
ры или указать несколько параметров через пробел. Если параметр используется
с
каким-то значением, то его нужно указывать так же через пробел, после указания
параметра.
Например:
hlrad.exe -dscale 1 -extra mapname.map
Теперь давайте рассмотрим
все имеющиеся параметры:
* Общие параметры для
всех утилит *
-texdata # Максимальный
размер памяти для текстур. По умолчанию предел -
4Мб. Не рекомендуется превышать этот размер больше 2Мб.
-chart Отображение BSP-статистики
перед записью данных в BSP-файл.
Лучше применять к HLRAD и HLVIS.
-low | -high Устанока
низкого или высокого приоритета выполнения компиляции.
Установка низкого приоритета позволяет паралельно выполнять
другие процессы без снижения производительности.
-nolog Не создавать файлы
отчета и сообщений об ошибках (.log и .err).
-threads # Установка количества дочерних процессов. Важна для не-Windows
систем.
-estimate Отображение вместо стандартного индикатора хода компиляции:
расчетного времени компиляции, сколько выполнено и сколько еще
осталось обработать.
-verbose Выдавать второстепенные
сообщения.
-noinfo Не выдавать в
сообщениях информацию о настройках утилит.
-dev # Уровень отображения
внутренних отладочных сообщений. От 0 до 6.
(0 - не отображать).
* HLCSG *
~~~~~~~~~
-nowadtextures Включить
все используемые текстуры внутрь BSP-файла.
-wadinclude <файл> Включить
из указанного wad-файла используемые текстуры
внутрь BSP-файла. Перед именем файла можно задавать
путь. Для включения нескольких wad-файлов укажите
несколько параметров wadinclude.
-noclip Не создавать ограничительные
оболочки. С этим параметром карта
создается без 3-х ограничительных оболочек, остается только
видимая. Это полезно для ускорения компиляции на стадии раз-
работки.
-onlyents Обновить энтити
в BSP-файле из MAP-файла. Чаще всего можно
только редактировать энтити. При добавлении/удалении может про-
изойти деорганизация остальных энтитей, особенно триггеров.
-noskyclip Отключение
автоматического ограничения SKY-брашами (небом). С
эти параметром ускоряются HLVIS и HLRAD.
-tiny # Установка площади,
меньше которой удаляются браши. По умолчанию
установлено 0.5 юнита. Опасно таким способом удалять лишние
браши - BSP-дерево карты может повредиться.
-brushunion # Установка
границы в процентах для выдачи сообщения при пере-
сечении брашей. Имеет смысл ставить 95% и больше при начальной
отладке. Замедляет HLCSG дополнительными вычислениями для
выдачи сообщений. По умолчанию выключена.
-hullfile <файл> Загрузка
из файла параметров ограничительной оболочки. Файл
состоит из 3-х строк, которые обозначают в пространстве
вершины "коробки". Каждая строка содержит 3 числа - X Y Z
координаты соответственно.
* HLBSP *
~~~~~~~~~
-leakonly
Запуск BSP для поиска "дыр" (LEAKs). При нахождении дыр
создается PTS-файл с информацией для их поиска.
-subdivide # Установка
уровня делителя поверхности в юнитах. По умолчанию
стоит максималное значение - 240. Чем меньше это значение, тем
больше r_speeds.
-maxnodesize # Установка
максимального размера портала. Установка меньшего
размера разбивает пространство карты на большее количество
блоков, что приводит к увеличению r_speeds, но это может помочь
HLVIS быстрее и/или точнее расчитать визуальные участки, что
снизит r_speeds.
-notjunc Не разбивать
браши на более мелкие в местах T-соединений.
Данный параметр не используют при нормальной компиляции.
-noclip Не обрабатывать
ограничивающие оболочки и не писать их в
BSP-файл. Если этот параметр применяется, то он должен быть
указан и в HLCSG.
-nofill Не заполнять пространство
снаружи оболочки (игнорирует утечки
LEAK). Лучше при этом не запускать HLRAD. Не применяется при
нормальной компиляции.
* HLVIS *
~~~~~~~~~
-fast Быстрая визуализация.
Не используется для нормальной компиля-
ции. Лучше использовать для быстрой компиляции без HLRAD.
-full Полная визуализация.
Используется при конечной компиляции.
Увеличивает время компиляции за счет более детального анализа.
* HLRAD *
~~~~~~~~~
-sparse Включить алгоритм
low memory vismatrix (визуальная матрица с
ограниченной памятью). HLRAD разбивает пространство карты на
блоки (патчи). Из этих блоков создается матрица для вычисления
освещения. Вы можете увидеть среди сообщений такое: visibility
matrix: ... megs. За счет применения этого алгоритма происходит
сжатие матрицы, и уменьшается расход памяти при работе HLRAD.
-nomatrix Не использовать
визуальную матрицу.
-extra Включить наилучшее
вычисление света.
-bounce # Установка уровня
световых отражений. Увеличение этого параметра
улучшает тени и темные участки. Почти не влияет на скорость
компиляции.
-ambient r g b Установить
уровень окружающего света. Осветляет черные
поверхности. Значения красного, зеленого, синего от 0.0 до
1.0.
-maxlight # Установить
максимальный уровень освещенности. Ограничивает
яркость на очень освещенных участках карты.
-circus
Включить режим "цирка" для
выявления неосвещенных участков. Все
черные точки (отраженный свет не учитывается) случайным образом
заменяются на яркие, любого цвета.
-nopaque Убрать блокирование
света от энтитей с параметром
zhlt_lightflags 2. Ускоряет компиляцию, только для теста.
-smooth # Установить предел
для сглаживания света (в градусах). По
умолчанию HLRAD использует отдельное для каждой поверхности ос-
вещение (Phong shading). С этим параметром применяется
сглаживание освещения (Phong smoothing) на поверхностях, если
угол между поверхностями меньше чем указанный.
-chop # Установить размер
блока освещения (патча) для нормальных
текстур. Увеличение размера патчей ведет к ускорению вычислений
HLRAD, но ухудшению качества освещения.
-texchop # Установить
размер блока освещения (патча) для светящихся
текстур. Лучше чтоб значение этого параметра равнялось половине
от значения параметра chop.
-notexscale # Не изменять
размеры патчей при изменении размеров текстур. Если
на карте размер текстур увеличен, то количество патчей не
увеличивается.
-coring # Установить минимальный
порог освещенности для поверхностей.
-dlight # Установить максимальный
порог для прямого света. Этот параметр
похож на maxlight, но он нормализует свет вместо простого
"отброса" излишней яркости.
-dscale # Установить умножение
прямого света. Установка значения 1 дает
реалистичные тени. Значение 0 дает полное отключение прямого
света (так можно проверять отраженный свет). Значения 3-4
создают сильный контраст между тенями и освещенными участками,
что полезно на картах типа пустыни или арктики.
-nolerp Отключить смешивание
отраженного света для близлежащих патчей.
Используется ближайшее значение.
-fade # Установить уровень
затемнения для источников света. Чем больше
значение, тем меньше распространяется свет. Этот параметр
добавляет искуственное значение к нормальному способу вычисле-
ния прямого света. Отдельные объекты могут иметь собственные
значения.
-falloff # Установить
способ расчета затемнения прямого света.
1 - 1:растояние, 2 - 1:растояние2.
-scale # Установить глобальное
умножение света. Чем больше, тем светлее.
Производится в конце расчета освещения, так что можно регули-
ровать уровень яркости на карте.
-gamma # Установить уровень
гамма-корекции. Производится в конце
вычислений прямого и отраженного света.
-sky # Установить влияние
окружающего солнечного света на затененные
поверхности.
-lights <файл> Указать
RAD-файл кроме стандартных lights.rad и имя-карты.rad.
-noskyfix Отключить глобальное
использование light_environment (глобаль-
ный уровень света от неба). По умолчанию учитывался только один
light_environment. С применением этого параметра каждый
light_environment работает отдельно.
-incremental Использовать
или создавать файл со специальной информацией о
свете. Полезно для отладки света и машин с ограниченной
памятью.
Использование файла с
данными о свете:
1. Запустить HLRAD с параметром incremental, при этом создается большой
файл
(десятки мегабайт).
2. Можно изменить объекты света - яркость, напраление, положение, цвета
и т.д.
3. Запустить HLCSG с параметром onlyents для обновления световых объектов.
4. Запустить HLRAD с параметром incremental. Если в первый раз были установлены
extra, chop, texchop, notexscale, их нужно так же указать. Другие параметры
можно изменять. 5. 6. 7. 8.
-dump Сохранить данные
о патчах для отладки.
Изменение этитей
_fade # Установить затемнение, чем больше, тем темнее. Применяется к
энтитям light, light_environment, light_spot. Влияет только на
прямой свет. По умолчанию значение равно 1.0. При приближении
к 0.0 свет будет распространяться дальше, а при превышении 1.0
свет будет уменьшаться.
_falloff # Установить
способ расчета затемнения прямого света. 1 -
1:растояние, 2 - 1:растояние2. Применяется к энтитям light,
light_environment, light_spot
zhlt_lightflags Установить
опциональные флаги освещения. Применяется к любым
брашевым энтитям.
Значения:
· 0 - по умолчанию.
· 1 - EmbeddedFix. Не использовать сложную корекцию освещения. Используется
для
исправления неправильно освещенных энтитей.
· 2 - Opaque. Отбрасывать тени.
· 3 - Комбинация флагов 1 и 2.
· 4 - ConcaveFix. Используется только с Opaque для исправления освещения
внутренней стороны искривленных этитей func_walls (например, арки).
· 6 - Комбинация флагов 2 и 4. · · · ·
light_origin Установка
выборочного расположения света. Применяется к любым
брашевым энтитям. Чаще всего используется энтити info_target и
в параметре браш-объектов - light_origin, указывается имя
объекта info_target. Тогда, объект будет отбрасывать две тени
(если для него не установлен флаг Opaque) - там, где он на-
ходится, и там, где расположет указанный объект info_target.
|