Beispiel #1
0
 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;          
 }
Beispiel #2
0
        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);
        }