Unreal Engine 4 Datasmith

Je vous en parlais déjà dans l’article sur la version 4.17 d’Unreal Engine. Il s’agit d’un framework, pour l’instant en phase bêta, mais qui devrait intéresser de près artistes et architectes. L’idée, c’est de créer un workflow semi-automatique permettant d’importer des objets, voir des scènes complètes, à partir de logiciels de CAD type 3DSMax, Blender, Catia, etc. dans Unreal Engine. On a l’export FBX me direz-vous… Oui, mais, quand on a des scènes, des objets complexes, ou si on est un poil tatillon sur l’export, on souhaite pouvoir avoir une véritable action sur cette exportation: simplifier certains objets, en supprimer d’autres, changer des matériaux, etc. Et si on le fait, c’est juste une fois – dès qu’on modifiera l’objet, il faudra recommencer. Non, ce n’est pas viable… Jusqu’à maintenant, les artistes ont mis en place leur propre workflow, une sorte de procédure qui leur permettait de passer par divers logiciels ou réaliser divers opérations. C’est très bien, mais c’est couteux en temps. En même temps, cela a créé chez eux des exigences… Il faut donc un outil, un framework complet, suffisamment flexible pour réaliser un tas d’opérations, qui une fois “programmées” seront ensuite automatiques.  Un seul clic, et hop… tout est fait. Plongeons donc au coeur d’UE4 Datasmith ! (La forge à données)

Bon, si cela ne vous parle pas complètement (j’ai pourtant fait un effort pour illustrer), tout est expliqué sur ce post de Ken Pimentel. Voici pour les non anglophones une petite explication:

Nous allons travailler à partir d’un exemple. Imaginons que nous souhaitions importer une moto réalisée sous 3DSMax sous UE4. Nous allons mettre en place une procédure semi-automatique permettant d’automatiser le workflow d’export de 3DSMax vers UE4. Ainsi, on pourra modifier l’objet sous 3DSMax, puis de nouveau le réimporter en conservant tout le travail réalisé précédemment. Semi-automatique parce que cela passe par l’écritre de scripts, relativement courts, mais dans lesquels on réalise certains choix. Vous allez mieux comprendre en suivant l’exemple.

1

Nous allons commencer par un petit script python qui va importer les éléments dans la scène à partir de l’un des plus de 20 formats supportés par Datasmith.

2

Une simplification de l’objet va être proposée en recherchant les objets les plus petits n’ayant pas un impact visuel sur la scène. Dans cet exemple, 5186 objets vont être supprimés au niveau du pneu. Encore une fois, quelques lignes de script suffisent. On peut se focaliser sur une partie de l’objet, si on estime qu’il y a trop de détails par exemple.

3

Pour continuer, nous allons pouvoir jouer avec les paramètres de tessellation ou de simplication (coarser) pour obtenir des meshes simplifiés. On pourra également utiliser le Quadric Mesh Optimizer pour gérer le niveau de détail par rapport à la distance (LOD).

4

Enfin, nous allons fusionner certains objets pour améliorer les performances dans le scenegraph. Et comme tout cela est scripté, on peut le faire pour différentes plateformes en fonction des capacités de chacune.

5

Ensuite, même s’il est possible d’importer les matériaux directement, on peut vouloir substituer certains matériaux par d’autres. Tout cela se fait dans un fichier CSV avec 2 colonnes (Excel like).

6

La bonne nouvelle pour ceux qui ne sont pas à l’aise avec le code python, c’est qu’on peut réaliser les même opération via les blueprints:

7

Ce n’est qu’un avant goût de la technologie, mais l’objectif est d’obtenir un worflow non-destructeur permettant de passer des logiciels de CAD à Unreal, tout en ayant une grande lattitude sur ce que nous souhaitons faire de ces objets. Epic Games précise que ce type d’usage est un aperçu des possibilités offertes par les futurs outils Python, qui auront des usages bien plus larges.

Pour ma part, je m’étais inscrit à la bêta il y a quelques semaines et j’ai reçu mi-novembre l’accord de la part d’Epic, mais je n’ai pas réussi à me connecter… je leur ai écrit, on verra bien. Dans tous les cas, n’étant pas graphiste, je ne suis pas directement visé par le programme de bêta. Mais j’aurais aimé toutefois faire quelques tests. Ca viendra…

Edit au 11/12/2017: Vieux motard que jamais… Bon, faut que je fasse des tests maintenant.

Capture d'écran 2017-12-11 16.36.21.jpg

Laisser un commentaire