SetSolid(): Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with ''''<code>SetSolid()</code>''' defines the manner in which collisions between this entity and others are handled. <code>SetSolidFlags()</code> can be used to tweak behaviour f…')
 
No edit summary
Line 4: Line 4:


; <code>SOLID_NONE</code>
; <code>SOLID_NONE</code>
: The entity does not collide with other entities. It ''does'' still collide with [[the world]]. {{todo|Any different from <code>[[SetSolidFlags()|FSOLID_NOT_SOLID]]</code>?}}
: {{bug|<code>[[CBaseAnimating]]</code> will interact weirdly with brushes if this is used.}} The entity does not collide. {{todo|Differences from <code>[[SetSolidFlags()|FSOLID_NOT_SOLID]]</code>?}}
; <code>SOLID_BSP</code>
; <code>SOLID_BSP</code>
: The entity has a [[brush]] model.
: The entity has a [[brush]] model.
Line 13: Line 13:
: {{bug|"Not implemented yet".}} The entity collides with an [[object-aligned bounding box]]. <code>OBB_YAW</code> restricts orientation to Z-axis.
: {{bug|"Not implemented yet".}} The entity collides with an [[object-aligned bounding box]]. <code>OBB_YAW</code> restricts orientation to Z-axis.
; <code>SOLID_CUSTOM</code>
; <code>SOLID_CUSTOM</code>
: A function on the entity is called to handle collisions. {{todo|Which?}}
: <code>[[TestCollision()]]</code> is called every frame to handle collisions.
; <code>SOLID_VPHYSICS</code>
; <code>SOLID_VPHYSICS</code>
: Use [[VPhysics]] for collisions. Call <code>[[VPhysicsInitNormal()]]</code> or <code>[[VPhysicsInitShadow()]]</code> if you use this!
: Use [[VPhysics]] for collisions. Call <code>[[VPhysicsInitNormal()]]</code> or <code>[[VPhysicsInitShadow()]]</code> if you use this!

Revision as of 10:17, 3 September 2009

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
Icon-Bug.pngBug:CBaseAnimating will interact weirdly with brushes if this is used.  [todo tested in ?]
The entity does not collide.
Todo: Differences from FSOLID_NOT_SOLID?
SOLID_BSP
The entity has a brush model.
SOLID_BBOX
The entity collides with an axis-aligned bounding box. Required for hitbox tests.
SOLID_OBB
SOLID_OBB_YAW
Icon-Bug.pngBug:"Not implemented yet".  [todo tested in ?]
The entity collides with an object-aligned bounding box. OBB_YAW restricts orientation to Z-axis.
SOLID_CUSTOM
TestCollision() is called every frame to handle collisions.
SOLID_VPHYSICS
Use VPhysics for collisions. Call VPhysicsInitNormal() or VPhysicsInitShadow() if you use this!

See also