From Valve Developer Community
Jump to: navigation, search

SetSolid() defines the manner in which this entity's collisions are handled. SetSolidFlags() can be used to tweak behaviour further.

Note.png Note: Behaviour can change subtly depending on whether the object is colliding or being collided with.


The entity does not generate its own collisions. Depending on the MoveType, its origin may still collide with brushes but will Touch() unreliably.
Tip.png Tip: Use SetMoveType(MOVETYPE_NOCLIP) to completely disable all movement collision.
The entity has a brush model defined by the map. Does not collide with other SOLID_BSP entities.
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.png Bug: Stop calling SetSize if the entity changes to another SolidType, or you will get a crash that disappears when a debugger is attached!
The entity collides with an object-aligned bounding box. OBB_YAW restricts orientation to the Z-axis. UTIL_SetSize() can be used to define the box's extents.
TestCollision() is called every frame to handle collisions. To do: Relationship with FSOLID_CUSTOMRAYTEST and FSOLID_CUSTOMBOXTEST?
Loads a collision mesh from the entity's model. This results in the same collision shape as VPhysics would have, without actually enabling VPhysics collisions or simulation.

See also