Процедурная генерация зданий на C++ в Unreal Engine 5. Многопоточность, оптимизация.

2023 ж. 20 Сәу.
7 114 Рет қаралды

В данном ролике демонстрируется работа с потоками через ParallelFor и методом RotateAngleAxis, позволяющими легко и быстро генерировать различные постройки в Instanced Static Mesh.
___________________________________________________
Поддержать на Boosty boosty.to/cubeip
___________________________________________________
#unrealengine5
___________________________________________________
Статья о ParallelFor
isaratech.com/ue4-improving-s...

Пікірлер
  • А можно ли наделить каждый отдельный такой кубик самостоятельными переменными, делая его независимым, но все еще относящимся к группе блоков? Так, например, можно ли разрушить только один из кубиков, не повлияв на остальные? Можно ли такую группу блоков передвигать в пространстве? Иными словами можно ли с помощью таких логических фигур составлять конкуренцию вокселям?

    @solt_main@solt_main7 ай бұрын
    • К отдельным инстансам можно обращаться по индексу или выбирать их с помощью трассировки. Затем удалять или обновлять их FTransform. Фактически, они являются самостоятельными переменными в гп и при необходимости цп, конечно, может, менять их там.

      @Cubeap@Cubeap7 ай бұрын
  • Интересно, спасибо за видео!! А такой вопрос, разве создание кучи кирпичей не скажется на производительности ? Оьвчно рендеринг одного меша проще происходит чел кучи маленьких, если только не работает батяинг. Даже намного быстрее ,с таким больших количеством мешей. Пробовали сравнить производительность одного большого сеша и такого собранного в игре?

    @qwerty6vov@qwerty6vov Жыл бұрын
    • В видео используется Instanced Static Mesh, так что каждый кирпич не самостоятелен и вызовы на отрисовку сокращены ценой некоторых ограничений. Производительность заранее смоделированного меша с такой же детализацией будет значительно хуже и сглаживаться только использованием штук вроде Nanite.

      @Cubeap@Cubeap Жыл бұрын
  • про то что проц меньше напрягаеться не знал, круто

    @RedFi6h@RedFi6hАй бұрын
  • прикольное упражнение. можно поиграться, а потом пойти и сделать игру на колапсе волновой ф

    @xaartofering7494@xaartofering74942 ай бұрын
  • А движку всеравно на количество обьектов?

    @andrey.shpilevoy@andrey.shpilevoy4 ай бұрын
    • Смотря, что это значит. На стороне процессора количество объектов, грубо говоря, не увеличивается, потому что это инстансы одного меша. Видеокарта их честно отрисовывает и память они честно занимают. Так что и да, и нет.

      @Cubeap@Cubeap4 ай бұрын
    • @@Cubeap На стороне процессора будет нагрузка, когда надо будет считать коллизии каждого кирпича с бегающими и прыгающими по ней персонажами и противниками, а так же обсчитывать выстрелы и взрывы (даже без разрушаемости). Коллизия с одной коробкой - это одно. Коллизия с тысячей коробок - это другое.

      @_Anton_Semenov_@_Anton_Semenov_Ай бұрын
  • слюньки текут но нет )) боюсь боюсь боюсь

    @lordew9476@lordew94763 ай бұрын
  • ну и я думаю лучше использовать HISM

    @chelovekrazumni@chelovekrazumni5 ай бұрын
    • HISM при использовании лодов, ISM для нанитов.

      @Cubeap@Cubeap5 ай бұрын
    • @@Cubeap знаю) наниты грузят много

      @chelovekrazumni@chelovekrazumni5 ай бұрын
  • Просто поиграться прикольно, не более

    @mike1pmov@mike1pmov4 күн бұрын
  • Какой фпс? Я смотрю у тебя в редакторе всё виснет.

    @chelovekrazumni@chelovekrazumni5 ай бұрын
    • Вручную сделанный пролёт камеры с резкими движениями мыши + запись экрана напрямую. В редакторе фризов нет.

      @Cubeap@Cubeap5 ай бұрын
    • @@Cubeap а что по фпс?

      @chelovekrazumni@chelovekrazumni5 ай бұрын
    • @@Cubeap и что во время спавна показывает statunitgraph,скачков нету?

      @chelovekrazumni@chelovekrazumni5 ай бұрын
KZhead