Я хочу написать игру полностью на C ++, но я бы хотел воспользоваться возможностями, предоставляемыми Unreal Engine, особенно с точки зрения графики и физики. Тем не менее, мне сильно не нравится его визуальный редактор: я нахожу его тяжелым, медленным и интуитивно понятным. Наконец, это заставляет меня использовать Visual Studio вместо моей любимой C ++ IDE.
Есть ли способ использовать Unreal Engine в качестве большой библиотеки, которую я мог бы просто включить в свой проект C ++, или я вынужден использовать Unreal Editor?
Смежный вопрос для Unity: Как я могу создать игру в Unity с минимальным использованием графического редактора или без него?
Ответы:
Разбирая, что предоставляет редактор и как вы можете обойти его использование:
составление
Технически это то, что предоставляет Visual Studio, но все же важно. Компиляция Unreal является нетривиальной и включает в себя вызов Unreal Build Tool для генерации некоторого кода (поддерживает такие вещи, как отражение, взаимодействие с чертежами и т. Д.). Делать это без использования Visual Studio возможно, но в основном без документов. Я думаю, что лучшее место для начала было бы посмотреть на то, как он построен на Linux, и подражать этому.
Сборка игры (т.е. для раздачи)
Теоретически это можно сделать через командную строку, но у меня были проблемы, из-за которых я получал странные ошибки при сборке, если я сначала не запускаю редактор. Я полагаю, что они могут быть решены. Но опять же, это будет недокументировано и, вероятно, весьма подвержено ошибкам.
Редактор карт
Формат карты является двоичным, поэтому создание карт будет проблемой. Я считаю, что Unreal Engine нужна хотя бы одна карта, чтобы запустить игру, поэтому вам, вероятно, придется создать хотя бы пустую карту. Как только он был создан, вы можете создавать вещи из кода.
На самом деле, что интересно, поскольку редактор фактически включен в исходный код, возможно, вы могли бы использовать методы редактора для создания пустой карты и сохранения ее без использования редактора. Теоретически, вы могли бы даже написать свой собственный простой редактор карт, хотя в этот момент вы, по сути, заново реализуете Unreal.
светокопий
Предположительно, вы просто не используете какой-либо из этих функций. Хотя это позор, так как это хорошее разделение данных от функции.
материалы
Есть некоторые основные материалы, которые вы можете использовать, но опять же это может быть серьезной болью. Я полагаю, вы могли бы написать шейдеры напрямую, но я не уверен, как вы могли бы использовать их в качестве материала.
Я уверен, что пропустил некоторые аспекты, но подведу итог: возможно, но вы столкнетесь с большим количеством проблем .
Важно отметить, что к функциям редактора можно получить доступ из кода, поэтому теоретически вы можете реализовать те части редактора, которые вам нужны. Тем не менее, все это вызывает вопрос, почему вы не хотите использовать редактор? Вы, вероятно, гораздо лучше, просто минимизируя количество времени, которое вы используете редактор.
источник