Школа Counter-Strike - Часть 3.4 Параметры компиляторов.

Мир Counter-Strike

Приветствую Вас Гость | RSSГлавная | Часть 3.4 Параметры компиляторов. | Регистрация | Вход
Главное меню
Теория CS
Видео школа CS 1.6
Скачать
Магазин
Мастерская
Арт-Cs
Новые видео уроки CS 1.6Новые материалы и файлы


Учебник по созданию карт
Часть 3. Компиляция (ZHLT).

Часть 3.4 Параметры компиляторов

В этом материале собраны все параметры утилит Zoner's Half-Life Tools. В продвинутых программах-компиляторах ZHLT Custom Build помимо данных параметров используются и некоторые другие. О них мы рассказывали в одном из прошлых материалов Части 3. Учебника. 

Каждая из 4-х программ-компиляторов имеет как свои собственные параметры, так и девять общих, которые применимы к любой из них.


Содержание:

1. HLCSG

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

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

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

-noclip
Не создавать «ограничительную» область в уровне. Уровни в Counter-Strike имеют четыре замкнутые области (hulls), которые используются движком: одна область — видимая (отрисовка видимых участков уровня), и три области — ограничительные (ограничивают передвижение игрока по уровню). Этот параметр отключает ограничительные области в уровне, тем самым делает её как бы «воздушной»: игрок может ходить сквозь стены и провалиться сквозь пол (если включена гравитация). Бывает полезно с целью экономии времени при неокончательной, тестовой компиляции карты. При этом наблюдать за сделанными изменениями в уровне будет возможно только в режиме Spectator.

-onlyents
Позволяет обновлять значение параметров энтити-объектов из исходника *.map в готовой BSP-карте. Однако, в подавляющем числе случаев объекты нельзя редактировать. Добавление или удаление энтити-объекта может дезорганизовать остальные энтити-объекты, испортив брашевые энтити, в особенности, брашевые триггеры.

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

-tiny #
Устанавливает минимальную площадь браша, меньше которой они удаляются. Поверхности с небольшой площадью удаляются во время процесса компиляции. По умолчанию порог составляет половину квадратного юнита. Заметим, что удалять поверхности таким образом довольно опасно, так как могут возникнуть ошибки: HALL-OF-MIRRORS или LEAF PORTAL SAW INTO LEAF.

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

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


2. HLBSP

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

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

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

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

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

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

-nofill
Не заполнять внешний мир (игнорируются дырки — LEAK) (не для финальной компиляции). Не стоит запускать расчет освещения (HLRAD.EXE) для карты, откомпилированной данным способом, хотя hlvis будет работать без проблем.


3. HLVIS

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

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

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


4. HLRAD

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

-sparse
Задействовать алгоритм с матрицей с ограниченной памятью. Hlrad.exe разбивает карту на множество блоков (или патчей), из которых затем создается матрица для просчёта освещения в уровне. Вначале матричный алгоритм ограничен 65535 блоками. Использование памяти при этом алгоритмоме возрастает в геометрической прогрессии по мере увеличения числа блоков (патчей). Необходимое количество памяти в байтах вычисляется как: количество блоков в квадрате поделенное на шестнадцать. Эта опция hlrad'а задействует алгоритм сжатия матрицы, благодаря которому, можно преодолеть максимальное число блоков в 65535 шт. А также позволяет снизить необходимость в оперативной памяти до 10 процентов от объёма, необходимого для простого матричного алгоритма.

-nomatrix
Полностью выключить матрицу. Так как «урезанная» матрица (параметр: -sparse) приводит к сжатию данных, то, всвязи с этим, необходима точная синхронизация процессов, что сложно добиться на компьюетрах с количеством процессоров более двух. Параметр -nomatrix был добавлен для того, чтобы решить данную проблему.

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

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

-ambient r g b
Устанавливает минимальную яркость освещения окружающего мира (значения: от 0.0 до 1.0; r g b). С этим параметром устанавливается минимальная яркость всякой поверхности уровня с тем, чтобы ни какая из поверхностей не была абсолютно чёрной. Параметры R G B соответствуют красному (Red), зелёному (Green) и синему (Blue) цвету со значениями от 0.0 до 1.0.

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

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

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

-smooth #
Данный параметр устанавливает порог сглаживания в градусах. По умолчанию hlrad.exe освещает всякую поверхность отдельно. Это приводит к зримому разделению поверхностей в готовом уровне. Если же угол между 2-мя поверхностями меньше указанного в этом параметре, просчёт освещения будет выполнен с задействованием технологии сглаживания.

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

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

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

-coring #
Устанавливает минимальный порог освещённости. ИСпользуется для того, чтобы ни одна поверхность не была абсолютно чёрной.

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

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

-dscale #
Устанавливает множитель освещения. Использование значения -dscale 1, создаёт наиболее реалистичное свещение и тени. Использование значения -dscale 0 абсолютно удалит прямое освещение из уровня и оставит только отраженный свет. Использование значений «3-4» создаёт сильный контраст между тенями и освещенными участками, что может быть полезным в уровнях с арктическими льдами и т.п.

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

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

-scale #
Устанавливает множитель для финального освещения на карте. Данный параметр оказывает влияние на финальные значения источников света после того, как все расчёты освещённости уже выполнены. Уменьшение данного параметра ведёт к затемнению карты, увеличение, наоборот, к осветлению.

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

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

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

-noskyfix
Отключает глобальное применение точечного энтити-объекта light_environment. В утилитах Зонера 2.1 появилась простая функция освещения при помощи объекта light_environment. Отныне в уровне необходимо наличие только одного энтити-объекта light_environment, причём его местоположение не играет никакой роли — все небо излучает свет. Параметр -noskyfix отключает эту систему и включает старый режим, когда на различных участках уровня были необходимы свои light_environments. Таким образом, данный параметр использовать не нужно.

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


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

-texdata #
Устанавливает верхний лимит памяти (в Кб), выделяемый для текстур. HL был построен с максимальным размером текстурной памяти в два Мб. Утилиты Зонера по умолчанию имеют лимит в четыре мегабайта.

-chart
Показывает статистику BSP. Данная функция принуждает программы-компиляторы выдавать статистику BSP перед тем, как записать в файл. Утилита Ripent всегда отображает статистическую диаграмму.

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

-nolog
Не создавать автоматически файлы отчета *.log и файлы с сообщениями об ошибках *.err.

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

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

-verbose
Компилировать с дополнительными сообщениями, связанными с картостроением. Большинство утилит будут выдавать второстепенную информацию, если задействовать данный параметр.

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

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


Часть 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 Как ускорить компиляцию?
   
Форма входа
Гость

Здравствуйте Гость! Пожалуйста зарегестрируйтель или зайдите под своим ником.biggrin
Поиск по сайту
Облако тегов
Тактика в CS 1.6
Опрос
Сколько Вам лет?
Всего ответов: 1375
Материалы
Comments: 49
Forum: 12/45
News: 6
Downloads: 250
Guestbook: 54
Кто онлайн

Онлайн всего: 1
Гостей: 1
Пользователей: 0
uCoz
При копировании материалов активная ссылка на world-cs.net обязательна © 2016