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

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

Пікірлер: 18

  • @RedFi6h
    @RedFi6hАй бұрын

    про то что проц меньше напрягаеться не знал, круто

  • @solt_main
    @solt_main7 ай бұрын

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

  • @Cubeap

    @Cubeap

    7 ай бұрын

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

  • @qwerty6vov
    @qwerty6vov Жыл бұрын

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

  • @Cubeap

    @Cubeap

    Жыл бұрын

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

  • @xaartofering7494
    @xaartofering74942 ай бұрын

    прикольное упражнение. можно поиграться, а потом пойти и сделать игру на колапсе волновой ф

  • @andrey.shpilevoy
    @andrey.shpilevoy4 ай бұрын

    А движку всеравно на количество обьектов?

  • @Cubeap

    @Cubeap

    4 ай бұрын

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

  • @_Anton_Semenov_

    @_Anton_Semenov_

    2 ай бұрын

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

  • @lordew9476
    @lordew94763 ай бұрын

    слюньки текут но нет )) боюсь боюсь боюсь

  • @mike1pmov
    @mike1pmov14 күн бұрын

    Просто поиграться прикольно, не более

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

    ну и я думаю лучше использовать HISM

  • @Cubeap

    @Cubeap

    5 ай бұрын

    HISM при использовании лодов, ISM для нанитов.

  • @chelovekrazumni

    @chelovekrazumni

    5 ай бұрын

    @@Cubeap знаю) наниты грузят много

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

    Какой фпс? Я смотрю у тебя в редакторе всё виснет.

  • @Cubeap

    @Cubeap

    5 ай бұрын

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

  • @chelovekrazumni

    @chelovekrazumni

    5 ай бұрын

    @@Cubeap а что по фпс?

  • @chelovekrazumni

    @chelovekrazumni

    5 ай бұрын

    @@Cubeap и что во время спавна показывает statunitgraph,скачков нету?

Келесі