public static bool Fire(Vector3 origin, Vector3 direction, PhysXRaycastHit raycastHit, float distance, PhysXCollider.CollisionLayer layers, uint ignoredVehicleId = 0)
        {
            physXOrigin.FromVector(origin);
            physXDirection.FromVector(direction);
            bool hit = PhysXSceneManager.FireRaycastFiltered(physXOrigin, physXDirection, distance, raycastHit.physXRaycastHit, (uint)layers, 0, 0, ignoredVehicleId);

            if (hit)
            {
                raycastHit.PopulateFields();
            }
            return(hit);
        }
        public static bool Fire(Vector3 origin, Vector3 direction, PhysXRaycastHit raycastHit, float distance)
        {
            physXOrigin.FromVector(origin);
            physXDirection.FromVector(direction);
            bool hit = PhysXSceneManager.FireRaycast(physXOrigin, physXDirection, distance, raycastHit.physXRaycastHit);

            if (hit)
            {
                raycastHit.PopulateFields();
            }
            return(hit);
        }
 public static bool Fire(Vector3 origin, Vector3 direction, PhysXRaycastHit raycastHit, PhysXCollider.CollisionLayer layers, uint ignoredVehicleId = 0)
 {
     return(Fire(origin, direction, raycastHit, float.MaxValue, layers, ignoredVehicleId));
 }
 public static bool Fire(Vector3 origin, Vector3 direction, PhysXRaycastHit raycastHit)
 {
     return(Fire(origin, direction, raycastHit, float.MaxValue));
 }
 public static void ReleaseRaycastHit(PhysXRaycastHit raycastHit)
 {
     raycastHits.Enqueue(raycastHit);
 }