Bmodel: Difference between revisions
Jump to navigation
Jump to search
SirYodaJedi (talk | contribs) (Pinsplash misunderstood my explanation here in a recent vid, so clarifying that, no, bmodels and regular models are not interchange in source (just Q1 and HL1). Also mention zhlt_usemodel) |
SirYodaJedi (talk | contribs) mNo edit summary |
||
Line 10: | Line 10: | ||
:{{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 {{only|{{goldsrc}}}} 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 {{only|{{goldsrc}}}} 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}} | ||
:{{note|Although the {{code|model}} KV is used for bmodels, sprites, and [[MDL]] models, they are not interchangeable in {{src|4}}. In {{quake2|4}}, only [[MD2]] models and [[SP2]] sprites are interchangeable.}} | :{{note|Although the {{code|model}} KV is used for bmodels, sprites, and [[MDL]] models, they are not interchangeable in {{src|4}}{{confirm}}. In {{quake2|4}}, only [[MD2]] models and [[SP2]] sprites are interchangeable.}} | ||
[[Category:Glossary]] | [[Category:Glossary]] |
Revision as of 12:55, 15 May 2024
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 a number representing the location of the bmodel in the BSP file. Worldspawn always uses bmodel 0, and does not require a 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 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.