UE4 et MagicaVoxel: un duo sympathique pour faire des jeux 3D au look “8 bits”

Vous avez envie de créer sim­ple­ment des per­son­nages et des univers entiers sans for­cé­ment con­naitre la mod­éli­sa­tion 3d ? Il existe un petit out­il fort sym­pa­thique et gra­tu­it per­me­t­tant de créer des objets en vox­els, c’est à dire en empi­lant une série de blocs comme des légos. En fait, c’est même beau­coup plus sim­ple. Pour les afi­ciona­dos de l’époque “Deluxe paint”, je dirais que c’est le Deluxe paint de la 3D ! Bref, l’éditeur d’objets, bien que min­i­mal­iste, est assez bien fourni.

Cet arti­cle m’a été inspiré d’une vidéo de Jean Meli (dit “Mele­tou”) que je remer­cie au pas­sage et dont je met­trai la vidéo de présen­ta­tion en fin d’article.

Tout d’abord, vous pou­vez télécharg­er l’outil sur le site offi­ciel. Il existe une ver­sion pour Win­dows et une pour Mac. A l’heure où j’écris ces lignes, il s’agit de la ver­sion 0.99a du 23 Novem­bre dernier. A pri­ori, on approche de la v1, donc l’auteur sem­ble estimer que l’outil est aujourd’hui suff­isam­ment mur pour être util­isé en pro­duc­tion. Il faut not­er que l’éditeur est aus­si accom­pa­g­né d’un World Edi­tor, c’est un autre out­il qui peut tra­vailler avec plusieurs objets et créer des scènes com­plètes. Je ne vous en par­le pas ici car nous allons utilis­er Unre­al Engine, donc c’est super­flu dans notre cas. Toute­fois, cela peut -être pra­tique pour créer la maque­tte d’un univers. Je ne peux vous garan­tir qu’on sera capa­ble d’importer la scène directe­ment, sans un peu de code. Mais ce n’est pas le sujet de l’article.

Je n’ai pas pris la peine de créer moi-même un objet, mais j’ai pu voir une vidéo qui mon­trait que c’était vrai­ment très sim­ple et que les rac­cour­cis clavier son très pra­tique. On peut tra­vailler avec des lignes, des cer­cles, des sur­faces 3D (cube/Sphère), etc. Mais la ligne et la brique (cube 1 unité) est déjà suff­isante pour faire un tas de choses. Voici un per­son­nage réal­isé avec l’éditeur qui est disponible dans les exem­ples:

magicav1

Tra­vailler avec des vox­els, ça donne un petit look “Minecraft”, c’est nor­mal 😉 Bon, il faut savoir que l’outil tra­vaille en effet avec des blocs, mais qu’il peut aus­si exporter sous forme de Trimesh, c’est à dire un objet com­posé de “tri­an­gles”. Et cela, de façon rel­a­tive­ment opti­misée. En effet, un bloc fait 6 faces quadri — donc 12 faces tri­an­gu­laires), on pour­rait penser que 2 blocs col­lés font 24 faces tri­an­gu­laires. Heureuse­ment, il y a une forme de fusion et on ne tra­vaille pas avec des blocs, mais bel et bien des objets “opti­misés” trimesh. Au début, en chargeant l’objet exporté (for­mat Wave­front .obj) sous Blender, j’ai cru qu’on pou­vait encore sim­pli­fi­er un peu, mais je n’en suis plus si sûr. Voici une impor­ta­tion sous Blender:

magicav2

Sous Blender, les couleurs sont bien importées. En fait, Mag­i­caVox­el exporte le fichi­er .obj accom­pa­g­né d’un mate­r­i­al bien for­mé, c’est à dire un fichi­er “.MTL” et sa tex­ture accom­pa­g­nante. D’ailleurs, l’UVMapping et la taille du fichi­er de tex­ture est assez opti­misé égale­ment:

magicav3

Il s’agit juste d’une ligne avec les dif­férentes couleurs (256x1). Une fois importé sous UE4, cela donne ça:

magicav4

Le mesh de col­li­sion est aus­si bien importé:

magicav5

Bon, alors, quoi faire de tout cela ? De jolis décors au look 8 bits… mais coté ani­ma­tions, on fait quoi ? A ma con­nais­sance, l’outil ne per­met pas de créer des ani­ma­tions, ou alors, il fau­dra le faire image par image en changeant le mod­èle. Une autre solu­tion con­siste à ajouter un skele­ton via un logi­ciel de mod­éli­sa­tion et de génér­er le Weight Paint pour associ­er le trimesh à ce skele­ton. De fait, quand on importera le mesh, on le fera en mode skele­tal mesh. Cela demande un peu de tra­vail, mais comme pour ani­mer n’importe quel per­son­nage qui a été mod­élisé au final. Jean me sig­nale égale­ment dans les com­men­taires qu’on peut utilis­er Mix­amo (voir ci-après dans les com­men­taires).

Bon, vous vous attendiez à ce que je vous explique com­ment creuser le sol par exem­ple ? N’oubliez pas que pour UE4, l’objet reste un trimesh. Si vous importez un château, vous ne pour­rez pas le désassem­bler brique par brique, car en mémoire, ce n’est plus un vox­el. Toute­fois, l’outil per­met égale­ment d’exporter en for­mat vox­el. La descrip­tion du fichi­er est ici. Il reste que si vous voulez vrai­ment tra­vailler en vox­el, il vous fau­dra ici réalis­er votre pro­pre “con­struc­teur” d’objet 3D. C’est pos­si­ble, ce n’est pas si com­pliqué, mais il en fau­dra beau­coup plus pour faire quelque chose qui ressem­ble à atom­on­tage c’est clair !

Bref, c’est pour jouer, faire des petits jeux sym­pas, cela ne vous fera pas entr­er dans la dimen­sion du véri­ta­ble vox­el sous UE4. D’ailleurs, si on peut le faire en faisant preuve d’ingéniosité et en dévelop­pant des mod­ules par­ti­c­uliers, il ne faut pas oubli­er qu’à la base UE4 est prévu pour faire de la ras­ter­i­sa­tion. Aujourd’hui, on triche avec des shaders et la pos­si­bil­ité de tra­vailler les matéri­aux d’une façon assez par­ti­c­ulière, mais toute la ges­tion de la physique est alors inadap­tée. Et les opti­mi­sa­tions dif­fi­ciles… Et même nos cartes graphiques sont opti­misées pour la ras­ter­i­sa­tion. Peut-être qu’un jour on ver­ra des cartes 3D vox­els appa­raitre en des­ti­na­tion du grand pub­lic. Ce sera une sorte de retour en arrière, mais prof­itable puisqu’on pour­ra aller au delà de ce qu’on fait aujourd’hui, en prof­i­tant de “la matière”, c’est à dire de l’intérieur des objets.

Dans tous les cas, que vous souhaitez utilis­er Mag­i­caVox­el ou non, c’est un petit soft à con­naitre. Je vous laisse avec cette vidéo de présen­ta­tion de Jean et vous dis à très bien­tôt:

Edit au 19/01/2018:

Edit au 28/09/18: L’outil va bien­tôt pass­er en 0.99.2. Divers­es amélio­ra­tions : inter­face revue, nou­velle forme “clay” pour les vox­els ou encore nou­veau mode d’illumination.

4 réflexions sur « UE4 et MagicaVoxel: un duo sympathique pour faire des jeux 3D au look “8 bits” »

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.