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); }