VBSP
From Valve Developer Community
(Redirected from Vbsp)
VBSP is the command-line tool that converts a raw VMF file to the compiled Binary Space Partition format. It is generally followed by VVIS and VRAD.
VBSP will:
- Convert brushes to polygons
- Generate visleaves
- Generate detail props
- Swallow most internal entities into the world
- Replace specular materials with patched versions that link to the nearest cubemap
- Embed the entity block
A .bsp file spat out by VBSP can be loaded in the engine and played, but will have no visibility control (poor performance) and no lighting (ugly).
Syntax
vbsp [options...] vmf_file
For example:
"%sourcesdk%\bin\orangebox\bin\vbsp" -onlyents sdk_trainstation_01
This will re-embed the entity block without affecting the world.
%sourcesdk%\bin\orangebox\ (or ep1 as the case may be). You can do this with the cd command, or by setting the "Start In" value of a Windows shortcut. In Batch Compiler, set the BinRoot variable.Common options
-
-v -
-verbose - Turn on verbose output (also shows more command-line options). Use without any other parameters.
-
-onlyents - Only import the entities from the VMF. Brushes and internal entities are not modified. Conserves existing lighting data.
-
-onlyprops - Only update static and detail props (i.e. the internal entities). Does not generate a .prt file, making VVIS fail!
-
-glview - Writes glview data to the VMF's directory.
-tmpoutwill cause the files will be written to\tmpinstead. -
-nodetail - Removes func_detail brushes. The geometry left over is what affects visibility.
-
-nowater - Get rid of water brushes.
-
-low - Run as an idle-priority process.
-
-vproject <directory> -
-game <directory> - Override the VPROJECT environment variable.
Advanced options
-
-novconfig - Don't bring up graphical UI on vproject errors.
-
-threads - Control the number of threads vbsp uses (defaults to the # of processors (times 2 for Hypertreading CPU's) on your machine).
-
-verboseentities - If -v is on, this disables verbose output for submodels.
-
-noweld - Don't join face vertexes together.
-
-nocsg - Don't chop out intersecting brush areas.
-
-noshare - Emit unique face edges instead of sharing them.
-
-notjunc - Don't fixup t-junctions.
-
-noopt - By default, vbsp removes the 'outer shell' of the map, which are all the faces you can't see because you can never get outside the map. -noopt disables this behavior.
-
-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 <#> - vbsp will warn when brushes are output with a volume less than this number (default: 1.0).
-
-fulldetail - Mark all detail geometry as normal geometry (so all detail geometry will affect visibility).
-
-leaktest - Stop processing the map if a leak is detected. Whether or not this flag is set, a leak file will be written out at <vmf filename>.lin, and it can be imported into Hammer.
-
-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 # # # # - Enter the mins and maxs for the grid size vbsp uses.
-
-dumpstaticprops - Dump static props to staticprop*.txt
-
-dumpcollide - Write files with collision info.
-
-luxelscale # - Scale all lightmaps by this amount (default: 1.0).
-
-lightifmissing - Force lightmaps to be generated for all surfaces even if they don't need lightmaps.
-
-keepstalezip - Keep the BSP's zip files intact but regenerate everything else.
-
-replacematerials - Substitute materials according to materialsub.txt in content\maps
-
-FullMinidumps - Write large minidumps on crash.
Nonfunctional Options
-
-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 - Enable mandatory Xbox 1 optimisation.
