VVIS
VVIS or Valve Visible Information Set is the command-line tool that takes a compiled BSP map and embeds visibility data into it. VVIS tests which visleaves can see each other and which cannot. See Visibility optimization for a more detailed explanation.
VVIS will:
- Test visibility between visleaves by clipping their view planes.
- Enforce a maximum visibility distance, if configured to.
Syntax
vvis [options...] <bsp file>
For example:
"Half-Life 2\bin\vvis.exe" -tmpout sdk_trainstation_01
This will generate and embed a visibility chart, writing portal data out to .\tmp\sdk_trainstation_01.prt
.
Options
Use these in combination with expert compile mode or a batch file:
Functions
-fast
- Only do a quick first pass. Does not actually test visibility.
-radius_override <int>
- Force a maximum vis radius, in units, regardless of whether an env_fog_controller specifies one.
-nosort
- Don't sort (an optimization) portals.
-tmpin
- Read portals from
\tmp\<mapname>
. -tmpout
- Write portals to
\tmp\<mapname>
.
General
-low
- Run as an idle-priority process.
-threads
- Control the number of threads used. Defaults to the # of processors (times 2 for Hyperthreading/SMT CPU's) on your machine. Maximum is 16 threads. With a patched vvis_dll you can reach 32 threads. fixtoolthreads is a patch for VVIS (and VRAD) that supports unlimited threads and fixes a thread scaling issue.
-verbose (-v)
- Turn on verbose output
-novconfig
- Don't bring up graphical UI on vproject errors.
-mpi
- Use VMPI to distribute computations.
-mpi_pw <string>
- Use a password to choose a specific set of VMPI workers.
-vproject <string>
-game <string>
- Override the VPROJECT environment variable.
Console Output
VVIS prints various information about the compile process to the console. Note that output from older versions of the tool can be different.
number portalclusters
- The effective number of visleaves in the map (visleaves clustered together with
func_viscluster
count as one). number numportals
- The number of portals connecting the the above visleaves.
BasePortalVis: 0...1...2...3...4...5...6...7...8...9...10 (time taken in seconds)
- Rough visibility calculations that are used to trivially weed out unseen areas from the final calculations.
PortalFlow: 0...1...2...3...4...5...6...7...8...9...10 (time taken in seconds)
- Runs the actual visibility algorithm to determine which visleaves can see each other. Not run with
-fast
. Optimized: number visible clusters (percentage)
- Compression of the visibility data.
Total clusters visible: number
- The total number of occurrences of visleaves being able to see each other in the calculated data.
Average clusters visible: number
- The average number of leaves you can potentially see from each visleaf.
Building PAS...
- Calculates the Potentially Audible Set.
Average clusters audible: number
- The average number of leaves you can potentially hear into from each visleaf.
visdatasize: number compressed from number
- Size of the visibility data in bytes. Max size is 16 MB in Source 2013.
See also
|