Unreal Engine 4 Datasmith

Je vous en par­lais déjà dans l’article sur la ver­sion 4.17 d’Unreal Engine. Il s’agit d’un frame­work, pour l’instant en phase bêta, mais qui devrait intéress­er de près artistes et archi­tectes. L’idée, c’est de créer un work­flow semi-automa­tique per­me­t­tant d’importer des objets, voir des scènes com­plètes, à par­tir de logi­ciels de CAD type 3DSMax, Blender, Catia, etc. dans Unre­al Engine. On a l’export FBX me direz-vous… Oui, mais, quand on a des scènes, des objets com­plex­es, ou si on est un poil tatil­lon sur l’export, on souhaite pou­voir avoir une véri­ta­ble action sur cette expor­ta­tion: sim­pli­fi­er cer­tains objets, en sup­primer d’autres, chang­er des matéri­aux, etc. Et si on le fait, c’est juste une fois — dès qu’on mod­i­fiera l’objet, il fau­dra recom­mencer. Non, ce n’est pas viable… Jusqu’à main­tenant, les artistes ont mis en place leur pro­pre work­flow, une sorte de procé­dure qui leur per­me­t­tait de pass­er par divers logi­ciels ou réalis­er divers opéra­tions. C’est très bien, mais c’est cou­teux en temps. En même temps, cela a créé chez eux des exi­gences… Il faut donc un out­il, un frame­work com­plet, suff­isam­ment flex­i­ble pour réalis­er un tas d’opérations, qui une fois “pro­gram­mées” seront ensuite automa­tiques.  Un seul clic, et hop… tout est fait. Plon­geons donc au coeur d’UE4 Data­smith ! (La forge à don­nées)

Bon, si cela ne vous par­le pas com­plète­ment (j’ai pour­tant fait un effort pour illus­tr­er), tout est expliqué sur ce post de Ken Pimentel. Voici pour les non anglo­phones une petite expli­ca­tion:

Nous allons tra­vailler à par­tir d’un exem­ple. Imag­i­nons que nous souhaitions importer une moto réal­isée sous 3DSMax sous UE4. Nous allons met­tre en place une procé­dure semi-automa­tique per­me­t­tant d’automatiser le work­flow d’export de 3DSMax vers UE4. Ain­si, on pour­ra mod­i­fi­er l’objet sous 3DSMax, puis de nou­veau le réim­porter en con­ser­vant tout le tra­vail réal­isé précédem­ment. Semi-automa­tique parce que cela passe par l’écritre de scripts, rel­a­tive­ment courts, mais dans lesquels on réalise cer­tains choix. Vous allez mieux com­pren­dre en suiv­ant l’exemple.

1

Nous allons com­mencer par un petit script python qui va importer les élé­ments dans la scène à par­tir de l’un des plus de 20 for­mats sup­port­és par Data­smith.

2

Une sim­pli­fi­ca­tion de l’objet va être pro­posée en recher­chant les objets les plus petits n’ayant pas un impact visuel sur la scène. Dans cet exem­ple, 5186 objets vont être sup­primés au niveau du pneu. Encore une fois, quelques lignes de script suff­isent. On peut se focalis­er sur une par­tie de l’objet, si on estime qu’il y a trop de détails par exem­ple.

3

Pour con­tin­uer, nous allons pou­voir jouer avec les paramètres de tes­sel­la­tion ou de sim­pli­ca­tion (coars­er) pour obtenir des mesh­es sim­pli­fiés. On pour­ra égale­ment utilis­er le Quadric Mesh Opti­miz­er pour gér­er le niveau de détail par rap­port à la dis­tance (LOD).

4

Enfin, nous allons fusion­ner cer­tains objets pour amélior­er les per­for­mances dans le scene­graph. Et comme tout cela est scrip­té, on peut le faire pour dif­férentes plate­formes en fonc­tion des capac­ités de cha­cune.

5

Ensuite, même s’il est pos­si­ble d’importer les matéri­aux directe­ment, on peut vouloir sub­stituer cer­tains matéri­aux par d’autres. Tout cela se fait dans un fichi­er CSV avec 2 colonnes (Excel like).

6

La bonne nou­velle pour ceux qui ne sont pas à l’aise avec le code python, c’est qu’on peut réalis­er les même opéra­tion via les blue­prints:

7

Ce n’est qu’un avant goût de la tech­nolo­gie, mais l’objectif est d’obtenir un wor­flow non-destruc­teur per­me­t­tant de pass­er des logi­ciels de CAD à Unre­al, tout en ayant une grande lat­ti­tude sur ce que nous souhaitons faire de ces objets. Epic Games pré­cise que ce type d’usage est un aperçu des pos­si­bil­ités offertes par les futurs out­ils 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-novem­bre l’accord de la part d’Epic, mais je n’ai pas réus­si à me con­necter… je leur ai écrit, on ver­ra bien. Dans tous les cas, n’étant pas graphiste, je ne suis pas directe­ment visé par le pro­gramme de bêta. Mais j’aurais aimé toute­fois faire quelques tests. Ca vien­dra…

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

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

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.