Créer un arbre en low-poly avec Blender

Darktib Message lu Posté le 18 Fév 2008 à 21:43 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Bonjour a tous !

Vous vous êtes souvent demandé comment les grands jeux vidéo arrivaient à avoir des superbes forets avec des excellentes performances ?
La réponse tient dans la manière ou ils modèlent leurs arbres ; en effet il s'agit de low-poly (littéralement peu de polygones, ce qui veut dire un objet 3D avec un minimum de sommets et de faces).

Et vous allez apprendre à en modéliser ici !




I Conditions requises


Tout d'abord, ce tutoriel a été écrit avec Blender et pour Blender... Si vous ne l'avez pas, vous pouvez le télécharger gratuitement et librement, à l'adresse http://www.blender.org/download/get-blender/.


Vous devrez avoir un minimum de connaissances dans la création d'objets 3D avec Blender pour pouvoir suivre ce tutoriel.
Si vous ne vous y connaissez pas, voici un tutoriel sur Blender: http://www.siteduzero.com/tuto-3-766-0-debutez-dans-la-3d-avec-blender.html


De plus il vous faudra aussi un logiciel de retouche d'images, comme Photoshop, Photo impact, PAINT.NET ou autres. Dans ce tutoriel j’utiliserais PAINT.NET pour des raisons techniques (c'est le seul logiciel de retouche sur l'ordinateur ou j'écris ces lignes, a part Paint^^); ce logiciel, quoique limité, possède des fonctionnalités intéressantes, et de plus il est gratuit.

Puis après il vous faut aussi un utilitaire pour voir la version finale de votre arbre telle qu'elle sera dans un jeu vidéo. En effet les moteurs 3D comme celui de Blender sont trop complexes et complets pour être des moteurs de jeux vidéo. Je vous propose un utilitaire que j'ai crée pour l'occasion, en DarkBASIC Pro, ici. Mais si avez des connaissances en programmation vous pouvez coder votre propre utilitaire^^

Et si jamais vous voulez mapper facilement une foret sans entrer 2000 lignes de code vous pouvez télécharger la dernière version du SME (faut que j'arrête la pub maintenant^^).





II Modélisation de l'arbre



A) Le tronc


Premièrement ouvrez Blender, et supprimez tout ce qui est déjà présent(le cube, la lampe et la caméra). Je vous conseille en plus de diviser l'interface en deux parties.

Image


Ensuite, créez un cylindre. Comme paramètres choisissez les mêmes que sur cette capture d'écran:

Image


Mettez une des vues en vue de coté (front ou side). Puis sélectionnez les sommets du milieu du cylindre sur la vue du dessus (top) et supprimez-les.

Image


Maintenant, dans la vue de coté, sélectionnez uniquement les sommets du haut. Appuyez sur la touche [E], sélectionnez "Only Edges", et déplacez les sommets crées de 2.5 unités sur l'axe z (vers le haut). Pour vous aider vous pouvez appuyer sur [Z] : le déplacement ne s'effectuera alors que sur l'axe z.
Répétez cette opération 4 fois. Vous devez avoir donc un tronc qui fait 10 unités de haut.

Image


Maintenant, sélectionnez les 6 vertex du haut si ce n'est pas déjà fait, appuyez sur [S], puis tout en appuyant sur [Ctrl], et essayez d'arriver à une taille nulle, comme ceci:

Image


Cliquez sur [Rem Double] (dans le panneau Mesh Tools) pour supprimer les 5 sommets en trop.
Désélectionnez tout, puis sélectionnez l' "étage" du bas (les sommets tout en bas). Redimensionnez-le (touche [S]) de manière à l'agrandir, puis déplacez-le très légèrement. Répétez cette opération pour tous les étages, de manière à obtenir quelque chose comme ceci:

Image


Vous pouvez aussi tourner très légèrement chaque étage pour lui donner un air plus naturel.

Ca y est, le tronc est terminé ! Et vous avez effectué un tiers du travail^^




B) Les feuilles


On ne va pas faire compliqué, et donc on ne va pas les modéliser une par une^^
En fait il suffit de mettre quelques sphères bien texturées pour simuler le feuillage. La répartition de ces sphères dépend du type d'arbre. Par exemple pour un sapin ce plutôt des cônes.
Je vais vous montrer comment faire pour un feuillu.

Image

Premièrement ajoutez une icosphère. Mettez les paramètres comme ci-contre.



Notez que l'on se fiche pas mal de la taille de la sphère (radius) car de toute façon on va la redimensionner^^.
Déplacez cette sphère vers le haut du tronc (pas tout en haut), déplacez-la un peu et redimensionnez-la comme vous voulez. Sachez juste que les boules devront être moins grosses en haut^^.
Créez d'autres sphères et faites de même, mais limités-vous quand même a 5 sphères...c'est du low-poly que l'on fait^^.
Pour moi cela donne ca:

Image


Une fois le feuillage terminé, il nous faut optimiser l'arbre. En effet certaines faces ne seront jamais affichées, étant donné qu'elles sont à l'intérieur de l'arbre. Mettez-vous en mode de sélection par faces, agrandissez votre vue 3D ([Ctrl] + [Fleche haut]), et limitez votre sélection uniquement au visible (bouton juste à coté du bouton de sélection par faces). Appuyez sur [B] (une ou deux fois, comme vous voulez) et sélectionnez les faces qui sont visibles. N'oubliez pas de tourner la vue et de faire le dessous !
Puis inversez la sélection. Pour moi cela donne :

Image


Appuyez sur [P] pour supprimer ces faces (option "selected»). Sélectionnez le tout et supprimez les vertex doublons (bouton "Rem Double" du panneau des Mesh Tools) en mettant la limite à 0.1 ou 0.2. Si vous n'avez aucun doublon alors tant mieux ! Quittez ensuite le mode "edit" (touche [Tab]) et déplacez l'arbre. Vous verrez alors apparaitre un objet bizarre : c'est le résultat de l'appui sur [P]. Supprimez-le, puis remettez ensuit l'arbre a la position 0,0,0 (au besoin vous pouvez faire 'Object' -> 'Transform Properties'.

Et voila l'arbre !
Image





Mais... il est pas beau mon arbre... pourquoi il est tout gris ??


Nous n'avons pas encore fait l'UVMapping, qui consiste à appliquer une texture sur un objet. Oubliez les textures procédurales, la plupart des moteurs de jeu ne les supportent pas, et vous verriez alors un objet tout blanc...


III La texture



Elle ne va pas être très compliqué... mettez vous en mode edit et en sélection par arête (edge).
Vous voyez le premier étage du tronc? Celui entouré en rouge:

Image


Sélectionnez toutes les arêtes de cet étage, et une arete verticale du tronc (n’importe laquelle) comme ceci sur l'image qui suit. Une fois sélectionné, faites [Ctrl] +[E] et choisissez 'Mark seam' (faire une couture).
Changez une vue 3D en UV/Image Editor, et appuyez sur [E] pour déplier la texture. Vous remarquerez cette forme :
Image



C'est la forme caractéristique du tronc. Sélectionnez tous ses sommets et essayez de la mettre dans un endroit 'vide', en la modifiant si besoin est. Une fois que c'est fait, sélectionnez avec le clic droit n'importe quel sommet (sauf ceux de la forme du tronc) et mettez les n’ importe où. Faites attention a ce que la forme du tronc soit la seule 'dans son coin'. Pour moi cela donne :
Image



La forme du coin est dans le bord haut droit. Si je vous aie demandé de mettre les sommets un peu n'import ou, c'est pour rendre hétérogène la répartition de la texture sur l'arbre, le rendant un peu plus naturel.

Puis sauvez votre texture (UVs -> Scripts -> Save UV Face Layout...) et ouvrez-la dans votre logiciel de retouche photo préféré. Je vais détailler avec PAINT.NET, mais le principe reste le même pour les autres logiciels.

Repérez la forme du tronc sur l'image, et sélectionnez-la à coup de sélection additive. Copiez-la et collez-la dans une nouvelle image. Désélectionnez tout puis selectionnez juste les pixels blanc a l'extérieur de la forme avec la baguette magique.

Image


Prenez le pinceau, désactivez l'anti-aliasing, mettez comme taille 150, choisissez une couleur vive ou voyante (genre rouge) et peignez.

Image


Nous avons donc un pochoir. Copiez-le. Dans l'image de la texture, rajoutez un nouveau calque. Sur ce calque vous pouvez coller le pochoir, et le faire coïncider, comme ceci:

Image


Coloriez ensuite tout le reste du calque, de manière à faire un pochoir complet. Ajoutez ensuite un autre calque.

Image


Maintenant il va falloir trouver une image de bois. Si vous possédez DarkBasic Pro ou 3D Model Kit (=DarkMatter v1) vous devrez trouver sans problème. Ouvrez cette image et copiez-la dans le calque d'arrière plan de la texture. Normalement vous ne devrez voir qu'un fond rouge avec une forme remplie d'une texture de bois, comme ceci:

Image


Aplatissez l'image (Image -> Aplatir, équivalent à fusionner les calques), faites un nouveau calque et déplacez le vers le bas dans l'ordre d'affichage. Dans le premier calque sélectionnez le rouge et supprimez-le. Allez ensuite chercher une texture de feuille ou d'herbe, et procédez de la même manière qu'avec celle de bois, mais en la collant sur le calque vierge évidemment^^

Aplatissez ensuite l'image... Et votre texture est finie ! Enregistrez-la puis revenez à Blender.



III Finalisation et test


Une fois sous Blender, cliquez sur Image, puis sur Open. Là, choisissez votre texture et revenez en mode Object, sans oublier de remettre l'affichage en mode texturé.
Et voila ! Votre arbre est terminé !

Mais si vous voulez l'utiliser dans les jeux vidéo vous devrez l'exporter. Pour ce tutoriel je l'ai exporté en X, puis je l'ai utilisé avec le SME, pour faire ce genre de map:

Image






Copyright (C) 2008, Darktib. Toute reproduction non autorisée est formellement interdite. Si vous souhaitez publier ce tutoriel sur un autre site, demandez-moi l'autorisation par mail ou par mp.

Dernière édition le 18 Fév 2008 à 21:45
Monster_kill Message lu Posté le 20 Fév 2008 à 21:28 Bulle
Avatar de Monster_kill
Explorateur

Messages : 114
GCPoints : 244
Lors de la création de ton cylindre, désactive l'option Cap Ends afin d'éviter la création d'un sommet qui bouche le trou de ce cylindre des deux côtés :wink: :happy:

Ce tutoriel est bien expliqué, mais je trouve le résultat pas entièrement convaincant. Merci quand même :smile:
Darktib Message lu Posté le 20 Fév 2008 à 22:21 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Le résultat... la foret ou l'arbre? Pour la foret il s'agit d'un vieux screen, j'ai rechangé les textures et ca parait moins hétérogene. Pour l'arbre, c'est du low-poly, en général c'est pas fait pour etre vu de pres^^ mais de loin.
Quand j'aurai terminé cette foret (je pense avoir jusqu'a 1000 arbres, pour l'instant 110 fps avec 260 arbres + le terrain) ca rendra beaucoup mieux^^

Merci pour les commentaires en tout cas.
Répondre
GameCorp - Site d'apprentissage et d'entraide à la création de jeux vidéo.
XHTML Valid 1.1 - Page générée en 0.0313 secondes