Hosting and domain costs until October 2024 have been generously sponsored by dumptruck_ds. Thank you!
Fields:Solid
From Quake Wiki
The solid field determines how an entity can be interacted with and in certain cases how its movement is done. Most entities will use the bounding box described by the mins and maxs fields to check collision, but BSP models will use exact collisions so long as the entity uses VEC_HULL[2]_MIN/MAX
as its bounding box sizes (Minkowski sums are pre-calculated in the map but only for these two size templates). Going outside of these bounding box sizes can cause collisions with BSP models to become imprecise.
When changing the solid type of an entity, it should be relinked back into the world to prevent any errors. This is best done by calling setorigin()
at its current position.
Solid Types[edit]
SOLID_NOT
- This entity has no interactions with other entities and its
touch()
function is never ran. For entities with a move type ofMOVETYPE_FLY
,MOVETYPE_TOSS
, orMOVETYPE_BOUNCE
, only entities withSOLID_BSP
are tested against.
SOLID_TRIGGER
- This entity is a trigger volume. It won't block other entities nor call their
touch()
functions, but it will still call its own. For entities with a move type ofMOVETYPE_FLY
,MOVETYPE_TOSS
, orMOVETYPE_BOUNCE
, only entities withSOLID_BSP
are tested against.
SOLID_BBOX
- Standard bounding box collision checking for the player.
SOLID_SLIDEBOX
- The same as
SOLID_BBOX
but is used to denote the entity is not a player.
SOLID_BSP
- This entity has a BSP model and uses more precise collision checking. This should only be used with entities that have an actual BSP model and should always be paired with
MOVETYPE_PUSH
. Only entities with this solid type are considered to be viable ground entities if an entity walks on it.