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 );