A model is a specific kind of visual element in the
GoldSrc and
Source engines. Stored in their own separate files, models are capable of greater detail and are more dynamic than
brushes. Models are used widely throughout mapping, including enemies, items,
viewmodels, decorations and other players.
Sometimes models are used simply to create finer details than brushwork alone is capable of. Source mapping in particular tends to make heavier use of models in this way.
Models are stored as .mdl files, and can have multiple textures, animations and bodies. You can view .mdl files and see their contents (animations, bodies, textures) with a model viewer such as
Half-Life Asset Manager (HLAM).
By the way, one model may be split into multiple files. Assuming the model name is
modelname
:
modelname.mdl
is the base file.
modelnameT.mdl
is where all the textures are.
modelname01.mdl
, modelname02.mdl
, ... are the files containing the animations.
When you encounter these files, it's important to copy over all of them as a set for the model to work. On the other hand, HLAM merges them all back into the base model when you save a model file, verifiable by the file size growing. Then you only need the base file.
The GoldSource engine is actually pretty agnostic about models, and the same
model
entity key is used to reference all of
brush entities, models, and
sprites.
You can perform shenanigans such as using
zhlt_usemodel
to have a
func_healthcharger
use a .mdl model, or a
func_train
display a rotating sprite, which is otherwise statically oriented, by using
avelocity
.