public static void CastRay(Vector3D from, Vector3D to, List <HitInfo> toList, int raycastFilterLayer = 0) { m_resultWorlds.Clear(); Clusters.CastRay(from, to, m_resultWorlds); toList.Clear(); foreach (var world in m_resultWorlds) { Vector3 fromF = from - world.AABB.Center; Vector3 toF = to - world.AABB.Center; m_resultHits.Clear(); ((HkWorld)world.UserData).CastRay(fromF, toF, m_resultHits, raycastFilterLayer); foreach (var hit in m_resultHits) { toList.Add(new HitInfo() { HkHitInfo = hit, Position = hit.Position + world.AABB.Center } ); } } m_resultWorlds.Clear(); }