В каких случаях использовать С++, а в каких Blueprints?

Не увлекаюсь разработкой игр, просто стало интересно, в каких случаях в движке Unreal Engine используют написание кода на С++ вручную, а где используют Blueprints? Можете дать два примера, где оптимально использовать принты вместо кода и наоборот?
  • Вопрос задан
  • 1528 просмотров
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
Логику пишет геймдизайнер, который не очень то программист - напрашиваются BP.

Сетевой код, работа с голым UDP - напрашивается C++.

Какой-то сценарий с триггерами сюжета, простая логика на уровне со всякими кнопками и интерактивом - напрашивается BP из-за его простоты и возможной необходимости в наглядности и чтобы мог менять логику не программист.

Какое-то очень узкое место, где надо обрабатывать кучу чисел и объектов.
Что-то типа конвейеров в factorio например.
Напрашивается C++ из-за своей эффективности и плотности логики, ибо то же самое на BP будет очень развесистой лапшой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@nikitaVooV
Как минимум код всех базовых объектов желательно держать в с++. Это нужно хотя бы для того, чтобы работать с объемом через с++ родительский тип и не грузить весь связанный контент из BP при обращении.
В основном максимум кода желательно держать в с++, потому что потом отлаживать только с++ проще, чем и то и то. BP чаще всего используется когда нужно что-то сделать с компонентами, которые есть только в BP или для переопределения методов, когда в виду архитектуры классов на c++ это сделать сложнее.
Некоторые вещи в принципе невозможно сделать на BP. Возможно не лучший пример, но кастомные редакторы ассетов или инструменты движка на BP не сделать.
Сам по себе BP прекрасно подходит для проектирования и мест, не требующих большого кода. На BP значительно проще работать с виджетами на уровне элементов, хотя обработка каких-то кнопочек скорее всего лучше сделать на c++.

Если обобщить, то BP лучше использовать там, где ввиду архитектуры классов сложно использовать c++. Например, нужно написать код для специфичного НПС, который унаследован от BP класса. Для всех других случаев c++.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы