Компилятор геометрии VBSP
You can help by finishing the translation.
If this page cannot be translated for some reason, or is left untranslated for an extended period of time after this notice is posted, the page should be requested to be deleted.
Also, please make sure the article complies with the alternate languages guide.
VBSP — это инструмент, преобразовывающий исходный VMF-файл карты в файл бинарного разделения пространства формата Source 1's BSP. После этого обычно используются VVIS и VRAD.
Что делает VBSP:
- Преобразуется поверхности объёмов элементов карты в полигоны
- Определяет области видимости
- Создаёт мелкие реквизит-объекты
- Встраивает большинство внутренних объектов в мир карты
- Заменяет отражающие материалы замещающими версиями, ссылающимися на ближайшие объекты карт окружения. Также создаёт пустые текстуры карты окружения (многие модифицированные VBSP обычно пропускают этот этап).
- Определяет утечки (разрывы) в геометрии карты в виде создаваемых *.lin-файлов
- Создаёт в файле карты блок объектов
- Объединяет группы статичных реквизит-объектов с одинаковым материалом (Во всех играх начиная с
)
Несмотря на то что результирующий BSP файл уже может быть использован в игре, он не содержит данных о контроле видимости (низкая производительность) и освещении.
Исправлено в Slammin' Source Map Tools, Garry's Mod, Mapbase и VBSP++. (подтверждено в:
Исправлено в модифицированных версиях, таких как Slammin' Source Map Tools, Mapbase и VBSP++. (подтверждено в:
Синтаксис
vbsp.exe [параметры] <имя_карты>.vmf
Пример
"..\Half-Life 2\bin\vbsp.exe" -onlyents "sdk_trainstation_01.vmf"
Это повторно создаст блок объектов без влияния на остальной мир карты.
Параметры командной строки
Основные параметры
-onlyents и -keepstalezip пометит карту как "устаревшую" встроив файл stale.txt в её BSP-файл. При загрузке "устаревших" карт в терминале управления появится предупреждение "This map is not final!!". - -v
- -verbose
- Включает подробный вывод (также показывает больше параметров командной строки). Используется без каких-либо других параметров.
- -onlyents
- Импортирует из VMF только объекты. Элементы карты и внутренние объекты карты не изменяются. Геометрия объёмных объектов не изменяется, но заменяются значения ключ-параметров. Сохраняет имеющиеся данные освещения и видимости.
- -onlyprops
- Обновляет только статичные и мелкие реквизит-объекты (например, внутренние объекты). Не создаёт .prt файл (making VVIS fail).
- -glview
- Записывает данные областей видимости для glview в директорию VMF. При использовании
-tmpout, файлы будут записаны в директорию\tmp.
- nodetail
- Убирает объекты элементов детализации. Остаются только элементы геометрии карты, влияющие на видимость.
- nowater
- Избавляется от объёмов элементов воды.
Подтвердить:Учитывается ли CONTENTS_SLIME или только CONTENTS_WATER?
- -low
- Запускает компилятор как процесс с низким приоритетом.
- -vproject <directory>
- Переопределяет переменную среды VPROJECT.
- -game <directory>
- Определяет директорию размещения файла
gameinfo.txt
- -insert_search_path <directory>
- Добавляет путь к директории для поиска дополнительного содержимого (как записи в Gameinfo.txt). Полезно, если по какой-либо причине необходимо хранить некоторые ресурсы отдельно от основной модификации.
- -embed <directory>
- Сохраняет содержимое директории <directory> в упаковочный блок файла карты (Во всех играх начиная с
)
- -instancepath <directory> (только в
) - Переопределяет ключ InstancePath в файле
gameinfo.txt.
Расширенные параметры
- -autoviscluster <целое число> (Во всех играх начиная с
)
scripts/mapautocompile.txt.
- -novconfig
- Не открывать графический интерфейс при ошибках vproject.
- -threads <целое число>
- Определяет количество используемых компилятором потоков (по умолчанию — количество процессоров/ядер (x2 для процессоров с Hypertreading/SMT) на вашем компьютере).
- -verboseentities
- Если использован параметр
-v, то подробный вывод для подмоделей отключается.
- -noweld
- Не объединять близкие вершины граней.
- -nocsg
- Не вырезать пересекающиеся объёмы элементов карты.
- -noshare
- Создавать новые рёбра граней вместо совместного использования.
- -notjunc
- Не исправлять Т-стыки геометрии.
- -allowdetailcracks
- Не исправлять Т-стыки геометрии на объектах элементов детализации.
- -nodrawtriggers
- Компилирует все переключатели с применением неотрисовываемой Nodraw текстуры. Влияет только на переключатели, использующие текстуру с %CompileTrigger.
- -noopt
- По умолчанию, VBSP удаляет "внешние оболочки" карты, которая состоит из граней, которые невозможно увидеть в игре, потому что персонаж не может выбраться за границы карты.
-nooptотключает такое поведение.
- -noprune
- Don't prune neighboring solid nodes.
- -nomerge
- Don't merge together chopped faces on nodes.
- -nomergewater
- Don't merge together chopped faces on water.
- -nosubdiv
- Не разделять грани для создания карты освещения.
- -micro <число с плавающей запятой>
- Компилятор предупредит, о наличии элементов меньше указанного объема (по умолчанию: 1.0 единица).
- -fulldetail
- Обработать все элементы детализации как обычные элементы геометрии карты (чтобы все элементы детализации влияли на видимость).
- -alldetail (только в
) - Обработать все обычные элементы геометрии картыуву элементы детализации, за исключением объектов func_brush, имена которых начинаются на
structure_.
- -leaktest
- Остановит процесс, если будет найдена утечка. Файл утечки будет создан и записан в
<имя_карты>.lin, вне зависимости от использования этого флага.
- -bumpall
- Принудительно расчитывать все поверхности как имеющие маски реьефа.
- -snapaxial
- Snap axial planes to integer coordinates.
- -block <X_index> <Y_index>
- -blocks <minX_index> <minY_index> <maxX_index> <maxY_index>
- Ограничивает компиляцию карты в пределах указанных блоков координатной сетки. Параметр использует номера блоков, а не единицы измерения Hammer. Для размера блока по умолчанию 1024x1024: диапазон от -16 до 15, при параметре
-block 0 0, будет соответствовать координатам между0 0 -16384и1024 1024 16384. Использование этих параметров почти всегда создаёт утечки, так как карта буквально обрезается по границе мира. В этом случае компилируйте карту только с помощью VBSP.
- -blocksize <целое число> (Во всех играх начиная с
)(также в
)(также в
) - Задаёт размер каждого блока координатной сетки, на которые VBSP разделяет карту. По умолчанию 1024. Directly affects the grid calculation for
-blockand-blocks. Changing this value scales the size of each sector, requiring you to recalculate block indices based on the new size.
- -dumpstaticprops
- Перечисляет все объекты статичного реквизита в файл
staticprop*.txt
-dumpstaticprops), but the code only handles the version without the "s".- -dumpcollide
- Записывает файлы с информацией о столкновениях.
- -forceskyvis
- Включает расчёт видимости в областях трёхмерного неба.}}
- -luxelscale #
- Устанавливает указанный масштаб для всех карт освещения (по умолчанию: 1.0).
- -minluxelscale <число с плавающей запятой>
- Позволяет ограничить минимальный масштаб люкселов на карте.
- -lightifmissing
- Принудительно создавать карты освещения для всех поверхностей, даже если они не требуются.
- -localphysx
- Нужно сделать: Неизвестно
- -keepstalezip
- Keep the BSP's zip files intact but regenerate everything else.
- -visgranularity <вектор данных3> (Во всех играх начиная с
)(также в
) - Force visibility splits # of units along X, Y, Z.
- -replacematerials
- Подменяет материалы в соответствии с файлом
cfg/materialsub.cfg
- -FullMinidumps
- Записывает полные кадры памяти при сбое компиляции.
- -novirtualmesh
- Исправить проваливание объектов физики в деформированные поверхности для старых версий Source ценою большего размера BSP-файла.
- -xbox
- Обрабатывать поверхности переключателей %CompileTrigger как неотрисовываемые, а поверхности воды %CompileWater (но не слизи %CompileSlime) - как имеющие признак %CompileNoLight. Подразумевает использование параметра
-nodrawtriggers.
- -defaultcubemap (только в
) - By default in Mapbase "dummy" cubemaps are not generated during map compilation but can be forced to generate again by this parameter.
- -allowdynamicpropsasstatic (только в
) - Разрешает использовать для prop_static все модели помеченные признаком 'static' в просмотре моделей, даже если в данных модели отсутствует 'allowstatic'.
Объединение статичных реквизит-объектов
- -StaticPropCombine
- Merges static props together according to the rules defined in
scripts/hammer/spcombinerules/spcombinerules.txt. This lowers the number of draw calls, increasing performance. It can also be used to lower the number of static props present in a map. See Static Prop Combine. - -StaticPropCombine_AutoCombine
- Automatically generate static prop combine rules for props that VBSP deems should be combined.
Примечание: This does not write to spcombinerules.txt. - -StaticPropCombine_ConsiderVis
- Instead of using the distance limit, combine all props in the group that share visclusters.
- -StaticPropCombine_SuggestRules
- Lists models sharing the same material that should be added to
spcombinerules.txt. - -StaticPropCombine_MinInstances <целое число>
- Определяет минимальное количество объектов реквизита для объединения в группу, необходимое для создания единого объекта.
Совет: Valve установила значение 3 для нового Dust 2. - -StaticPropCombine_PrintCombineRules
Подтвердить:Prints the combine rules? Hasn't been working for me.- -StaticPropCombine_ColorInstances
Подтвердить:Does this color the instances?- -KeepSources
- Не удалять автоматически созданные QC-файлы и распакованные файлы моделей после завершения работы.
- -CombineIgnore_FastReflection
- Объединять даже при различных значениях Render in Fast Reflections.
- -CombineIgnore_Normals
- Объединять даже при различных значениях Ignore Normals.
- -CombineIgnore_NoShadow
- Объединять даже при различных значениях Disable Shadows.
- -CombineIgnore_NoVertexLighting
- Объединять даже при различных значениях Disable Vertex lighting.
- -CombineIgnore_NoFlashlight
- Объединять даже при различных значениях Disable flashlight.
- -CombineIgnore_NoSelfShadowing
- Объединять даже при различных значениях Disable Self-Shadowing.
- -CombineIgnore_DisableShadowDepth
- Объединять даже при различных значениях Disable ShadowDepth.
Нефункциональные параметры
- -linuxdata
- Force it to write physics data for Linux multiplayer servers. (It will automatically write this data if it finds certain entities like info_player_terrorist, info_player_deathmatch, info_player_teamspawn, info_player_axis, or info_player_coop.)
- -nolinuxdata
- Force it to not write physics data for Linux multiplayer servers, even if there are multiplayer entities in the map.
- -virtualdispphysics
- Use virtual (not precomputed) displacement collision models
Скрытые параметры
The following options have been commented out with #if 0 in the VBSP source code, but still function if VBSP is recompiled with these uncommented.
Both options are restored in VBSP++ and
Garry's Mod's VBSP.
- -maxlightmapdim <число с плавающей запятой>
- Default 32. Set the maximum size a brush face's lightmap can be. VBSP will subdivide faces each time a brush face exceeds one minus this many luxels. Displacements do not get subdivided, but are still limited to this minus one times four.
- -defaultluxelsize <число с плавающей запятой>
- Default 16. Set the default luxel scale that is used if a brush face's
lightmapscaleis set to 0 or is missing.
Вывод информации в терминал
VBSP печатает различную информацию о процессе компиляции в окне командной строки. Обратите внимание, что выводимая информация в более старых версиях компилятора может отличаться.
-Patching WVT material: material path to patched WVT material- Если карта содержит материалы WorldVertexTransition, применённые к граням не являющимся деформированными поверхностями, то VBSP замещает эти материалы с использованием другого оттенения (например, LightmappedGeneric) для правильного отображения таких граней.
-FixTjuncs...- Т-стыки создаются, когда объёмы элементов детализации пересекаются с элементами геометрии карты. Для предотвращения визуальных дефектов VBSP исправляет Т-стыки.
-Placing detail props : 0...1...2...3...4...5...6...7...8...9...10- Размещение мелких реквизит-объектов на карте.
Смотреть также
Тематический указатель
| |||||||||||||||||||||||||||||