Création d'assets 3D pour le jeu vidéo

avec Blender

par

Anthony Cardinale

Création d'assets 3D pour le jeu vidéo • avec Blender

par Anthony Cardinale

ISBN (EPUB) : 978-2-8227-1085-5

Copyright © 2023 Éditions D-BookeR

Tous droits réservés

Conformément au Code de la propriété intellectuelle, seules les copies ou reproductions strictement réservées à l'usage privé du copiste et non destinées à une utilisation collective ainsi que les analyses et les courtes citations dans un but d'exemple et d'illustration sont autorisées. Tout autre représentation ou reproduction, qu'elle soit intégrale ou partielle, requiert expressément le consentement de l'éditeur (art L 122-4, L 122-5 2 et 3a).

Publié par les Éditions D-BookeR, 229 rue Solférino, 59000 Lille

www.d-booker.fr

contact@d-booker.fr

Les exemples (téléchargeables ou non), sauf indication contraire, sont propriété des auteurs.

Mise en page : générée sous Calenco avec des XSLT développées par la société NeoDoc (www.neodoc.biz)

Crédits photos : Figure 1.4 @ Liam Golden ; Figure 16.1 @ Binogure Studio ; Figure 24.10 @ JayAnNam ; Figure 27.2 @ Clint Bellanger

Date de publication : Février 2023

Édition : 2

Version : 2.0

À propos de l'auteur

Anthony Cardinale

Anthony Cardinale est ingénieur en informatique spécialisé en 3D temps réel et innovation. Passionné depuis toujours par le développement, il a commencé par la conception de jeux vidéo et la réalisation de formations vidéo avant de devenir aujourd’hui expert en développement d’applications 3D avec Unity. Il travaille pour le compte de grands groupes industriels et continue de partager ses connaissances notamment via l’écriture de livres.

Bienvenue

Bienvenue dans le monde de la modélisation 3D libre avec Blender, l’outil open-source par excellence pour les artistes 3D. Ce livre vise à vous transmettre les connaissances et les manipulations qui vous permettront de créer des modèles 3D spécifiques et adaptés au monde du jeu vidéo.

En tant que développeur de jeux vidéo, je suis quotidiennement confronté au problème du manque de ressources 3D. Je dois donc modéliser mes propres modèles 3D pour pouvoir créer les niveaux et les mondes 3D de mes jeux. Je crée des objets dit low poly (comprendre low polygons count = peu de polygones) qui sont plus simples à calculer que les modèles high poly et donc plus adaptés à la 3D temps réel. C’est cela que je vais partager avec vous tout au long de ce livre.

Aucune connaissance particulière n’est requise pour lire et suivre ce livre, mis à part bien sûr savoir utiliser un ordinateur, naviguer sur le net et ne pas avoir peur des raccourcis clavier. Dans ce livre, nous allons découvrir Blender et prendre en main le logiciel. La première partie est dédiée à cela. Ceux qui connaissent déjà Blender pourront passer rapidement sur cette première partie qui présente les outils et techniques fondamentaux. Dans la deuxième partie, nous utiliserons nos connaissances pour créer des objets 3D simples afin de pratiquer et d’obtenir des résultats rapidement. La troisième partie sera consacrée à la modélisation d’un appartement, ce qui nous permettra de voir comment agencer plusieurs modèles 3D en vue d’obtenir une scène 3D complète. La quatrième partie portera sur la modélisation et l’animation d’un personnage cartoon simple. Enfin, la dernière partie vous apprendra à créer un kit modulaire (un ensemble de briques qui s’emboîtent indéfiniment) qui vous servira à créer des donjons 3D. Ces différents exercices vous rendront plus à l’aise avec Blender, et vous serez ensuite en mesure de créer n’importe quel type de modèle 3D. Cela vous permettra de modéliser vos propres objets et environnements pour vos jeux vidéo. Nous aurons également l’occasion de voir comment importer des modèles 3D depuis Blender vers un moteur de jeu.

J’espère que ce programme vous convient, je vous souhaite un bon apprentissage et de belles créations.

1. Sources des exemples

Vous trouverez les fichiers sources des exemples sur le site de l'éditeur, à la page de présentation du livre, onglet Ressources.

2. Modèles 3D et animations GIF

Tout au long de ce livre, nous vous proposons des animations GIF pour vous permettre de visualiser les modèles 3D finis ou vous faciliter la compréhension de certaines manipulations courantes. Si votre lecteur ePub ne les lit pas, vous pouvez y accéder par un simple clic sur l'icône qui les accompagne.

Modéliser avec Blender

Cette première partie vise à mettre tout le monde à niveau. Nous découvrirons Blender, les différents outils qui nous permettront de modéliser nos éléments 3D, les raccourcis clavier indispensables, etc. Nous aborderons chaque outil individuellement et nous le manipulerons pour bien comprendre son utilisation et son utilité. Nous nous familiariserons également avec l’interface du logiciel et ce que celui-ci permet de faire. À l'issue de cette partie, vous serez en mesure de suivre le reste du livre et de réaliser les modèles qui y sont exposés.

1

Qu'est-ce qu'un modèle 3D ?

Un modèle 3D est une représentation en trois dimensions d’un objet ou d’un environnement. Les modèles sont alors utilisables pour la réalisation de films d’animation, d’infographies ou de jeux vidéo.

Pour créer vos jeux 3D, vous utilisez toutes sortes de modèles 3D que ce soit pour mettre en place les différents décors, les objets interactifs ou les personnages qui peuplent votre jeu. Mais à quoi correspond exactement un modèle 3D ? Comment sont-ils conçus ?

1.1. Comprendre la structure d’un modèle 3D

Un modèle 3D est constitué de polygones [en anglais faces], eux-mêmes constitués d’arêtes [en anglais edges], elles-mêmes constituées de points [en anglais vertices (pluriel)/vertex (singulier)]. Blender vous permet de manipuler et d’agir sur ces différents éléments. Pour bien comprendre, voici une image de Suzanne, la mascotte de Blender. Sur cette image, j’ai mis en évidence ces différents éléments.

Figure 1.1 : Structure d'un modèle 3D

Lorsque nous créons un objet 3D, il est par défaut coloré en gris. Nous avons la possibilité de le colorer soit avec une texture, soit avec une couleur unie. Pour le peindre, plusieurs solutions s’offrent à vous. L’une d’entre elles consiste à déplier l’objet 3D et à l’aplatir sur un plan 2D. Cela s’appelle un dépliage UV. C’est la même chose lorsque nous passons d’un globe terrestre à une carte du monde. Voilà à quoi ressemble notre mascotte après dépliage :

Figure 1.2 : Dépliage UV du modèle 3D

On appelle couramment modèle 3D le fichier qui contient les informations sur le maillage du modèle. Ces informations permettent sa reconstruction dans les logiciels 3D. Il existe de nombreux formats de fichiers comme FBX, OBJ, DAE, MAX, etc. Certains contiennent plus d'informations que d'autres. Le DAE par exemple peut contenir les informations de texture (l'apparence du modèle, sa couleur) et d'animation (squelette du modèle, fichier d'animation). Le choix du format dépendra de vos besoins et des logiciels que vous utiliserez par ailleurs. Sur la Figure 1.3 vous pouvez voir les différentes informations que peut contenir un modèle 3D : à gauche, une vue au rayon X laissant apparaître le squelette (pour l'animation) ; en deuxième position, une vue il de fer montrant les polygones ; en troisième, la texture appliquée au modèle et en dernier le modèle brut sans texture.

Figure 1.3 : Ce que contient un modèle 3D

1.2. Pourquoi du low poly ?

À la différence des films d’animation comme Toy Story qui sont précalculés, les jeux vidéo sont calculés en temps réel. Ces derniers tournent généralement en 60 images par seconde ce qui signifie que la 3D (votre monde virtuel tridimensionnel) doit être calculée et rendue 60 fois par seconde. Et pour un jeu en réalité virtuelle, il faudra calculer deux fois 90 images par seconde (puisqu'il y a un écran par œil dans le casque). Et cela au fur et à mesure que vous jouez à un jeu vidéo ou que vous développez votre propre jeu. Ce travail spectaculaire est réalisé par la carte graphique. Mais il pourra aussi l'être par votre smartphone ou le casque de réalité virtuelle, dont la puissance de calcul sera bien moindre. C’est cette notion de 3D temps réel qui est importante et qui a fait naître ce projet, le livre que vous tenez entre vos mains.

La modélisation low poly consiste à limiter le nombre de polygones d’un modèle 3D afin de le rendre plus facilement calculable par votre carte graphique. Nous adaptons donc notre façon de modéliser pour utiliser le minimum de polygones. Cela peut sembler un peu flou, alors voici une image qui vous permettra de visualiser la différence entre un visage 3D low poly et ce même visage en high poly.

Figure 1.4 : Comparatif low/high poly

Illustration réalisée par Liam Golden (deviantart.com)

Dans notre cas, nous allons faire en sorte de coller au maximum à ce que vous pouvez voir à gauche de cette image. Nous modéliserons différents éléments 3D que vous pourrez adapter et utiliser par la suite pour concevoir les niveaux de vos jeux. Maintenant que les choses sont posées, nous pouvons démarrer !

Note > Pour vous donner un ordre d'idée, quand les studios d’animation "convertissent" le rendu 3D en film, cela nécessite des semaines et des centaines d’ordinateurs. Par exemple, le film 3D Cars a été extrêmement polluant : certaines images du film ont nécessité plus de 17 heures de calcul ! Un film tourne en général aux alentours de 29 images par seconde. Dites-vous que le low poly vous permet également d’aider la planète .

2

Premier contact avec Blender

Dans ce chapitre, nous allons télécharger Blender et nous familiariser avec son interface.

2.1. Pourquoi choisir Blender ?

Aujourd’hui nous avons beaucoup de chance. Le développement de jeux indépendants est à la portée de tout le monde et ne demande presque aucun investissement. Il y a encore quelques années, les moteurs de jeux, les logiciels de modélisation 3D, les logiciels de création 2D étaient hors de prix et absolument pas à la portée des toutes petites équipes. Ces logiciels vous les connaissez certainement : il s'agit de Maya, 3D Studio Max, Cinema 4D, etc. Nous vivons maintenant à une époque où l’offre gratuite est abondante et n’a rien à envier aux offres payantes. C’est le cas de Blender qui est la référence en termes de logiciel de modélisation 3D libre et open-source.

En outre, Blender a récemment (à l'occasion de sa précédente version LTS) entièrement revu et refondu son interface afin de proposer un outil plus moderne et plus intuitif. La version 2.8 a été un vrai coup de tonnerre au point de déstabiliser les habitués du logiciel : tout a été repensé. Et ceci est pour le mieux. Il n’a jamais été aussi facile d’appréhender Blender pour un nouvel arrivant.

La devise de Blender est Petit par sa taille mais grand par ses possibilités. Et parce qu’une vidéo vaut mieux qu’une description pour bien visualiser la puissance de ce logiciel, je vous invite simplement à regarder le film d’animation Sprite Fright réalisé à titre de démo par le Blender Studio et disponible sur YouTube.

Comme vous pouvez le constater, Blender vous permettra d’obtenir un rendu professionnel et il a l’avantage d’être entièrement libre : vous n’avez donc aucune raison de faire marche arrière, Blender est fait pour vous.

2.2. Téléchargement, version et ouverture du logiciel

Tout d’abord, commencez par vous rendre sur le site officiel de Blender et cliquez sur l'onglet Download pour accéder à la page de téléchargement. Sur cette page, vous trouverez les versions Windows, macOS et Linux. Vous pouvez passer par l’installeur ou un fichier ZIP ne nécessitant aucune installation. La version ZIP présente également l'avantage de pouvoir être mise sur une clé USB et être utilisée sur n’importe quel ordinateur.

Note > Pour faire fonctionner Blender, il vous faudra un ordinateur pas trop vieux, c'est-à-dire moins de dix ans. Vous aurez également besoin au minimum d'un système 64-bit, d'un CPU dual core 2 GHz, de 4 GB de RAM, d'un écran d'au moins 1280 × 768 px, d'une souris et d'une carte graphique avec 1 GB de RAM et la prise en compte d'OpenGL 3.3.

Ce livre est basé sur la version 3.3.1 LTS du logiciel. Blender évolue constamment et il est probable qu’au moment où vous lirez ce livre, une nouvelle version soit d’actualité. Si c’est le cas, deux choix s’offrent à vous. Soit vous optez pour la dernière version du logiciel et il se peut que certains menus aient changé, il faudra alors rechercher par vous-même où a été déplacé le menu, soit vous vous rendez sous l'onglet Long-term Support afin d’afficher les versions LTS de Blender disponibles. Ici vous serez en mesure de télécharger exactement la même version que celle utilisée dans ce livre. Les versions LTS sont maintenues sur le long terme (au moins deux ans). Elles sont idéales pour se lancer dans l’apprentissage ou dans la réalisation d’un projet avec Blender. De façon générale, je vous conseille de toujours privilégier ces versions.

Figure 2.1 : Page de téléchargement de Blender

Une fois le logiciel téléchargé, installez-le ou décompressez le fichier ZIP pour accéder à son exécutable. Lancez Blender. Par défaut, une pop-up apparaît et vous propose de créer un nouveau projet ou d’ouvrir un projet existant. Si vous cliquez à côté de cette pop-up, elle disparaîtra et laissera place à l’interface de base. Je dis l’interface de base car il en existe d'autres, selon ce que vous êtes en train de faire.

Figure 2.2 : L'interface de Blender

Note > L'interface est en anglais. Il est possible d'en traduire une partie en français en passant par le menu Edit/Preferences puis l'onglet Interface et enfin l'option Translation. Cependant, la traduction est incomplète et parfois mauvaise car tributaire de la communauté. De plus, toute l'aide que vous pourrez trouver sur internet sera basée sur l'interface anglaise. Je vous conseille donc vivement de travailler avec cette version native. Dans ce livre, j'utiliserai les menus en anglais, autant prendre les bonnes habitudes dès le départ.

2.3. Découverte de l’interface

Dans Blender, vous pouvez travailler en mode Objet (sur la scène, de façon globale) ou en mode Édition si vous souhaitez modifier la géométrie (polygones, arêtes, points) d’un modèle. Vous pouvez aussi sculpter (non traité dans ce livre) pour modéliser des formes complexes et détaillées, créer des textures pour vos modèles, créer des materials, des animations ou générer un rendu (transformer la 3D en image). Tous ces modes ont leur propre interface et quand vous changez de mode, le logiciel se présente différemment.

Note > Tout au long de ce livre, j’utiliserai le terme anglais material car il n'existe pas vraiment de traduction pour ce mot. C'est un composant qui permet de définir le rendu d’un objet et le comportement que doit avoir la lumière sur sa surface : est-il rugueux ? lisse ? transparent ? réfléchissant ? etc. Voir chapitre Colorer avec les materials.

Nous allons dans un premier temps analyser l’interface de base destinée aux opérations élémentaires. Elle est constituée de cinq zones principales.

Figure 2.3 : Les cinq zones de l'interface par défaut de Blender

Vue 3D (en rouge), qui est la principale zone de travail. Il s'agit de la scène sur laquelle vous allez travailler modifier vos modèles 3D afin de leur donner la forme souhaitée. Par défaut vous y trouverez un cube, une lumière et une caméra. Comme nos modèles sont destinés à être importés dans un moteur de jeu nous n’aurons pas besoin de lumière ou de caméra. Ces éléments servent à générer un rendu (une image) directement sous Blender.

Barre d'outils (en jaune) avec les différents outils que vous pouvez utiliser pour agir sur vos objets. Comme la plupart des panneaux et menus, il s’ajustera automatiquement en fonction de ce que vous êtes en train de faire. Cela signifie que les outils représentés par des icônes seront différents selon le mode actif. En mode Édition (modification de la géométrie), vous aurez beaucoup plus d’outils à disposition. Par défaut, il vous donne accès aux outils de transformation c’est-à-dire déplacer ( Move), tourner ( Rotate) ou redimensionner ( Scale) un objet.

Barre de menus principale (en bleu). C'est une barre de menus classique qui permet comme dans tous les logiciels de créer un nouveau projet, d’ouvrir un projet, de sauvegarder, annuler, supprimer, etc. Dans sa continuité, vous trouvez une série d'onglets : Layout, Modeling, Sculpting, UV Editing, etc. Il s’agit des différents modes de travail précédemment évoqués. Lorsque vous cliquez sur un onglet, le mode est modifié et l’interface aussi. Vous trouverez également dans cette zone des icônes cliquables qui vous permettront d'accéder à des éditeurs spécifiques, d’activer/désactiver des options ou encore de changer certains paramètres de vues afin de toujours travailler dans les meilleures conditions. Nous y reviendrons tout au long du livre.

Hiérarchie et propriétés (en vert). En haut, vous avez la hiérarchie avec la liste des éléments présents dans votre scène. Juste en dessous se trouve le panneau regroupant les différentes propriétés modifiables. Vous y trouverez de nombreux outils, répartis dans différents onglets thématiques situés en haut du panneau. En cliquant sur les icônes (onglets), vous accéderez aux outils associés. Sachez qu'en fonction de l'objet sélectionné, les onglets varient, car les objets n'ont pas tous les mêmes propriétés.

Timeline (en rose), principalement utilisée dans le cadre de la création d’animations.

2.4. Organiser son espace de travail

Vous pouvez adapter cette interface à vos besoins. Vous pouvez redimensionner les panneaux ou diviser votre zone de travail si vous souhaitez par exemple avoir plusieurs angles de vue de votre scène. Pour cela, cliquez sur un coin de la zone (votre curseur se transformera en croix lorsque votre souris sera au bon endroit) et faites glisser votre souris jusqu’à ce que la division soit faite. Pour refermer une fenêtre, faites un clic droit sur la division puis dans le menu contextuel choisissez Join areas. Cliquez ensuite sur la fenêtre à fermer.

Figure 2.4 : Dédoubler un panneau

2.5. Modifier l'angle de vue d'un objet

Pour travailler dans de bonnes conditions, et parfois aussi parce que cela est indispensable pour visualiser votre travail, vous avez la possibilité d'ajuster la vue 3D. Si vous déplacez la souris tout en maintenant le bouton du milieu (molette) enfoncé, vous ferez tourner la caméra autour du point filmé. Si vous pressez en même temps la touche Maj, vous déplacerez la caméra parallèlement au point filmé. Enfin, vous pouvez zoomer/dézoomer à l'aide de la molette. Entraînez-vous à bien manipuler cela pour commencer à prendre vos aises.

Vous avez la possibilité de modifier rapidement la vue 3D avec des raccourcis clavier. Pour cela, utilisez le pavé numérique de votre clavier (les chiffres sur la droite, pas ceux du haut). La touche 7 permet de se mettre en vue de dessus, 9 en vue de dessous, 1 en vue de face et 3 en vue de côté. Cela est très pratique pour travailler sous tous les angles. Les touches 8, 4, 6 et 2 permettent de tourner autour de l’objet cran par cran. La touche 5 permet de passer du mode perspective au mode orthographique et inversement.

Vue en perspective ou orthographique ?

Le mode perspective (par défaut) permet de visualiser les perspectives et donc d’avoir l’effet 3D. La projection orthographique permet de visualiser votre scène sans les perspectives avec un effet 2D. Cela est très pratique dans certains cas pour aligner les objets, ajuster les proportions, etc. Voilà un comparatif entre la vue perspective et orthogonale :

Figure 2.5 : Vue perspective

Figure 2.6 : Vue orthogonale

Toujours au niveau du pavé numérique, le point permet de centrer la vue sur l’objet sélectionné. Cliquez sur un objet, par exemple le cube, puis appuyez sur le point et la vue sera centrée sur ce cube.

Savoir passer d'une vue à l'autre vous permettra de travailler convenablement et voir au mieux ce que vous êtes en train de faire.

Note > Comme vous pouvez le voir nous ne sommes qu'au début de ce livre et déjà de nombreux raccourcis clavier sont à mémoriser. Blender fonctionne énormément avec des raccourcis clavier, il vous faudra les apprendre. Vous trouverez en annexe une fiche mémo avec les principaux raccourcis à connaître. Vous pouvez aussi la télécharger au format A4 sur le site de l'éditeur.

3

Mode Objet : le mode par défaut

Le mode Objet permet de travailler avec les objets dans leur...