Процедурная генерация зданий на C++ в Unreal Engine 5. Многопоточность, оптимизация.
В данном ролике демонстрируется работа с потоками через ParallelFor и методом RotateAngleAxis, позволяющими легко и быстро генерировать различные постройки в Instanced Static Mesh.
___________________________________________________
Поддержать на Boosty boosty.to/cubeip
___________________________________________________
#unrealengine5
___________________________________________________
Статья о ParallelFor
isaratech.com/ue4-improving-s...
Пікірлер: 18
про то что проц меньше напрягаеться не знал, круто
А можно ли наделить каждый отдельный такой кубик самостоятельными переменными, делая его независимым, но все еще относящимся к группе блоков? Так, например, можно ли разрушить только один из кубиков, не повлияв на остальные? Можно ли такую группу блоков передвигать в пространстве? Иными словами можно ли с помощью таких логических фигур составлять конкуренцию вокселям?
@Cubeap
7 ай бұрын
К отдельным инстансам можно обращаться по индексу или выбирать их с помощью трассировки. Затем удалять или обновлять их FTransform. Фактически, они являются самостоятельными переменными в гп и при необходимости цп, конечно, может, менять их там.
Интересно, спасибо за видео!! А такой вопрос, разве создание кучи кирпичей не скажется на производительности ? Оьвчно рендеринг одного меша проще происходит чел кучи маленьких, если только не работает батяинг. Даже намного быстрее ,с таким больших количеством мешей. Пробовали сравнить производительность одного большого сеша и такого собранного в игре?
@Cubeap
Жыл бұрын
В видео используется Instanced Static Mesh, так что каждый кирпич не самостоятелен и вызовы на отрисовку сокращены ценой некоторых ограничений. Производительность заранее смоделированного меша с такой же детализацией будет значительно хуже и сглаживаться только использованием штук вроде Nanite.
прикольное упражнение. можно поиграться, а потом пойти и сделать игру на колапсе волновой ф
А движку всеравно на количество обьектов?
@Cubeap
4 ай бұрын
Смотря, что это значит. На стороне процессора количество объектов, грубо говоря, не увеличивается, потому что это инстансы одного меша. Видеокарта их честно отрисовывает и память они честно занимают. Так что и да, и нет.
@_Anton_Semenov_
2 ай бұрын
@@Cubeap На стороне процессора будет нагрузка, когда надо будет считать коллизии каждого кирпича с бегающими и прыгающими по ней персонажами и противниками, а так же обсчитывать выстрелы и взрывы (даже без разрушаемости). Коллизия с одной коробкой - это одно. Коллизия с тысячей коробок - это другое.
слюньки текут но нет )) боюсь боюсь боюсь
Просто поиграться прикольно, не более
ну и я думаю лучше использовать HISM
@Cubeap
5 ай бұрын
HISM при использовании лодов, ISM для нанитов.
@chelovekrazumni
5 ай бұрын
@@Cubeap знаю) наниты грузят много
Какой фпс? Я смотрю у тебя в редакторе всё виснет.
@Cubeap
5 ай бұрын
Вручную сделанный пролёт камеры с резкими движениями мыши + запись экрана напрямую. В редакторе фризов нет.
@chelovekrazumni
5 ай бұрын
@@Cubeap а что по фпс?
@chelovekrazumni
5 ай бұрын
@@Cubeap и что во время спавна показывает statunitgraph,скачков нету?