![Icon-Important.png](/w/images/thumb/5/5c/Icon-Important.png/10px-Icon-Important.png)
bmodel
A bmodel (short for brush model) is a model made out of BSP brushes. These are normally called from within the currently loaded BSP map file. Each bmodel uses its own BSP tree; there is a bmodel for worldspawn, as well as bmodels for each brush entity.
The struct used to define bmodels in bspfile.h
is dmodel_t
. The "D" might stand for "display", being consistent with other structs in the file.
With the exception of the bmodel used by worldspawn, are called from an entity using *#
in the model
KV, wherein # is an integer index representing the location of the bmodel in the BSP file. Worldspawn always uses bmodel 0, and does not require a model
key; in fact, bmodel 0 cannot be loaded via the model
key.
- In
Quake, and by extension
GoldSrc, any entity can use bmodels from a separate BSP file from the currently loaded map. If a bmodel is loaded from a separate BSP separate, the worldspawn bmodel will be used.
Note:All point entities can use MDLs, SPRs, bmodels, and separate BSP models interchangeably in
Quake and
GoldSrc.
Some brush entities, such asfunc_illusionary
orfunc_healthcharger
can be used as point entities this way, although the defined model must have been prechached.Important:Bmodels contained in separate BSPs are usually fullbright, because they cannot inherit lighting info from the world.
Tip:Use ericw-tools and compile with
-dirtdebug
to apply some generic ambient occlusion to the standalone BSP model's lightmaps, improving visibility, or (only in) manually paint lightmaps with newbspguy.