Ejemplo n.º 1
0
    public override bool RayDetection(Ray ray, out RaycastHit hitInfo)
    {
        hitInfo = new RaycastHit();

        AABB aabb = GetAABB();

        Matrix4x4 m = RTMatrix;

        Ray aabbRay = ray.Clone();

        aabbRay.origin    = m * MathUtil.Vector4(ray.origin, 1);
        aabbRay.direction = m * ray.direction;
        aabbRay.direction.Normalize();

        bool res = aabb.AABBRayDetection(aabbRay);

        if (res)
        {
            return(ray.Raycast(transform, hitInfo));
        }

        return(res);
    }