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

Ru/VBSP: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(Add content from english page and update translate.)
mNo edit summary
 
Line 21: Line 21:
{{bug|hidetested=1|В не-{{l4dbranch}} играх, {{L|MDL (Source)|.mdl}} файлы имеющие <code>IDST1</code> заголовок не будут загружаться для VBSP, см. баги {{L|VRAD}}.}}
{{bug|hidetested=1|В не-{{l4dbranch}} играх, {{L|MDL (Source)|.mdl}} файлы имеющие <code>IDST1</code> заголовок не будут загружаться для VBSP, см. баги {{L|VRAD}}.}}


{{bug|tested={{src13}}|В {{src13|4}} и возможно других версиях платформы, [[smoothing groups|группы сглаживания]] неправильно прописаны для граней объекта {{ent|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}}|В {{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.}}
{{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.}}


Line 49: Line 49:
: Записывает {{L|glview}} данные в директорию VMF. При использовании <code>-tmpout</code>, файлы будут записаны в <code>\tmp</code>.
: Записывает {{L|glview}} данные в директорию VMF. При использовании <code>-tmpout</code>, файлы будут записаны в <code>\tmp</code>.
; <code>-nodetail</code>
; <code>-nodetail</code>
: Убирает {{L|func_detail|элементы детали}}. Остаются только элементы геометрии карты, влияющие на видимость.
: Убирает объекты {{L|func_detail|элемент деталь}}. Остаются только элементы геометрии карты, влияющие на видимость.
; <code>-nowater</code>
; <code>-nowater</code>
: Избавляется от объёмов элементов воды. {{confirm|Учитывается ли CONTENTS_SLIME или только CONTENTS_WATER?}}
: Избавляется от объёмов элементов воды. {{confirm|Учитывается ли CONTENTS_SLIME или только CONTENTS_WATER?}}
Line 78: Line 78:
: Emit unique face edges instead of sharing them.
: Emit unique face edges instead of sharing them.
; <code>-notjunc</code>
; <code>-notjunc</code>
: Не исправлять t-junctions.
: Не исправлять стыки геометрии t-junctions.
{{CLParam|-allowdetailcracks|Don't fixup t-junctions on {{Ent|func_detail}}.}}
{{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]].}}
{{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>
Line 198: Line 198:
: 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.
: 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>
; <code>FixTjuncs...</code>
: T-junctions are created when {{Ent|func_detail}} brushes touch world geometry. To avoid visual cracks or seams, VBSP fixes up these T-junctions.
: T-junctions создаются когда объемы объектов {{L|func_detail|элемент деталь}} пересекаются с элементами геометрии карты. Для предотвращения визуальных дефектов VBSP исправляет T-junctions.
; <code>Placing detail props : 0...1...2...3...4...5...6...7...8...9...10</code>
; <code>Placing detail props : 0...1...2...3...4...5...6...7...8...9...10</code>
: Размещение {{L|Detail props|мелких реквизит-объектов}} на карте.
: Размещение {{L|Detail props|мелких реквизит-объектов}} на карте.

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) на карте.

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