Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 35
Пробовал кто либо получить трассировкой инстансы( foliage) в режиме едитора?
При запуске симуляции или просто запуске все ок, а в режиме едитора будто коллизии не работаю для инстасев(даже при попытке поставить меш, он проходит насквозь их), получаю ландшафт на котором они стоят, вместо них.
Не хочется в добавок к трассировки юзать GetInstancesOverlappingBox()
AInstancedFoliageActor::FoliageTrace() тоже не совсем нужный эффект дает в едиторе
Коллизbи для инстансов в BlockAll

Возможно для удобства редактирования( что бы трава не мешала расстановке объектов) ее как-то отрубают, если кто вкурсе где это отключается, тоже буду очень благодарен.
Аватара пользователя
Пользователь
Сообщения: 35
если вдруг кому то понадобится, правда не самое оптимальное решение. Что то подобное делает кисточка лассо для 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 в данной области.
Но думаю все же должны быть более быстрые решения


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница