Компилятор геометрии 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:
- Преобразуется поверхности объёмов элементов в полигоны
- Определяет области видимости
- Создаёт мелкие реквизит-объекты
- Встраивает большинство внутренних объектов в мир карты
- Заменяет отражающие материалы заимствующими patch версиями, ссылающимися на ближайшие объекты карт окружения
- Также создаёт пустые тукстуры карты окружения (многие модифицированные VBSP обычно пропускают этот этап).
- Определяет утечки (разрывы) в геометрии карты в виде создаваемых *.lin -файлов
- Создаёт в файле карты блок объектов
- Объединяет группы статичных реквизит-объектов с одинаковым материалом (Во всех играх начиная с
)
Несмотря на то что результирующий BSP файл уже может быть использован в игре, он не содержит данных о контроле видимости (низкая производительность) и освещении.










Параметры запуска
Синтаксис
vbsp [options...] vmf_file
Пример:
"Half-Life 2\bin\vbsp.exe" -onlyents sdk_trainstation_01
Это повторно создаст блок объектов без влияния на остальной мир карты.
Основные параметры

-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.
Расширенные параметры
- -autoviscluster <целое число > (Во всех играх начиная с
)
- Нужно сделать: Used on dz_sirocco, found in
scripts/mapautocompile.txt
. -novconfig
- Не открывать графический интерфейс при ошибках vproject.
-threads
- Определяет количество используемых компилятором потоков (по умолчанию — количество процессоров/ядер (x2 для процессоров с Hypertreading/SMT) на вашем компьютере).
-verboseentities
- Если использован параметр
-v
, то подробный вывод для подмоделей отключается. -noweld
- Не объединять близкие вершины граней.
-nocsg
- Не вырезать пересекающиеся объёмы элементов карты.
-noshare
- Emit unique face edges instead of sharing them.
-notjunc
- Не исправлять t-junctions.
- -allowdetailcracks
- Don't fixup t-junctions on func_detail.
- -nodrawtriggers
- Compiles all triggers as if they were using Nodraw texture. Only affects triggers using a texture with %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
- Don't subdivide faces for lightmapping.
-micro <float >
- Компилятор предупредит, о наличии элементов меньше указанного объема (по умолчанию: 1.0 единица).
-fulldetail
- Mark all detail geometry as normal geometry (so all detail geometry will affect visibility).
- -alldetail (только в
)
- Convert all structural brushes to detail brushes, except func_brush entities whose names begin with structure_.
-leaktest
- Остановит процесс, если будет замечена утечка. Файл утечки будет создан и записан в <название vmf>.lin, вне зависимости от использования этого флага.
- -noleaktest (только в
)
- Disables leaktest, as it is enabled by default.
-bumpall
- Force all surfaces to be bump mapped.
-snapaxial
- Snap axial planes to integer coordinates.
-block # #
- Control the grid size mins that vbsp chops the level on.
-blocks # # # #
- Устанавливает минимальное и максимальное значение сетки для vbsp.
- -blocksize <целое число > (Во всех играх начиная с
)(также в
)(также в
)
- Control the size of each grid square that vbsp chops the level on. Default is 1024.
-dumpstaticprops
- Записывает все static props в staticprop*.txt
-dumpcollide
- Записывает файлы с информацией о коллизиях.
- -forceskyvis
- Enable vis calculations in 3D Skybox leaves.

-luxelscale #
- Scale all lightmaps by this amount (default: 1.0).
- -minluxelscale <число с плавающей запятой >
- Lets you limit the minimum luxel scale in your map.
- -maxluxelscale (только в
)
- Lets you limit the maximum luxel scale in your map.
-lightifmissing
- Force lightmaps to be generated for all surfaces even if they don't need lightmaps.
-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
- Замена материалов в соответствии с materialsub.txt в content\maps
-FullMinidumps
- Записывает полные кадры памяти при сбое компиляции.
- -novirtualmesh
- Исправить проваливание объектов физики в деформированные поверхности для старых версий Source ценою большего размера BSP-файла.
- -xbox
- Treat %CompileTrigger surfaces as nodraw, and treat %CompileWater surfaces as having %CompileNoLight (but not %CompileSlime). Implies -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 (только в
)
- Allow all models with the 'static' flag in the model viewer to be used on prop_static, even when their propdata doesn't contain '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 <integer >
- Определяет минимальное количество объектов для объединения в группу, необходимое для создания единого объекта.
Совет:Valve had this set to 3 for the new Dust 2.
-StaticPropCombine_PrintCombineRules
Подтвердить:Prints the combine rules? Hasn't been working for me.
-StaticPropCombine_ColorInstances
Подтвердить:Does this color the instances?
-KeepSources
- Don't delete the autogenerated QCs and unpacked model files after finishing.
-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
-xbox
- Включить обязательную оптимизацию для Xbox 1.
Скрытые параметры
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.
- -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 lightmapscale is set to 0 or is missing.
Вывод информации
VBSP печатает различную информацию о процессе компиляции в окне командной строки. Обратите внимание, что выводимая информация в более старых версиях компилятора может отличаться.
Patching WVT material: material path to patched WVT material
- The map contains WorldVertexTransition materials that are being used on non-displacement faces. VBSP patches these materials to use a different material shader (such as LightmappedGeneric) so that they properly render on these map faces.
FixTjuncs...
- T-junctions are created when func_detail brushes touch world geometry. To avoid visual cracks or seams, VBSP fixes up these T-junctions.
Placing detail props : 0...1...2...3...4...5...6...7...8...9...10
- Размещение мелких реквизит-объектов на карте.
Смотреть также
|