Bmodel: Difference between revisions
Jump to navigation
Jump to search
SirYodaJedi (talk | contribs) mNo edit summary |
SirYodaJedi (talk | contribs) m (Typo) |
||
Line 7: | Line 7: | ||
* In {{quake|4.1}}, and by extension {{gldsrc|4.1}}, 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. | * In {{quake|4.1}}, and by extension {{gldsrc|4.1}}, 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 entity|point entities]] can use [[MDL]]s, [[SPR]]s, bmodels, and separate [[BSP]] models interchangeably in {{quake|4.1}} and {{goldsrc|4.1}}.<br>Some brush entities, such as {{ent|func_illusionary (GoldSrc)|alt=func_illusionary}} or {{ent|func_healthcharger (GoldSrc)|alt=func_healthcharger}} can be used as point entities this way, although the defined model must have been | :{{note|All [[point entity|point entities]] can use [[MDL]]s, [[SPR]]s, bmodels, and separate [[BSP]] models interchangeably in {{quake|4.1}} and {{goldsrc|4.1}}.<br>Some brush entities, such as {{ent|func_illusionary (GoldSrc)|alt=func_illusionary}} or {{ent|func_healthcharger (GoldSrc)|alt=func_healthcharger}} can be used as point entities this way, although the defined model must have been [[precache]]d.{{tip|In [[VHLT]], pointing {{code|zhlt_usemodel}} to a {{ent|cycler (GoldSrc)|alt=cycler}} can be used to streamline this process, ensuring the entities are defined in the correct order in the compiled BSP.}}}} | ||
:{{modernImportant|Bmodels contained in separate BSPs are usually fullbright, because they cannot inherit lighting info from the world.{{tip|Use [[ericw-tools]] and compile with {{code|-dirtdebug}} to apply some generic ambient occlusion to the standalone BSP model's lightmaps, improving visibility, or manually paint lightmaps with [[newbspguy]].}} }} | :{{modernImportant|Bmodels contained in separate BSPs are usually fullbright, because they cannot inherit lighting info from the world.{{tip|Use [[ericw-tools]] and compile with {{code|-dirtdebug}} to apply some generic ambient occlusion to the standalone BSP model's lightmaps, improving visibility, or manually paint lightmaps with [[newbspguy]].}} }} | ||
* In {{quake2|4.1}}, and by extension {{src|4.1}}, only bmodels built into the current [[map]] can be used.{{confirm}} | * In {{quake2|4.1}}, and by extension {{src|4.1}}, only bmodels built into the current [[map]] can be used.{{confirm}} |
Latest revision as of 09:43, 16 March 2025
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, bmodels 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 as func_illusionary or func_healthcharger can be used as point entities this way, although the defined model must have been precached.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 manually paint lightmaps with newbspguy.