если вдруг кому то понадобится, правда не самое оптимальное решение. Что то подобное делает кисточка лассо для foliage.
Код:
FSphere BrushSphere;
...
AInstancedFoliageActor* IFA(AInstancedFoliageActor::GetInstancedFoliageActorForLevel(Level, true));
...
if (isCheckedLocation)
{
BrushSphere.Center = hit.Location;
BrushSphere.W = 100;
bool isBadLocation(false);
for (auto& It : IFA->FoliageMeshes)
{
FFoliageMeshInfo& MeshInfo(*It.Value);
TArray<int32> Instances;
MeshInfo.GetInstancesInsideSphere(BrushSphere, Instances);
if (Instances.Num() == 0)
{
continue;
}
else
{
isBadLocation = true;
++test;
break;
}
}
}
проверяем есть ли Foliage в данной области.
Но думаю все же должны быть более быстрые решения