void UVoxelComponent::InitVoxel() { CellBounds = FBoxSphereBounds(FVector::ZeroVector, FVector(100.f, 100.f, 100.f), 100.f); Mesh.Empty(); Cell.Empty(); InstancedStaticMeshComponents.Empty(); if (Voxel) { CellBounds = Voxel->CellBounds; Mesh = Voxel->Mesh; Cell = Voxel->Voxel; for (int32 i = 0; i < Mesh.Num(); ++i) { UInstancedStaticMeshComponent* Proxy = NewObject<UInstancedStaticMeshComponent>(this, NAME_None, RF_Transactional); Proxy->SetStaticMesh(Mesh[i]); Proxy->AttachTo(GetOwner()->GetRootComponent(), NAME_None); InstancedStaticMeshComponents.Add(Proxy); } AddVoxel(); } }