public static bool hitTriangleAll(Vector3 rayOrigin, Vector3 rayDirection, Vector3[] vertices, int[] triangles, out float minDist) { bool found = false; minDist = Mathf.Infinity; TriangleTester.HitRes hit = new TriangleTester.HitRes(); for (int triOffset = 0; triOffset < triangles.Length; triOffset += 3) { if (hitTriangle(rayOrigin, rayDirection, vertices, triangles, triOffset, ref hit) == 0) { continue; } if (hit.t < minDist) { minDist = hit.t; found = true; } } return(found); }
public static bool hitTriangleAll(Vector3 rayOrigin, Vector3 rayDirection, Vector3[] vertices, int[] triangles, out float minDist) { bool found = false; minDist = Mathf.Infinity; TriangleTester.HitRes hit = new TriangleTester.HitRes(); for (int triOffset = 0; triOffset < triangles.Length; triOffset+=3) { if (hitTriangle(rayOrigin, rayDirection, vertices, triangles, triOffset, ref hit) == 0) continue; if (hit.t < minDist) { minDist = hit.t; found = true; } } return found; }