Est-il possible d'utiliser le moteur Unreal comme une grande bibliothèque C ++, sans utiliser l'éditeur?

16

Je veux écrire un jeu entièrement en C ++, mais je voudrais profiter des possibilités offertes par l'Unreal Engine, notamment en termes de graphisme et de physique. Néanmoins, je n'aime pas du tout son éditeur visuel: je le trouve lourd, lent et peu intuitif. Enfin, cela m'oblige à utiliser Visual Studio au lieu de mon IDE C ++ préféré.

Existe-t-il un moyen d'utiliser le moteur Unreal comme une grande bibliothèque que je pourrais simplement inclure dans mon projet C ++, ou suis-je obligé d'utiliser l'éditeur Unreal?

Question connexe pour Unity: Comment puis-je créer un jeu dans Unity avec un minimum / pas d'utilisation de l'éditeur visuel?

Trou noir
la source
Vous pourrez peut-être utiliser les .dll-s de "Epic Games \ 4.7 \ Engine \ Binaries \ Win64" ou un chemin similaire. Mais ils ne voulaient pas que vous l'utilisiez comme ça, vous aurez donc du mal à comprendre comment les utiliser.
zoran404
1
Je suppose que cela pourrait être possible en utilisant la source du moteur Unreal au lieu de l'éditeur: unrealengine.com/ue4-on-github
Kostas

Réponses:

3

Décomposer ce que l'éditeur fournit et comment vous pouvez contourner son utilisation:

Compilation

Techniquement, c'est quelque chose que Visual Studio fournit mais qui reste important. La compilation d'Unreal n'est pas triviale et implique d'invoquer l'Outil de construction Unreal pour générer du code (prend en charge des éléments tels que la réflexion, l'interfaçage de plans, etc.). Faire cela sans utiliser Visual Studio est possible mais largement non documenté. Je suppose que le meilleur endroit pour commencer serait de voir comment il s'appuie sur Linux et de l'imiter.

Construire le jeu (c'est-à-dire pour la distribution)

En théorie, cela peut être fait via la ligne de commande, mais j'ai eu des problèmes où j'obtiens des erreurs de construction étranges si je n'exécute pas l'éditeur en premier. Je suppose que cela peut être résolu. Mais encore une fois, il ne sera pas documenté et sera probablement sujet à erreur.

Éditeur de carte

Le format de la carte est binaire, donc la création de cartes serait un problème. Je crois qu'Unreal Engine a besoin d'au moins une carte pour exécuter le jeu, vous devrez donc probablement créer au moins une carte vide. Une fois qu'il a été créé, vous pouvez générer des éléments à partir du code.

En fait, de façon intéressante, puisque l'éditeur est réellement inclus dans la source, vous pouvez peut-être utiliser les méthodes de l'éditeur pour créer une carte vide et l'enregistrer sans utiliser l'éditeur. En théorie, vous pourriez même écrire votre propre éditeur de carte simple, mais à ce stade, vous réimplémentez essentiellement Unreal.

Blueprints

Vraisemblablement, vous n'utiliseriez simplement aucune des fonctionnalités. Bien que ce soit dommage car c'est une belle séparation des données de la fonction.

Matériaux

Il existe des matériaux de base que vous pourriez utiliser, mais encore une fois, cela pourrait être une douleur majeure. Je suppose que vous pourriez écrire les shaders directement, mais je ne sais pas comment vous pourriez ensuite les utiliser comme matériel.

Je suis sûr que j'en ai manqué certains aspects, mais pour résumer: probablement, mais vous rencontrerez beaucoup de problèmes .

Surtout, les fonctions de l'éditeur sont accessibles à partir du code, vous pouvez donc théoriquement implémenter les parties de l'éditeur dont vous avez besoin. Cependant, tout cela soulève la question, pourquoi ne voulez-vous pas utiliser l'éditeur? Vous êtes probablement beaucoup mieux en minimisant simplement la durée d'utilisation de l'éditeur.

T. Kiley
la source