In view cone snippet
Jump to navigation
Jump to search
Snippet
bool CMyEnt::InViewCone( const Vector &vecSpot, float flTolerance ) { Vector los = ( vecSpot - GetAbsOrigin() ); los.z = 0; VectorNormalize( los ); Vector facingDir; AngleVectors( GetAbsAngles(), &facingDir ); float flDot = DotProduct( los, facingDir ); if ( flDot > flTolerance ) return true; return false; }
Extra
To pass in an angle of degrees, you must convert it.
//90 Degrees flTolerance = cos( 90 ); bool bInCone = InViewCone( vOrigin, flTolerance );