private void OnDrawGizmos() { if (!rayOrigin || !rayEnd || !cube) { return; } Bounds bounds = new Bounds(cube.position, cube.lossyScale); MinMax minMax = MinMax.FromBounds(bounds); Vector3 A = rayOrigin.position; Vector3 B = rayEnd.position; Vector3?contact = RaycastToAABB(A, B, minMax); Gizmos.color = Color.red; Gizmos.DrawSphere(A, 0.3f); Gizmos.color = Color.blue; Gizmos.DrawSphere(B, 0.3f); Gizmos.color = Color.magenta; Gizmos.DrawLine(A, B); if (contact.HasValue) { Gizmos.color = Color.green; Gizmos.DrawSphere(contact.Value, 0.3f); } }