public RayTraceHitBlock RayTraceIntersection(StructBlock block, Vector3 start, Vector3 end) { BoundingBox boundingBox = GetCollisionBoundingBox(block); RayTraceHit rayTraceHit = boundingBox.RayTraceIntersection(start, end); if (rayTraceHit != null) return new RayTraceHitBlock(block.Coords, rayTraceHit.FaceHit, rayTraceHit.Hit); return null; }
public bool RayIntersect(Ray3 ray, out RayTraceHit hit) { Vec3 p1, p2, n1, n2; if (ray.IntersectRaySphere(Vec3.zero, 1, out p1, out p2, out n1, out n2)) { hit.normal = n1; hit.position = p1; hit.color = new Color4(1, 1, 1, 1); return(true); } hit = new RayTraceHit(); return(false); }