É possível usar o Unreal Engine como uma grande biblioteca C ++, sem usar o editor?

16

Quero escrever um jogo inteiramente em C ++, mas gostaria de aproveitar as possibilidades oferecidas pelo Unreal Engine, especialmente em termos de gráficos e física. Não obstante, não gosto muito de seu editor visual: acho pesado, lento e pouco intuitivo. Por fim, me obriga a usar o Visual Studio em vez do meu IDE C ++ favorito.

Existe uma maneira de usar o Unreal Engine como uma grande biblioteca que eu poderia simplesmente incluir no meu projeto C ++ ou sou forçado a usar o Unreal Editor?

Pergunta relacionada ao Unity: Como criar um jogo no Unity com o mínimo / nenhum uso do editor visual?

Blackhole
fonte
Você pode usar o .dll-s de "Epic Games \ 4.7 \ Engine \ Binaries \ Win64" ou caminho semelhante. Mas eles não foram feitos para você usá-lo assim, então você terá problemas para descobrir como usá-los.
Zoran404
1
Eu acho que isso poderia ser possível, utilizando fonte do motor Unreal vez do editor: unrealengine.com/ue4-on-github
Kostas

Respostas:

3

Dividindo o que o editor fornece e como você pode evitar seu uso:

Compilando

Tecnicamente, isso é algo que o Visual Studio está fornecendo, mas ainda é importante. Compilar o Unreal não é trivial e envolve a invocação da Unreal Build Tool para gerar algum código (suporta coisas como reflexão, interface de projeto, etc ...). Fazer isso sem usar o Visual Studio é possível, mas em grande parte não documentado. Eu acho que o melhor lugar para começar seria olhar como ele se baseia no Linux e imitar isso.

Construindo o jogo (ou seja, para distribuição)

Em teoria, isso pode ser feito através da linha de comando, mas tive problemas em que eu recebo erros estranhos de construção se não executar o editor pela primeira vez. Suponho que estes possam ser resolvidos. Mas, novamente, será indocumentado e provavelmente passível de erros.

Editor de mapa

O formato do mapa é binário, portanto, criar mapas seria um problema. Acredito que o Unreal Engine precisa de pelo menos um mapa para rodar o jogo, então você provavelmente precisará criar um mapa vazio, no mínimo. Depois de criado, você pode gerar coisas do código.

De fato, curiosamente, como o editor está realmente incluído na fonte, talvez você possa usar os métodos do editor para criar um mapa vazio e salvá-lo sem usar o editor. Em teoria, você pode até escrever seu próprio editor de mapas simples, embora nesse ponto esteja essencialmente reimplementando o Unreal.

Projetos

Presumivelmente, você simplesmente não usaria nenhuma das funcionalidades. Embora isso seja uma pena, pois é uma boa separação de dados de função.

Materiais

Existem alguns materiais básicos que você pode usar, mas novamente isso pode ser uma grande dor. Suponho que você possa escrever diretamente os shaders, mas não sei como usá-los como material.

Tenho certeza de que perdi alguns aspectos, mas para resumir: provavelmente, mas você encontrará muitos problemas .

Fundamentalmente, as funções do editor podem ser acessadas a partir do código, portanto, teoricamente, você pode implementar as partes do editor necessárias. No entanto, tudo isso levanta a questão: por que você não deseja usar o editor? Você provavelmente está muito melhor, simplesmente minimizando a quantidade de tempo que usa o editor.

T. Kiley
fonte