Эта статья документации для всего, что использует платформу Source. Нажмите для получения дополнительной информации.

Ru/VBSP: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(20 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{otherlang2
{{LanguageBar|title=Компилятор геометрии VBSP}}
|title=VBSP
{{Source topicon}}
| en = VBSP}}
{{map compile pipeline|source1}}
 
{{finishtranslation}}
{{finishtranslation:ru}}
 
{{toc-right}}
{{toc-right}}
 
{{vbsp|4}} — это инструмент, преобразовывающий исходный {{L|VMF}}-файл карты в файл {{L|Binary Space Partition|бинарного разделения пространства}} формата [[BSP (Source)|Source 1's BSP]]. После этого обычно используются {{L|VVIS}} и {{L|VRAD}}.
'''VBSP''' — это инструмент, который компилирует сырой [[VMF]] файл в файл формата [[Binary Space Partition]]. Обычно за ним следуют [[VVIS]] и [[VRAD]].


Что делает VBSP:
Что делает VBSP:
* Преобразуется поверхности объёмов {{L|brush|элементов}} в полигоны
* Определяет {{L|visleaf|области видимости}}
* Создаёт {{L|detail props|мелкие реквизит-объекты}}
* Встраивает большинство {{LCategory|Internal entities|внутренних объектов}} в {{L|Worldspawn|мир}} карты
* Заменяет {{L|$envmap|отражающие материалы}} заимствующими {{L|patch}} версиями, ссылающимися на ближайшие объекты {{L|env_cubemap|карт окружения}}
** Также создаёт пустые тукстуры {{L|cubemaps|карты окружения}} (многие модифицированные VBSP обычно пропускают этот этап).
* Определяет {{L|leak|утечки (разрывы)}} в геометрии карты в виде создаваемых {{L|LIN|*.lin}}-файлов
* Создаёт в файле карты {{L|BSP_(Source)#Entity|блок объектов}}
* Объединяет группы {{L|prop_static|статичных реквизит-объектов}} с одинаковым {{L|material|материалом}} {{csgo|since}}


* конвертирует [[brush|браши]] в полигоны
Несмотря на то что результирующий {{L|BSP}} файл уже может быть использован в игре, он не содержит данных о контроле видимости (низкая производительность) и освещении.
* генерирует [[visleaf|листья видимости]]
* генерирует [[detail props]]
* swallow most [[internal entity|internal entities]] into [[the world]]
* заменяет [[$envmap|specular materials]] [[patch|пропатченными]] версиями, которые ссылаются на ближайшие [[env_cubemap|cubemap]]'ы
* встраивает [[entity block]]
* {{csgo}} объединяет группы [[prop_static|статичных пропов]] с одинаковым [[Material:ru|материалом]]


Не смотря на то что результирующий [[BSP]] файл уже может быть использован, он не имеет контроля видимости (низкая производительность) и освещения.
{{bug|hidetested=1|В не-{{l4dbranch}} играх, {{L|MDL (Source)|.mdl}} файлы имеющие <code>IDST1</code> заголовок не будут загружаться для VBSP, см. баги {{L|VRAD}}.}}


{{bug:ru|<code>.mdl</code> файлы имеющие <code>IDST1</code> заголовок не будут загружаться для VBSP, см. баги [[VRAD]].}}
{{bug|tested={{src13}}|В {{src13|4}} и возможно других версиях платформы, [[smoothing groups|группы сглаживания]] неправильно прописаны для граней объекта {{L|func_detail|элемент деталь}}. Это исправлено в {{slamminsrc|2|nt=1}}, {{gmod|2}}'s VBSP и {{mapbase|2}}' VBSP, а код исправления можно найти в [https://github.com/ValveSoftware/source-sdk-2013/pull/391 ответах на вопрос 391 на GitHub].}}
{{bug|tested={{src13}}|Vanilla VBSP doesn't recognize custom lightmapped shaders, and thus it won't allow [[VRAD]] to generate lightmaps for them. This is fixed in third party forks such as {{slamminsrc|2|nt=1}} and {{mapbase|2}}'s.}}


== Синтаксис ==
== Параметры запуска ==
=== Синтаксис ===


  vbsp [options...] vmf_file
  vbsp [options...] vmf_file
Line 31: Line 33:
  "Half-Life 2\bin\vbsp.exe" -onlyents sdk_trainstation_01
  "Half-Life 2\bin\vbsp.exe" -onlyents sdk_trainstation_01


Это повторно встроит entity block без влияния на остальной мир.
Это повторно создаст блок объектов без влияния на остальной мир карты.


== Основные параметры ==
=== Основные параметры ===


{{Note:ru|<code>-onlyents</code> и <code>-keepstalezip</code> пометит карту как "устаревшую" встроив файл stale.txt в ее BSP. При загрузке "устаревших" карт в консоли движка появится предупреждение "This map is not final!!".}}
{{Note|<code>-onlyents</code> и <code>-keepstalezip</code> пометит карту как "устаревшую" встроив файл stale.txt в ее BSP. При загрузке "устаревших" карт в консоли движка появится предупреждение "This map is not final!!".}}


; <code>-v</code>
; <code>-v</code>
Line 41: Line 43:
: Включает подробный вывод (также показывает больше параметров командной строки). Используется без каких-либо других параметров.
: Включает подробный вывод (также показывает больше параметров командной строки). Используется без каких-либо других параметров.
; <code>-onlyents</code>
; <code>-onlyents</code>
: Импортирует из VMF только entities. Браши и internal entities не изменяются. Сохраняет текущие данные освещения.
: Импортирует из VMF только объекты. Элементы карты и внутренние объекты карты не изменяются. Геометрия объёмных объектов не изменяется, но заменяются значения ключ-параметров. Сохраняет имеющиеся данные освещения и видимости.
; <code>-onlyprops</code>
; <code>-onlyprops</code>
: Обновляет только static и detail props (например, internal entities). Не генерирует .prt файл (making VVIS fail).
: Обновляет только статичные и мелкие реквизит-объекты (например, внутренние объекты). Не создаёт .prt файл (making VVIS fail).
; <code>-glview</code>
; <code>-glview</code>
: Записывает [[glview]] данные в директорию VMF. При использовании <code>-tmpout</code>, файлы будут записаны в <code>\tmp</code>.
: Записывает {{L|glview}} данные в директорию VMF. При использовании <code>-tmpout</code>, файлы будут записаны в <code>\tmp</code>.
; <code>-nodetail</code>
; <code>-nodetail</code>
: Убирает [[func_detail]] браши. Остаётся только геометрия влияющая на видимость.
: Убирает объекты {{L|func_detail|элемент деталь}}. Остаются только элементы геометрии карты, влияющие на видимость.
; <code>-nowater</code>
; <code>-nowater</code>
: Избавляется от брашей воды.
: Избавляется от объёмов элементов воды. {{confirm|Учитывается ли CONTENTS_SLIME или только CONTENTS_WATER?}}
; <code>-low</code>
; <code>-low</code>
: Запускает как процесс с базовым приоритетом.
: Запускает компилятор как процесс с низким приоритетом.
; <code>-vproject <directory></code>
; <code>-vproject <directory></code>
: Перезаписывает переменную среды [[VPROJECT]].
: Переопределяет переменную среды {{L|Game_directory|VPROJECT}}.
; <code>-game <directory></code>
; <code>-game <directory></code>
: Определяет папку с файлом <code>gameinfo.txt</code>
: Определяет папку с файлом <code>gameinfo.txt</code>
{{CLParam|-insert_search_path|param=directory| Добавляет путь к директории для поиска дополнительного содержимого (как записи в [[Gameinfo.txt]]). Полезно, если по какой-либо причине необходимо хранить некоторые ресурсы отдельно от основной модицикции.}}
; <code>-embed <directory></code>
; <code>-embed <directory></code>
: Встраивает содержание <directory> в packfile
: Сохраняет содержимое директории <directory> в упаковочный блок файла карты {{src13mp|since}}
{{CLParam|-instancepath|param=directory|game={{p2ce|only}}| Переопределяет ключ InstancePath в файле gameinfo.}}


== Расширенные параметры ==
=== Расширенные параметры ===
 
{{ColumnBox|count=2|{{CLParam|-autoviscluster|param=int|game={{csgo|since}}|{{Todo|Used on dz_sirocco, found in <code>scripts/mapautocompile.txt</code>.}} }}
{{ColumnBox|count=2|
; <code>-novconfig</code>
; <code>-novconfig</code>
: Не открывать графический интерфейс при ошибках vproject.
: Не открывать графический интерфейс при ошибках vproject.
; <code>-threads</code>
; <code>-threads</code>
: Контролирует количество используемых потоков (threads) (по-умолчанию — количество процессоров (x2 для процессоров с Hypertreading/SMT) на вашем компьютере).
: Определяет количество используемых компилятором потоков (по умолчанию — количество процессоров/ядер (x2 для процессоров с Hypertreading/SMT) на вашем компьютере).
; <code>-verboseentities</code>
; <code>-verboseentities</code>
: Если использован параметр <code>-v</code>, то подробный вывод для подмодулей отключается.
: Если использован параметр <code>-v</code>, то подробный вывод для подмоделей отключается.
; <code>-noweld</code>
; <code>-noweld</code>
: Не объединять вершины граней.
: Не объединять близкие вершины граней.
; <code>-nocsg</code>
; <code>-nocsg</code>
: Не вырезать пересекающиеся участки брашей.
: Не вырезать пересекающиеся объёмы элементов карты.
; <code>-noshare</code>
; <code>-noshare</code>
: Emit unique face edges instead of sharing them.
: Emit unique face edges instead of sharing them.
; <code>-notjunc</code>
; <code>-notjunc</code>
: Don't fixup t-junctions.
: Не исправлять стыки геометрии t-junctions.
{{CLParam|-allowdetailcracks|Не исправлять стыки геометрии t-junctions на объектах {{L|func_detail|элемент деталь}}.}}
{{CLParam|-nodrawtriggers|Compiles all triggers as if they were using Nodraw texture. Only affects triggers using a texture with [[Material Map Compile Flags#%CompileTrigger_(toolstrigger)|%CompileTrigger]].}}
; <code>-noopt</code>
; <code>-noopt</code>
: По-умолчанию, vbsp убирает "наружную оболочку" карты, которая состоит из граней, которые вы не можете видеть, потому что вы не можете выбраться за карту. <code>-noopt</code> отключает такое поведение.
: По умолчанию, vbsp убирает "наружную оболочку" карты, которая состоит из граней, которые невозможно увидеть в игре, потому что персонаж не может выбраться за границы карты. <code>-noopt</code> отключает такое поведение.
; <code>-noprune</code>
; <code>-noprune</code>
: Don't prune neighboring solid nodes.
: Don't prune neighboring solid nodes.
Line 86: Line 91:
; <code>-nosubdiv</code>
; <code>-nosubdiv</code>
: Don't subdivide faces for lightmapping.
: Don't subdivide faces for lightmapping.
; <code>-micro <#></code>
; <code>-micro <{{Lx|float}}></code>
: vbsp предупредит, если результирующие браши будут меньше указанного объема (по-умолчанию: 1.0).
: Компилятор предупредит, о наличии элементов меньше указанного объема (по умолчанию: 1.0 единица).
; <code>-fulldetail</code>
; <code>-fulldetail</code>
: Mark all detail geometry as normal geometry (so all detail geometry will affect visibility).
: Mark all detail geometry as normal geometry (so all detail geometry will affect visibility).
{{CLParam|-alldetail|game={{only|{{as}} {{dota2}} {{asrd}}}}| Convert all structural brushes to detail brushes, except func_brush entities whose names begin with structure_.}}
; <code>-leaktest</code>
; <code>-leaktest</code>
: Остановит процесс, если будет замечена утечка. Файл утечки будет создан и записан в <название vmf>.lin, вне зависимости от использования этого флага.
: Остановит процесс, если будет замечена утечка. Файл утечки будет создан и записан в <название vmf>.lin, вне зависимости от использования этого флага.
{{CLParam|-noleaktest|game={{only|{{slamminsrc}} {{mapbase}}}}|Disables leaktest, as it is enabled by default.}}
; <code>-bumpall</code>
; <code>-bumpall</code>
: Force all surfaces to be bump mapped.
: Force all surfaces to be bump mapped.
Line 100: Line 107:
; <code>-blocks # # # #</code>
; <code>-blocks # # # #</code>
: Устанавливает минимальное и максимальное значение сетки для vbsp.
: Устанавливает минимальное и максимальное значение сетки для vbsp.
{{CLParam|-blocksize|param=int|game={{csgo|since}}{{slamminsrc|also}}{{gmod|also}}|Control the size of each grid square that vbsp chops the level on. Default is 1024.}}
; <code>-dumpstaticprops</code>
; <code>-dumpstaticprops</code>
: Записывает все static props в staticprop*.txt
: Записывает все static props в staticprop*.txt
; <code>-dumpcollide</code>
; <code>-dumpcollide</code>
: Записывает файлы с информацией о коллизиях.
: Записывает файлы с информацией о коллизиях.
{{CLParam|-forceskyvis}} Enable vis calculations in [[3D Skybox]] leaves.
{{tip|Use this if the 3D skybox room can be accessed without noclip.}}
; <code>-luxelscale #</code>
; <code>-luxelscale #</code>
: Scale all lightmaps by this amount (default: 1.0).
: Scale all lightmaps by this amount (default: 1.0).
{{CLParam|-minluxelscale|param=float|Lets you limit the minimum luxel scale in your map.}}
{{CLParam|-maxluxelscale|game={{slamminsrc|only}}| Lets you limit the maximum luxel scale in your map.}}
; <code>-lightifmissing</code>
; <code>-lightifmissing</code>
: Force lightmaps to be generated for all surfaces even if they don't need lightmaps.
: Force lightmaps to be generated for all surfaces even if they don't need lightmaps.
; <code>-localphysx</code>
; <code>-localphysx</code>
: {{todo:ru|???}}
: {{todo|???}}
; <code>-keepstalezip</code>
; <code>-keepstalezip</code>
: Keep the BSP's zip files intact but regenerate everything else.
: Keep the BSP's zip files intact but regenerate everything else.
{{CLParam|-visgranularity|param=vec3|game={{csgo|since}}{{slamminsrc|also}}|Force visibility splits # of units along X, Y, Z.}}
; <code>-replacematerials</code>
; <code>-replacematerials</code>
: Substitute materials according to materialsub.txt in content\maps
: Замена материалов в соответствии с materialsub.txt в content\maps
; <code>-FullMinidumps</code>
; <code>-FullMinidumps</code>
: Записывает полный дамп при краше.
: Записывает полные кадры памяти при сбое компиляции.
{{CLParam|-novirtualmesh|Исправить [[entities fall through displacements|проваливание объектов физики в деформированные поверхности для старых версий Source]] ценою большего размера BSP-файла.}}
{{CLParam|-xbox|Treat [[%CompileTrigger]] surfaces as nodraw, and treat [[%CompileWater]] surfaces as having [[%CompileNoLight]] (but not [[%CompileSlime]]). Implies {{code|-nodrawtriggers}}.}}
{{CLParam|-nodefaultcubemap|game={{slamminsrc|only}}|Disables automatic skybox cubemap generation.}}
{{CLParam|-defaultcubemap|game={{mapbase|only}}|By default in Mapbase "dummy" cubemaps are not generated during map compilation but can be forced to generate again by this parameter.}}
{{CLParam|-allowdynamicpropsasstatic|game={{gmod|only}}|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'.}}
}}
}}


== Нефункциональные параметры ==
=== Объединение статичных реквизит-объектов ===
{{csgo|since}}
{{ColumnBox|count=2|
; <code>-StaticPropCombine</code>
: Merges static props together according to the rules defined in <code>scripts/hammer/spcombinerules/spcombinerules.txt</code>. 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 {{L|Static Prop Combine}}.
; <code>-StaticPropCombine_AutoCombine</code>
: Automatically generate static prop combine rules for props that VBSP deems should be combined. {{Note|This does not write to <code>spcombinerules.txt.</code>}}
; <code>-StaticPropCombine_ConsiderVis</code>
: Instead of using the distance limit, combine all props in the group that share visclusters.
; <code>-StaticPropCombine_SuggestRules</code>
: Lists models sharing the same material that should be added to <code>spcombinerules.txt</code>.
; <code>-StaticPropCombine_MinInstances <{{L|integer}}></code>
: Определяет минимальное количество объектов для объединения в группу, необходимое для создания единого объекта.
: {{Tip|Valve had this set to 3 for the new Dust 2.}}
; <code>-StaticPropCombine_PrintCombineRules</code>
: {{Confirm|Prints the combine rules? Hasn't been working for me.}}
; <code>-StaticPropCombine_ColorInstances</code>
: {{Confirm|Does this color the instances?}}
; <code>-KeepSources</code>
: Don't delete the autogenerated QCs and unpacked model files after finishing.
; <code>-CombineIgnore_FastReflection</code>
: Объединять даже при различных значениях '''Render in Fast Reflections'''.
; <code>-CombineIgnore_Normals</code>
: Объединять даже при различных значениях '''Ignore Normals'''.
; <code>-CombineIgnore_NoShadow</code>
: Объединять даже при различных значениях '''Disable Shadows'''.
; <code>-CombineIgnore_NoVertexLighting</code>
: Объединять даже при различных значениях '''Disable Vertex lighting'''.
; <code>-CombineIgnore_NoFlashlight</code>
: Объединять даже при различных значениях '''Disable flashlight'''.
; <code>-CombineIgnore_NoSelfShadowing</code>
: Объединять даже при различных значениях '''Disable Self-Shadowing'''.
; <code>-CombineIgnore_DisableShadowDepth</code>
: Объединять даже при различных значениях '''Disable ShadowDepth'''.
}}


=== Нефункциональные параметры ===
; <code>-linuxdata</code>
; <code>-linuxdata</code>
: 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. )
: 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. )
Line 125: Line 178:
: Force it to not write physics data for linux multiplayer servers, even if there are multiplayer entities in the map.
: Force it to not write physics data for linux multiplayer servers, even if there are multiplayer entities in the map.
; <code>-virtualdispphysics</code>
; <code>-virtualdispphysics</code>
: Use virtual (not precomputed) displacement collision models
: Use virtual (not precomputed) displacement collision models  
; <code>-xbox</code>
; <code>-xbox</code>
: Enable mandatory Xbox 1 optimisation.
: Включить обязательную оптимизацию для Xbox 1.
 
=== Скрытые параметры ===
The following options have been commented out with <code>#if 0</code> in the VBSP source code, but still function if VBSP is recompiled with these uncommented.
{{CLParam|-maxlightmapdim|param=float|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.
:{{warning|Going above the default of 32 will result in the lightmap not loading in engine versions other than {{MCV}}{{strata}}.}}
}}
{{CLParam|-defaultluxelsize|param=float|Default 16. Set the default luxel scale that is used if a brush face's {{code|lightmapscale}} is set to 0 or is missing.
:{{important|Editing the face attributes of a face with a luxel scale of zero in [[Hammer]] or [[Hammer++]] will result in the luxel scale being rounded up to 1!}}
}}
 
== Вывод информации ==
{{Todo|Add descriptions for other VBSP outputs (WriteBSP, PruneNodes, ProcessBlock_Thread, etc).}}
 
VBSP печатает различную информацию о процессе компиляции в окне командной строки. Обратите внимание, что выводимая информация в более старых версиях компилятора может отличаться.
; <code>Patching WVT material: ''material path to patched WVT material''</code>
: 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.
; <code>FixTjuncs...</code>
: T-junctions создаются когда объемы объектов {{L|func_detail|элемент деталь}} пересекаются с элементами геометрии карты. Для предотвращения визуальных дефектов VBSP исправляет T-junctions.
; <code>Placing detail props : 0...1...2...3...4...5...6...7...8...9...10</code>
: Размещение {{L|Detail props|мелких реквизит-объектов}} на карте.
 
== Смотреть также ==
* {{L|Map Compiling Theory|Теория компиляции карт}}
* {{L|Decompiling Maps|Декомпиляция карт}}
* [[PTS]]
* [[PRT]]


== См. также ==
{{sdktools}}
* [[Map Compiling Theory:ru|Теория компиляции карт]]
* [[Decompiling Maps|Декомпиляция карт]]


{{SDKTools:ru}}
{{ACategory|Level Design}}


[[Category:Level Design]]
{{ACategory|Official Source Tools}}
{{ACategory|Source 1 BSP compilers}}

Latest revision as of 13:32, 2 July 2025

English (en)Español (es)Русский (ru)中文 (zh)Translate (Translate)

VBSPVVISVRADBSPZIP

Info content.png
This page has not been fully translated.
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.(en)

VBSP VBSP — это инструмент, преобразовывающий исходный VMF(en)-файл карты в файл бинарного разделения пространства(en) формата Source 1's BSP. После этого обычно используются VVIS(en) и VRAD(en).

Что делает VBSP:

Несмотря на то что результирующий BSP(en) файл уже может быть использован в игре, он не содержит данных о контроле видимости (низкая производительность) и освещении.

Icon-Bug.pngБаг:В не-Версия платформы Left 4 Dead играх, .mdl(en) файлы имеющие IDST1 заголовок не будут загружаться для VBSP, см. баги VRAD(en).
Icon-Bug.pngБаг:В Source 2013 Source 2013 и возможно других версиях платформы, группы сглаживания неправильно прописаны для граней объекта элемент деталь(en). Это исправлено в Slammin' Source Map Tools Slammin' VBSP, Garry's Mod Garry's Mod's VBSP и Mapbase Mapbase' VBSP, а код исправления можно найти в ответах на вопрос 391 на GitHub.  (подтверждено в: Source 2013)
Icon-Bug.pngБаг:Vanilla VBSP doesn't recognize custom lightmapped shaders, and thus it won't allow VRAD to generate lightmaps for them. This is fixed in third party forks such as Slammin' Source Map Tools Slammin' VBSP and Mapbase Mapbase's.  (подтверждено в: Source 2013)

Параметры запуска

Синтаксис

vbsp [options...] vmf_file

Пример:

"Half-Life 2\bin\vbsp.exe" -onlyents sdk_trainstation_01

Это повторно создаст блок объектов без влияния на остальной мир карты.

Основные параметры

Note.pngПримечание:-onlyents и -keepstalezip пометит карту как "устаревшую" встроив файл stale.txt в ее BSP. При загрузке "устаревших" карт в консоли движка появится предупреждение "This map is not final!!".
-v
-verbose
Включает подробный вывод (также показывает больше параметров командной строки). Используется без каких-либо других параметров.
-onlyents
Импортирует из VMF только объекты. Элементы карты и внутренние объекты карты не изменяются. Геометрия объёмных объектов не изменяется, но заменяются значения ключ-параметров. Сохраняет имеющиеся данные освещения и видимости.
-onlyprops
Обновляет только статичные и мелкие реквизит-объекты (например, внутренние объекты). Не создаёт .prt файл (making VVIS fail).
-glview
Записывает glview(en) данные в директорию VMF. При использовании -tmpout, файлы будут записаны в \tmp.
-nodetail
Убирает объекты элемент деталь(en). Остаются только элементы геометрии карты, влияющие на видимость.
-nowater
Избавляется от объёмов элементов воды.
Подтвердить:Учитывается ли CONTENTS_SLIME или только CONTENTS_WATER?
-low
Запускает компилятор как процесс с низким приоритетом.
-vproject <directory>
Переопределяет переменную среды VPROJECT(en).
-game <directory>
Определяет папку с файлом gameinfo.txt
-insert_search_path <directory(en)>
Добавляет путь к директории для поиска дополнительного содержимого (как записи в Gameinfo.txt). Полезно, если по какой-либо причине необходимо хранить некоторые ресурсы отдельно от основной модицикции.
-embed <directory>
Сохраняет содержимое директории <directory> в упаковочный блок файла карты (Во всех играх начиная с Source 2013 Multiplayer)
-instancepath <directory(en)> (только в Portal 2: Community Edition)
Переопределяет ключ InstancePath в файле gameinfo.

Расширенные параметры

-autoviscluster <целое число(en)> (Во всех играх начиная с Counter-Strike: Global Offensive)
Нужно сделать: 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
Не исправлять стыки геометрии t-junctions на объектах элемент деталь(en).
-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(en)>
Компилятор предупредит, о наличии элементов меньше указанного объема (по умолчанию: 1.0 единица).
-fulldetail
Mark all detail geometry as normal geometry (so all detail geometry will affect visibility).
-alldetail  (только в Alien Swarm Dota 2 Alien Swarm: Reactive Drop)
Convert all structural brushes to detail brushes, except func_brush entities whose names begin with structure_.
-leaktest
Остановит процесс, если будет замечена утечка. Файл утечки будет создан и записан в <название vmf>.lin, вне зависимости от использования этого флага.
-noleaktest  (только в Slammin' Source Map Tools Mapbase)
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 <целое число(en)> (Во всех играх начиная с Counter-Strike: Global Offensive)(также в Slammin' Source Map Tools)(также в Garry's Mod)
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.
Tip.pngСовет:Use this if the 3D skybox room can be accessed without noclip.
-luxelscale #
Scale all lightmaps by this amount (default: 1.0).
-minluxelscale <число с плавающей запятой(en)>
Lets you limit the minimum luxel scale in your map.
-maxluxelscale  (только в Slammin' Source Map Tools)
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(en)> (Во всех играх начиная с Counter-Strike: Global Offensive)(также в Slammin' Source Map Tools)
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.
-nodefaultcubemap  (только в Slammin' Source Map Tools)
Disables automatic skybox cubemap generation.
-defaultcubemap  (только в Mapbase)
By default in Mapbase "dummy" cubemaps are not generated during map compilation but can be forced to generate again by this parameter.
-allowdynamicpropsasstatic  (только в Garry's Mod)
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'.

Объединение статичных реквизит-объектов

(Во всех играх начиная с Counter-Strike: Global Offensive)

-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(en).
-StaticPropCombine_AutoCombine
Automatically generate static prop combine rules for props that VBSP deems should be combined.
Note.pngПримечание: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(en)>
Определяет минимальное количество объектов для объединения в группу, необходимое для создания единого объекта.
Tip.pngСовет: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 <число с плавающей запятой(en)>
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.
Warning.pngПредупреждение:Going above the default of 32 will result in the lightmap not loading in engine versions other than Military Conflict: VietnamStrata Source.
-defaultluxelsize <число с плавающей запятой(en)>
Default 16. Set the default luxel scale that is used if a brush face's lightmapscale is set to 0 or is missing.
Icon-Important.pngВажно:Editing the face attributes of a face with a luxel scale of zero in Hammer or Hammer++ will result in the luxel scale being rounded up to 1!

Вывод информации

Нужно сделать: Add descriptions for other VBSP outputs (WriteBSP, PruneNodes, ProcessBlock_Thread, etc).

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 создаются когда объемы объектов элемент деталь(en) пересекаются с элементами геометрии карты. Для предотвращения визуальных дефектов VBSP исправляет T-junctions.
Placing detail props : 0...1...2...3...4...5...6...7...8...9...10
Размещение мелких реквизит-объектов(en) на карте.

Смотреть также