Меню сайта


[DS]: Half-Life Server
[DS]: Half-Life Server


[DS]: CS:S GunGame v34 Server
[DS]: CS:S GunGame v34 Server


[DS]: CS:S v34 Server
[DS]: CS:S v34 Server


Поиск

add_newДобавить новость
Последние добавленные

just a retexture i did of a popular skin pack

Читать далее

<JAM>
m1-palinka


HL-HEV
hl-hev


Параметры компиляторов

Добавил: root
2013-01-05 16:24:41
4476 просмотров

В данной статье описаны все параметры для компиляторов ZHLT. В улучшенных компиляторах ZHLT Custom Build помимо этих параметров используются некоторые дополнительные. О них Вы можете прочитать в одной из предыдущих статей об улучшенной версии ZHLT. Данная статья является переводом официального документа, идущего вместе с ZHLT. Статья взята по адресу: http://alexnd.narod.ru/. Благодарим автора за отличный перевод!

Каждый из четырех компиляторов имеет как свои собственные параметры, так и 9 общих, которые применимы к любому из компиляторов.


Содержание:1. HLCSG

      (8 параметров + 9 общих)



2. HLBSP

      (6 параметров + 9 общих)



3. HLVIS

      (2 параметра + 9 общих)



4. HLRAD

      (25 параметров + 9 общих)



5. Общие для всех компиляторов параметры

      (9 параметров)




1. HLCSG

Пример запуска: hlcsg.exe -estimate -nowadtextures karta.map

-nowadtextures
Включить все используемые текстуры в конечный файл с картой (.bsp). Эта опция бесполезна с введением параметра -wadinclude и оставлена только для обратной совместимости.

-wadinclude файл
Включить текстуры из указанного .wad-файла в конечный файл с картой (.bsp). Этот параметр позволяет включать текстуры из указанного .wad-файла в конечный файл (.bsp). Позволяет использовать частичное совпадение имени, не реагирует на регистр букв, способен распознавать не только имена файлов, но и названия папок. Если необходимо вставить несколько файлов с текстурами, необходимо указать несколько параметров -wadinclude, по одному на каждый файл с текстурами. Только текстуры, действительно используемые в карте, удут вставлены в .bsp-файл.

-noclip
Не создавать «ограничительную» область для карты. Карты в Half-life, как и Quake1, имеют 4 замкнутые области (hulls), используемые движком игры: 1 область — видимая (для отрисовки видимых участков карты), и 3 области — ограничительные (для ограничения движения игроков на карте). Этот параметр позволяет отключить создания ограничительных областей на карте, делая ее «воздушной». Игрок не только сможет ходить сквозь стены, но и провалиться сквозь землю (если гравитация включена). Полезно для экономии времени при тестовой компиляции. Наблюдать за сделанными изменениями на карте можно будет только в режиме Зрителя (Spectator).

-onlyents
Обновить значение параметров объектов из исходника (.map) в готовой карте (.bsp) Данная опция обновляет объекты в уже созданной карте (файл .bsp). В большинстве случаев, однако, объекты нельзя редактировать. Добавление или удаления объекта может дезорганизовать остальные объекты, «испортив» брашевые объекты, особенно триггеры.

-noskyclip
Отключить автоматическое ограничение карты небом. По умолчанию hlcsg ограничивает доступное игроку пространство брашами с текстурой CLIP, а также удаляет все полигоны за пределами карты или «внутри» неба, что ускоряет выполнение программ hlvis и hlrad.

-tiny #
Установить минимальную площадь браша, меньше которой браши удаляются. Поверхности с маленькой площадью удаляются при компиляции. По умолчанию порог составляет 0,5 квадратных «юнита» (единица измерения в Half-Life, редакторе Worldcraft/Hammer). Довольно опасно удалять поверхности таким образом, так как карта может стать нерабочей, могут возникнуть ошибки LEAF PORTAL SAW INTO LEAF или

HALL-OF-MIRRORS (зеркальный коридор — эффект, когда игрок выходит за границы карты в режиме наблюдателя).

-brushunion #
Установить порог для сообщений о пересекающихся брашах. Эта опция дана для отладки. Ее значение устанавливает процентное соотношение объемов пересекающихся брашей, при достижении которого выдается предупреждение. Для начала неплохо использовать довольно высокое значение (95% и выше), так как уменьшение этого параметра приводит к сотням и даже тысячам сообщений. Для каждого пересечения брашей выводится информация о номерах брашей и о проценте перекрытия. Данная опция выключена по умолчанию; ее включение значительно замедляет работу hlcsg.

-hullfile
Загрузить собственный файл с информацией об ограничительных областях. Загружает собственный файл с информацией об ограничительных областях. Файл состоит из 3 строк с 3 числами в каждой, которые обозначают размеры области по осям X Y Z. Эта опция дана для авторов и мапперов определенных модов для Half-life, так что вам не следует слишком беспокоиться о ней.


2. HLBSP

Пример запуска: hlbsp.exe -estimate karta.map

-leakonly
Запустить HLBSP только для поиска «утечек» (ошибка LEAK). Если Вы знаете, что карта имеет «дыры» (LEAK), используйте данный параметр для поиска дыр и создания специального файла с информацией о дырах (.pts-файл).

-subdivide #
Установить размер делителя поверхностей. Поверхности в Half-life разбиваются на полигоны указанного в данном параметре размера (в юнитах). По умолчанию и максимальное значение параметра равно 240. Однако улучшенные компиляторы ZHLT Custom Build позволяют увеличить данный параметр, но при этом практически всегда возникают всевозможные ошибки :) Так было, по крайне мере, до версии ZHLT Custom Build 1.7. Обычно не стоит уменьшать этот параметр, так как это ведет к увеличению r_speeds.

-maxnodesize #
Установить максимальный размер портала. Этот параметр изменяет максимальный размер портала. Его уменьшение приводит к разбивке карты на большее количество порталов и, как следствие, к увеличению значения r_speeds. Однако r_speeds может фактически быть снижен за счет более быстрого или более точного расчета видимых участков на карте в процессе выполнения vis.

-notjunc
Не разбивать браши на более мелкие при соприкосновении (Т-соединения)(не для окончательной компиляции). Эта опция для отладки/настройки и не должна использоваться при обычной компиляции.

-noclip
Не обрабатывать ограничительную область (не для окончательной компиляции). Этот параметр — продолжение опции -noclip в компиляторе hlcsg. Он говорит hlbsp, что hlcsg скомпилировал карту с опцией -noclip и что не следует обрабатывать ограничительные области, так как они отсутствуют в .bsp файле.

-nofill
Не «заполнять» внешний мир (игнорирует утечки LEAK) (не для окончательной компиляции). Этот параметр позволяет не «заполнять» пустоту «снаружи» карты, в результате чего все наружные поверхности сохраняются. Не стоит запускать расчет освещения для карты, скомпилированной таким образом, хотя vis будет работать нормально.


3. HLVIS

Пример запуска: hlvis.exe -estimate -full karta.map

-fast
Ускоренный анализ (не для окончательной компиляции). Ускоренный анализ видимых областей на карте удобен для быстрого обследования создаваемой карты. Однако значение r_speeds оставляет желать лучшего, равно как и число объектных полигонов (epoly — entity polygons). Карту можно «осветить» с помощью hlrad, однако качество освещения и время компиляции освещения такой карты «пострадают». Разрабатываемую карту нужно регулярно компилировать с полным анализом видимости, так как ускоренный анализ может помешать вам заметить внезапное увеличение времени полного анализа, что свидетельствует о неправильной архитектуре и большому результирующему значению r_speeds.

-full
Полный анализ. Этот параметр задействует дополнительный блок расчета видимых областей на карте, что позволяет уменьшить количество ошибок по сравнению с обычным анализом (hlvis без параметров). Время компиляции увеличивается примерно на 30%. Значение r_speeds остается примерно таким же, с некоторым уменьшением в одних местах карты, и увеличением - в других (в основном из-за устранения ошибок при анализе).


4. HLRAD

Пример запуска: hlrad.exe -estimate -chart -extra -smooth 100 -dscale 1 -bounce 4 karta.map

-sparse
Задействовать алгоритм с матрицей с ограниченной памятью. Hlrad разбивает карту на множество блоков — патчей, из которых, в последствии, создается матрица для расчета освещения на карте. Изначально матричный алгоритм ограничен 65535 «патчами» или блоками. Использование памяти этим алгоритмом растет в геометрической прогрессии по мере увеличения количества патчей (требуемая память в байтах вычисляется как кол-во патчей в квадрате деленное на 16. Данный параметр hlrad задействует алгоритм сжатия матрицы, который за счет дополнительного использования процессора позволяет преодолеть предел в 65535 патчей, а также снизить потребность в оперативной памяти до 10% от объема, требуемого для обычного матричного алгоритма.

-nomatrix
Отключить использование матрицы полностью В связи с тем, что использование «урезанной» матрицы (параметр -sparse) приводит к сжатию данных, требуется четкая синхронизация процессов, чего сложно добиться на машинах с количеством процессоров более 2-х. Опция -nomatrix была добавлена для решения такой проблемы. Однако добавление «непрозрачных брашевых объектов» в ZHLT 2.2 очень сильно повлияло на производительность данного метода компиляции освещения в сторону ухудшения. Данный метод не подразумевает использование матрицы вообще, поэтому и не требует памяти для хранения такой структуры данных.

-extra
Включить более точный расчет освещения (9 point oversampling). Позволяет компилировать карту с наиболее реальным и красивым освещением.

-bounce #
Установить количество «отражений» света. Этот параметр устанавливает число раз отражений света. К моменту выполнения данной операции все данные уже предварительно посчитаны, так что дополнительное число отражений не займет много времени. Увеличение числа отражений приводит к сглаживанию теней и освещению темных мест на карте более реальным образом.

-ambient r g b
Установить освещенность окружающего мира (от 0.0 до 1.0, r g b). Эта опция устанавливает минимальную «яркость» каждой поверхности карты для того, чтобы ни одна из них не была полностью черной. Параметры соответствуют красному, зеленому и синему со значениями от 0.0 до 1.0.

-maxlight #
Установить максимальную интенсивность света. Этот параметр используется для ограничения яркости на хорошо освещенных участках, делая карту темнее.

-circus
Разрешить режим 'circus' для обнаружения неосвещенных участков. Это отладочная опция, которая заменяет все черные точки на любой поверхности на случайный яркий цвет. Для расчетов принимается во внимание только прямое освещение и игнорируется отраженный свет.

-nopaque
Отключить блокирование света обектами. Это отладочная опция, которая позволяет отключать блокирование света объектами (отбрасывание теней), у которых установлены флаги свещения (2). Блокирование света объектами замедляет работу hlrad, поэтому данная опция полезна для отладочной/промежуточной компиляции.

-smooth #
Установить порог сглаживания (в градусах). По умолчанию hlrad освещает каждую поверхность отдельно, что приводит к визуальному разграничению поверхностей в готовой карте. Если же угол между двумя поверхностями меньше указанного в этом параметре, расчет освещения будет сделан с использованием технологии сглаживания (имитации плавного перехода — округлости — между поверхностями).

-chop #
Установить размер патча для обычных текстур. Каждая поверхность разбивается на сетку с шагом, равным размеру патча. Получаемые блоки используются для расчета освещения поверхности. Увеличивая размер патча можно ускорить выполнение hlrad и уменьшить потребность в памяти, однако это приведет к потере качества на готовой карте (неровные, угловатые, нереалистичные тени). Уменьшение же размера патча наоборот приведет к более качественному освещению карты, но потребует больше ресурсов компьютера.

-texchop #
Установить размер патча для светящихся текстур. Светящиеся поверхности (текстуры описаны в lights.rad и испускают свет) разбиваются на блоки другого размера, нежели обычные поверхности. Обычно, размер блоков должен быть равен половине размера блока обычной поверхности (-chop) для того, чтобы освещение выглядело хорошо. Включение параметра -extra автоматически устанавливает значение данного параметра равным половине от значения -chop.

-notexscale #
Не изменять размеры патчей при изменении размеров текстур. По умолчанию hlrad использует данные о масштабе текстур при создании сетки и разбиении поверхностей на освещаемые патчи. Этот параметр отключает масштабирование патчей для масштабируемых текстур, что почти всегда приводит к увеличению числа патчей, так как на многих картах текстуры стен увеличены в 2-3 раза.

-coring #
Установить минимальный порог освещения. Эта опция управляет количеством требуемого освещения поверхности, чтобы она не была полностью черной.

-dlight #
Установить максимальную яркость прямого (неотраженного) света. Эта опция аналогична параметру -maxlight за исключением того, что она позволяет «нормализовать» свет вместо того, чтобы «обрезать» излишнюю яркость.

-nolerp #
Параметр nolerp отключает смешивание значений отраженного света для близлежащих патчей (использует ближайшее значение вместо этого). Добавлено автором для внутреннего тестирования кода освещения карты.

-dscale #
Установить множитель для освещения. Из-за ошибки в оригинальной программе компиляции освещения qrad, расчет прямого освещения во время компиляции производился дважды. Для создания наиболее реалистичных карт необходимо производить такой расчет только один раз, однако в связи с тем, что в течение длительного времени карты создавались с указанием этого параметра вручную, он был оставлен и в этой версии компиляторов. Использование значения «1» приведет к созданию наиболее реалистичных теней и освещения. Однако, так как этот параметр изменяемый, он имеет несколько других применений. Так, использование значения «0» полностью удалит прямое освещение из карты и оставит только отраженный свет. Таким образом, мы получили возможность проверять качество только отраженного света (противоположность параметру -bounce 0). Использование значений «3-4» создаст очень сильный контраст между тенями и освещенными участками, что может пригодиться на картах с пустынями или арктическими льдами.

-fade #
Установить уровень затемнения для всех источников света на карте (большее значение приводит к меньшему распространению света). Этот параметр является коэффициентом к формуле расчетов затемнения (1/[квардрат расстояния]). С его помощью можно регулировать расстояние, на которое распространяется прямой свет на карте. Отдельные объекты освещения могут иметь собственные значения затемнения. Данный параметр влияет только на прямое освещение, так как отраженный свет всегда имеет формулу затемнения (1/[квардрат расстояния]).

-falloff #
Установить формулу расчета затемнения (1 = 1/расстояние, 2 = 1/[квардрат расстояния]). Эта опция позволяет изменить формулу расчета затемнения.

-scale #
Установить множитель для конечного освещения на карте. Этот параметр влияет на конечные значения источников света после того, как все расчеты освещения выполнены. Уменьшение этого параметра приводит к затемнению карты, увеличение — к осветлению.

-gamma #
Установить глобальное значение цветов. Эта опция влияет на конечные откомпилированные данные, внося коррекцию по цветности.

-sky #
Установить влияние солнечного света на затененные поверхности. Многие поверхности на карте обращены к небу, но находятся в тени других объектов. Эта опция регулирует, какое значение «солнечного» («небесного») освещения должно быть добавлено к затененной поверхности.

-lights имя_файла.rad
Указать файл со светящимися текстурами вручную (.rad файл). Один .rad файл можно добавить вручную, помимо автоматически используемых файлов lights.rad и <имя_карты>.rad

-noskyfix
Отключить глобальное применение объекта light_environment. ZHLT 2.1 добавил более простую в использовании систему «небесного» освещения с помощью объекта light_environment. По новым правилам на карте требуется только один объект light_environment, причем его месторасположение не играет роли - все небо начинает излучать свет. Параметр -noskyfix отключает это поведение и задйствует старый алгоритм, когда на разных участках карты требовались отдельные объекты light_environments для правильного освещения наружных участков карты.

-incremental
Использовать или создать файл с данными об освещении на карте. Это удобная отладочная опция для настройки освещения карты, особенно для медленных машин с ограниченной системной памятью. Такие этапы компиляции освещения как BuildVisLeafs, MakeScales и SwapTransfers можно пропустить при втором и последующих запусках hlrad используя этот параметр. Использование файла с данными об освещении требует выполнения несложных, четких операций:
  • Запустите hlrad как обычно, включив параметр -incremental. Карта скомпилируется и осветится нормально, вдобавок создастся файл с данными об освещении (размером до нескольких десятков мегабайт).
  • Точечные объекты освещения (light, light_spot, light_environment) могут быть изменены произвольным образом (передвинуты, изменены яркость, цвет и т.д.)
  • Значения объектов обновляются в файл .bsp с помощью компилятора hlcsg с параметром -onlyents.
  • Запустите hlrad как обычно опять с параметром -incremental. Необходимо сохранить точно такие же значения параметров -extra, -chop #, -texchop #, -notexscale #. Другие параметры можно менять как угодно.
-dump
Сохранить информацию о патчах для отладки hlrad. Это опция для разработчиков ZHLT, для сохранения информации о патчах, созданных на этапе разбиения карты на блоки и проверки правильности такого разбиения.


5. Общие параметры

-texdata #
Изменяет максимальный размер памяти, выделяемый для текстур (в Кб). Half-life был построен с лимитом текстурной памяти в 2Мб, так же как и Opposing Force. Утилиты ZHLT по умолчанию имеют лимит в 4Мб. Такой объем памяти, выделяемый для текстур, может быть великоватым в совокупности с текстурами моделей, графикой на экране, и т.д., особенно для владельцев с устаревшими видеокартами типа Voodoo 1 и 2.

-chart
Показывает статистику bsp. Этот параметр заставляет программы выдавать на экран статистику bsp перед тем, как записать в файл. Наиболее полезно применять данную опцию с программами hlrad и hlvis. Утилита ripent всегда отображает статистическую диаграмму.

-low / -high
Запускает программу с низким/высоким приоритетом. Установка низкого приоритета (-low) очень удобна, так как вы можете выполнять несколько других приложений одновременно без ощутимого воздействия компиляторов на производительность системы. Рекомендуется использовать при наличии достаточного количества оперативной памяти.

-nolog
Не создавать файлы отчета. Этот параметр отключает автоматическое создание файлов отчета (.log) и файлов с сообщением об ошибке (.err)

-threads #
Вручную указать количество процессов. Эта опция используется для указания количества процессов, в основном, на машинах с операционной системой, отличной от Windows, когда невозможно автоматически определить количество процессоров. На машинах с операционной системой Windows эта опция позволяет задать меньшее число процессов, чем имеющееся количество процессоров.

-estimate
Показывает расчетное время компиляции. Этот параметр заменяет стандартный индикатор прогресса (10...20...) на указатель с расчетным временем компиляции, количеством выполненной работы и оставшейся для выполнения. Предсказание времени часто бывает неточным, однако в целом такой индикатор более подробен, нежели стандартный.

-verbose
Компилировать с дополнительными сообщениями. Большинство утилит выдают «второстепенные» сообщения и информацию, если установить данную опцию. С развитием утилит версий 2.х, такие сообщения, связанные с работой самих утилит, отображаются при включенном параметре -dev, тогда как сообщения, связанные с картостроением, отображаются при включенном параметре -verbose.

-noinfo
Не показывать настройки утилит. ZHLT 2.1 добавил свойство вывода на экран текущей конфигурации каждой утилиты перед началом работы. В таблице настроек показывается текущее значение и значение по умолчанию каждого параметра. Из-за большого объема текстовой информации это может вызвать проблемы компиляции, например, в Worldcraft, так как последний иногда зависает от большого объема текста, скроллирующегося в его окне компиляции.

-dev #
Компилировать с включенными сообщениями разработчика. Внутренние отладочные сообщения в утилитах ZHLT регулярно добавляются в комплект инструментов. Данный параметр позволяет регулировать степень отображения таких сообщений, и имеет значения начиная с 0 (не показывать), и кончая 6 (показывать даже избыточные сообщения). Данная опция практически не используется, за исключением случаев по запросу разработчика для диагностики компьютера пользователя.

§ 3.1 Что такое компиляция?
§ 3.2 Компиляторы ZHLT
§ 3.3 Улучшенная версия ZHLT Custom Build
§ 3.4 Параметры компиляторов
§ 3.5 Как компилировать?
§ 3.6 Ошибки компиляции
§ 3.7 Разбор компиляционного LOG-файла
§ 3.8 Изменение карты без компиляции
§ 3.9 О декомпиляции карт
§ 3.10 Узнай устройство карты без декомпиляции
§ 3.11 Как ускорить компиляцию?

Поделиться:
Тэги: