SetSolid()
From Valve Developer Community
SetSolid() defines the manner in which collisions between this entity and others are handled. SetSolidFlags() can be used to tweak behaviour further.
SolidTypes
-
SOLID_NONE - The entity does not generate its own collisions. Depending on the MoveType, its origin may still collide with brushes but will
Touch()unreliably.
Tip:Use SetMoveType(MOVETYPE_NOCLIP)to completely disable all movement collision. -
SOLID_BSP - The entity has a brush model defined by the map. Does not collide with other
SOLID_BSPentities. -
SOLID_BBOX - The entity collides with an axis-aligned bounding box. Collides with everything. Required for hitbox tests.
- Use
UTIL_SetSize()to define the extents of the box.
Bug:Stop calling SetSize if the entity changes to another SolidType, or you will get a crash that disappears when a debugger is attached! -
SOLID_OBB -
SOLID_OBB_YAW - The entity collides with an object-aligned bounding box.
OBB_YAWrestricts orientation to the Z-axis.UTIL_SetSize()can be used to define the box's extents. -
SOLID_CUSTOM -
TestCollision()is called every frame to handle collisions.
To do: Relationship with FSOLID_CUSTOMRAYTESTandFSOLID_CUSTOMBOXTEST? -
SOLID_VPHYSICS - Use VPhysics for collisions. Collides with everything. Call
VPhysicsInitNormal()orVPhysicsInitShadow()if you use this!
