Coopérative numérique Corse
Aperçu modèle 3D

La 3D dans le jeu vidéo

Conception d'un modèle "low-poly" pour du jeu vidéo

Le but de cet article est simple, aborder les concepts primordiaux de la 3D dans le monde du jeu vidéo, et cela à travers un exemple concret. Sans énoncer les détails techniques d’un logiciel en particulier, nous allons voir comment réaliser un modèle de A à Z.

Avant de rentrer dans le vif du sujet, il faut aborder la problématique de la conception pour le jeu vidéo. En effet, il existe des contraintes venant du fait que le modèle affiché l’est en temps réel, c’est-à-dire plusieurs images/frames par seconde. Cela implique une limitation de la complexité pour préserver les performances.

Le rendu en temps réel s’oppose au rendu précalculé. Ce dernier nécessite un certain temps avant qu’une seule image ne puisse être exploitée, mais permet une plus grande liberté sur la topologie en se souciant moyennement de l’optimisation.

Néanmoins, pour contrer cette limitation sur le niveau de détail réel d’un objet, la modélisation « low-poly » s’appuie sur de nombreuses textures qui permettrons de donner l’illusion de finesse.
 

Au fil de cet article, plusieurs termes techniques vont être employés, en voici la liste :

  • « Blueprint » : Gabarit 2D aidant à la conception 3D.
  • « Mesh » : Objet en 3D.
  • « Polygones » : Eléments qui composent un Mesh.
  • « Low-poly » : Modèle basse résolution, comportant peu de polygones.
  • « High-poly » : Modèle haute résolution, comportant beaucoup de polygones.
  • « Dépliage » : Technique permettant d’appliquer une texture à un Mesh, en le projetant sur un plan 2D.
  • « Baking » : Permet de projeter différentes textures d’un Mesh sur un autre. Par exemple récupérer du détail d’un modèle high-poly sur une image et l’appliquer sur un modèle low-poly.
  • « Topologie » : Structure d’un modèle 3D
  • « Subdivide » : Rajout de polygones, pour complexifier la structure.
     

Concept papier

Premièrement, il faut trouver l’idée de base. Pour rester dans le thème de l’informatique, j’ai décidé de partir sur un ordinateur un peu rétro, dans le style de la série des jeux « Fallout ».

Cette étape n’est pas essentielle, mais elle permet de gagner du temps, les dessins pouvant être utilisés comme « Blueprints » dans les logiciels 3D par-dessus le modèle.

Concept papier

Après plusieurs tentatives, j’ai fini par trouver un style qui me convenait. Cette étape permet aussi de se décider sur la texture du modèle, le choix des couleurs est important et permet de mettre en valeur les détails.

Le concept a pour but de donner une idée générale, mais on peut prendre quelques libertés par la suite au niveau de la 3D bien entendu.

 

 

 

 

 

 

 


Modélisation haute résolution

A partir de maintenant, nous allons passer à la 3D, en s’appliquant à modéliser l’objet dans ses moindres détails.
Le rendu de cette étape est dédié à être précalculé, c’est-à-dire que nous allons nous en servir pour créer des textures à destination du modèle basse résolution.

Cette étape s’intitule le « Baking », chaque recoin du modèle high-poly va être projeté sur des textures. C’est pourquoi il n’y a pas de contraintes de résolution (excepté la puissance de calcul de votre ordinateur).

 

La première phase consiste à faire ressortir grossièrement les formes de l’objet, poser la structure. On commence par un modèle très brut et on va essayer de le faire ressembler à la référence. 

HighPoly étape 1

 

 

On peut ensuite commencer à diviser cette structure, pour lui rajouter du détail. Le terme exact est « subdivide ».

HighPoly étape 2

Après avoir fait ressortir les rebords, creux et autre facettes, nous commençons à modéliser les différentes pièces fixées au modèle.

HighPoly étape 3

On rajoute maintenant du relief sur l’écran, avec aussi l’apparition de renforts et autres rivets.

HighPoly étape 4

Une fois satisfait des formes et des détails principaux de l’objet, nous pouvons commencer à affiner le tout en appliquant des modificateurs de lissage. Cela va permettre de rajouter de la définition et des angles moins nets.

HighPoly étape 5

Finalement en ayant rajouté pas mal de petits détails, le modèle est à peu près terminé dans sa version haute résolution.

HighPoly étape 6

 

On peut remarquer que pas mal de libertés ont été prises par rapport au dessin comme la disposition du clavier, ou le rajout de prises, câblages et antennes.
Avant de passer à la suite, il va falloir texturer le modèle, c’est-à-dire lui rajouter de la couleur, ainsi que différents matériaux pour lui donner un aspect réaliste.
Je ne vais pas m’étendre sur l’application des textures pour le moment. Il est préférable de l’expliquer sur le modèle basse résolution pour plus de clarté.

Après avoir soigneusement configuré chaque texture du modèle, voilà le résultat que j’ai pu obtenir :

Rendu texture precalculé

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Je rappelle que c’est un rendu précalculé, qui a pris un peu plus de 2 minutes pour rendre et qui nous servira pour texturer notre version basse résolution.
Pour ce qui est de la provenance des textures, je dispose d’une bibliothèque personnelle, ce qui m’évite d’en récupérer sur internet et d’avoir des soucis au niveau des droits.
Dans le cas contraire, il existe des banques de textures gratuites sur internet, comme « cgtexture » par exemple.

 


Modélisation basse résolution

Nous y voilà, nous allons concevoir le modèle qui sera affiché dans le moteur de jeu. Cette étape est naturellement plus rapide que la conception d’un modèle haute résolution. Mais il faut bien réfléchir à la complexité du modèle, à savoir jauger le niveau de détail et à anticiper ce qu’apportera la texture. J’utilise la technique de la « Retopologie », qui consiste à remodéliser par-dessus le modèle haute résolution, en suivant les formes. Cela permet d’avoir un modèle basse résolution fidèle et c’est très important pour l’étape de projection de texture.

 

En partant du haut du modèle, on va descendre progressivement et reproduire grossièrement les formes de l’objet.

Low étape 1

On peut remarquer que pour le clavier on a modélisé qu’un simple cube, et pas toutes les touches individuelles car la texture donnera l’illusion du relief.

Low étape 2

Il y a vraiment peu de détails et le modèle est très anguleux.

Low étape 3

Je ne m’attarde pas sur les petites choses telle que les rivets, ils seront enregistrés dans la texture et les modéliser ne ferait qu’alourdir le modèle.

Low étape 4Low étape 5

Une fois le modèle terminé, nous avons donc nos deux versions distinctes comme on peut le voir ci-dessous :

Comparaison deux modèles

Pour donner une idée de la différence de niveau de détails entre les deux objets, le modèle basse résolution possède près de 1000 facettes alors que le modèle haute résolution en possède plus de 147 000.
Maintenant, il faut appliquer la texture et les détails de l’objet haute résolution sur notre objet basse résolution.

 


Dépliage du modèle

Le dépliage consiste à placer des coutures sur un objet, pour ensuite l’étaler sur un plan en 2D. Pour donner un exemple, voici comment on peut déplier un simple cube :
(Les coutures apparaissent en rouge sur le modèle)

Dépliage 1Dépliage 2Dépliage 3Dépliage 4Dépliage 5

Pour le modèle basse résolution, j’ai donc appliqué tout un tas de coutures :

Low coutures

Après avoir lancé l’opération de dépliage, le modèle se retrouve sur une surface plane comme on peut le voir ci-dessous :

Dépliage 1

Mais ce n’est pas terminé, il faut par la suite arranger tous ces éléments entre eux afin d’optimiser la disposition. C’est comme une sorte de puzzle, où il faudra trouver la meilleure façon d’organiser les choses.
Voici le résultat final:

Dépliage final

 

 


Texturing du modèle

Nous voilà à la dernière étape de la conception de notre petit ordinateur : les textures !
Il existe différents types de textures utilisés dans le milieu du jeu vidéo, je vais énumérer celles que nous allons utiliser, et montrer par la même occasion la texture associée du modèle final.

Diffuse Map (Texture de couleur)
Elle donne l’information sur la couleur de l’objet, on y place tous les détails comme la rouille, la couleur de chaque matériau différent :

Diffuse map

 

 

 

 

 

 

 

 

 

 

 

Normal Map (Texture de relief)
Texture très importante pour donner une illusion de détails à notre objet, alors qu’il est en basse résolution. C’est une texture qui va contrôler la lumière et les reflets du modèle en imitant du relief :

Normal map

Specular Map (Texture de reflet)
Cette texture va contrôler la brillance de l’objet, à savoir les zones où il va émettre des reflets, faire ressortir une brillance ciblée sur certains détails de la texture. Plus c’est blanc, plus ça brille :

Specular map

Ambiant Occlusion Map (texture d’ombres)
Enfin, « l’ambiant occlusion map » ou aussi appelé « AO map », va permettre de rajouter une surcouche d’ombre au modèle, ne serait-ce que pour éviter de la calculer en temps réel. C’est toujours une question d’optimisation.

Ambiant map

 

Voici à présent les différentes étapes qui ont conduit à ces textures.
Pour commencer j’ai exporté les textures du modèle haute résolution et j’ai appliqué le tout sur le modèle basse résolution, en m’apprêtant à retravailler celles-ci dans un logiciel 2D :

On peut observer un rendu assez basique, des reflets mal contrôlés, les textures ont besoins d’être affinées :

final 1

Dans ce nouveau rendu, j’ai rajouté des détails sur la texture comme les bandes de l’écran, des salissures assez légères, et j’ai modifié la luminosité :

final 2

Ensuite j’ai travaillé le reflet, et j’ai ajouté de la rouille, un ombrage et j’ai aussi retouché la couleur générale de l’objet :

final 3

Enfin, par le biais de la Normal Map, j’ai placé des petits détails qui ressortent en relief, ça a permis d’améliorer le rendu des reflets :

final 4

Le modèle est à présent terminé, nous avons pu voir chacune des étapes nécessaires pour arriver à ce résultat. Il pourrait être encore amélioré, en détaillant le clavier par exemple, ou encore en ajoutant des écritures, mais je vais m’arrêter là pour ce modèle. Je vous remercie pour votre lecture, en espérant avoir été assez explicite sur la rédaction de cet article, ce fut un plaisir.

 

Mots clés