Atelier créa : Comprendre les nuages

Aujourd’hui, nous allons nous plonger dans les nuages. Petits ou grands, épais ou fins, lumineux ou fuligineux… les nuages prennent toutes sortes de formes et de couleurs. Ils sont toujours là, au-dessus de nous, bien que nous n’y prêtions pas tellement d’attention. Dans cet atelier, on va tenter de leur en porter un peu.
Cet atelier est le premier d'un duo, le second s'attelant quant à lui à réaliser ces nuages en pixel-art.

- Connectez-vous ou inscrivez-vous pour publier un commentaire
- Partie 1 - Créer ses ressources graphiques
- Partie 2 - Dessiner un personnage mignon
- Partie 3 - Les principes du design
- Partie 4 - Le Design des QTE
- Partie 5 - Des ressources de Game Design
- Partie 6 - Créer un QTE avec Construct 2
- Partie 7 - Introduction à la couleur
- Partie 8 - L'art de la teinte
- Partie 9 - Les palettes de couleurs
- Partie 10 - Les palettes de couleurs (suite)
- Partie 11 - Quelques techniques pour aborder le pixel art
- Partie 12 - Créer les boutons de son interface de jeu
- Partie 13 - 7 livres pour explorer la conception de jeu
- Partie 14 - 5 Astuces pour voir ses propres erreurs en peinture
- Partie 15 - 13 logiciels libres pour créer sans débourser un sou
- Partie 16 - Peindre avec Krita : Vue d'ensemble
- Partie 17 - Peindre avec Krita : Bien démarrer
- Partie 18 - Peindre avec Krita : Bien démarrer (suite)
- Partie 19 - Peindre avec Krita : Le Workflow
- Partie 20 - Peindre avec Krita : réaliser des pixel art
- Partie 21 - Peindre avec Krita : le HD Index Painting
- Partie 22 - Peindre avec Krita : Astuces pour le HD index painting
- Partie 23 - FAQ #1 - Réponse à vos Questions !
- Partie 24 - Game Design Quest - Introduction
- Partie 25 - 6 conseils pour une game jam réussie
- Partie 26 - La pré-production d'un petit jeu
- Partie 27 - Le mouvement sur une grille - exploration
- Partie 28 - La gestion des collisions sur une grille
- Partie 29 - Les moteurs de jeux
- Partie 30 - Le mouvement dans les jeux de plateforme
- Partie 31 - Le mouvement dans les jeux de plateforme 2 : exemple d'Ori and the Blind Forest
- Partie 32 - Les collisions dans un jeu en 2d
- Partie 33 - Comprendre les nuages
- Partie 34 - Dessiner les nuages en pixel art
- Partie 35 - Savoir s'inspirer des pixel-art existants avec Super Time Force #1
- Partie 35 - Savoir s'inspirer des pixel-art existants avec Super Time Force #2
- Bonus - Game Art Quest, le projet de formation sur Kickstarter
Dernière contribution
Commentaires récents
MarionLAsticot sur 30XX, le Megaman-like rogue faisant suite à 20XX, annonce son arrivée en accès anticipé
Yes yes yes yes! C'est trop bien!
Vrett sur Disjunction, un jeu d'action-infiltration annonce son arrivée
La chaude ligne de Miami est passée tout près... et ça a l'air...
Knils sur El Hijo - A Wild West Tale, de l'infiltration au Far West
Merci pour la vidéo découverte. Concernant les jeux...
2015 - IndieMag : l'actu du jeu vidéo indé - Tous droits réservés.
Comments
Une vidéo bien sympa, comme d'hab!
Merci!
Super vidéo !!
C'est marrant, ça fait des mois que dès que j'ai du temps je regarde les nuages, dans la voiture, en vélo, au boulot, ...
J'essaye de réaliser un algorithme pour réaliser ce genre d'effet pour un jeu :
https://www.youtube.com/watch?v=MZSORhkCfJM
https://www.youtube.com/watch?v=l3-BVBocCxI
Ou tout simplement des nuages et des couleurs de lumière réalistes à n'importe quelle heure.
Mais dès que je comprends quelque chose, je m'aperçois qu'il y en a 2 autres que je ne saisis pas
Le travail d'artiste technique, c'est un énorme investissement. Il faut à la fois développer son sens artistique et la partie programmation.
Pour avoir fait un peu de programmation de shaders, j'utilisais surtout des masques et des textures faites main. Ce n'est pas simple de faire de beaux nuages procéduralement.
Ce qu'a fait Nival marche plutôt bien sinon - il ne manque qu'un peu de color grading et un dégradé convaincant au niveau du ciel pour que ça soit bien réaliste, mais le gros du travail est fait.
En fait, le procédural (et rien que la classique texture "noise") permet quand même des choses plutôt cool je trouve, à partir du moment où on l'utilise par imbrications multiples ; pour tout ce qui est phénomènes "naturels" elle permet souvent des représentations assez sympas tout en s'affranchissant de compétences en graphismes et du temps (et difficulté) que cela peut représenter de réaliser des textures de grandes dimensions non répétitives et au besoin dynamiques.
J'avais expérimenté la chose aussi pour le rendu d'un plan d'eau infini:
http://nival.free.fr/images/oceantea.mov
(3 niveaux de "noise" associés, un large et étiré pour les vagues qui se déplacent par translation, un plus fin, régulier et sans translation pour la houle, un encore plus fin pour restituer une "micro-agitation" de surface)
Ou encore dans cette séquence où l'intégralité de l'astéroïde n'est qu'une sphère sur laquelle sont appliqués différents niveaux de "noise" tant pour la forme que pour la texture:
http://nival.free.fr/images/earthtest.mov
Bon, c'est du niveau parfaitement dilettante
, mais je suis assez persuadé qu'en poussant la chose on peut arriver à des résultats très bon pour le rendu de pas mal de phénomènes naturels. Le problème c'est qu'un moment ça devient une spécialisation en soi, qui risque de demander autant de compétences et d'investissement que le travail de graphiste "traditionnel" si on devient vraiment exigent
.
(voir des projets comme Infinity Battlescape où la surface des planètes générée de façon procédurale est bluffante de richesse et de naturel je trouve!)
C'est juste que lorsque tu veux pousser le niveau de détails et la finesse de ta représentation procédurale, cela demande beaucoup d'expérimentation et donc de temps. Surtout, c'est assez facile de modéliser un phénomène naturel de façon procédurale. De l'eau, des nuages, des plantes, des flammes... mais c'est très difficile de représenter quelque chose de précis. C'est assez facile de faire de l'eau. Mais une rivière, un ruisseau, un océan ou un marais vraiment crédibles...
Après oui le procédural, c'est très utile, très intéressant aussi. Et on le trouve un peu partout aujourd'hui en production.
Faut pas être trop ambitieux je pense, surtout si on pense "temps réel", je parle surtout de la deuxième vidéo que tu mets en exemple!
J'avais par le passé fait quelques expérimentations partant sur plusieurs plans empilés, sur lesquelles était appliquée une transparence basée sur une texture procédurale type "noise", avec une valeur seuil à partir de laquelle la transparence était à 100% (créant l'espace "vide" entre les "nuages") ; couleur diffuse = blanc, et projection d'ombre d'une couche sur l'autre respectant la transparence ; manquait à appliquer une approximation de lumière transmise il me semble ; et je me demande si j’utilisais pas aussi un "bump mapping" toujours basé sur la texture "noise"? En tout cas, en animant la texture "noise" en plus d'une translation on évitait des nuages trop statiques, et si on changeait la valeur seuil de la transparence on pouvait augmenter ou baisser (progressivement au besoin) le pourcentage de couverture nuageuse.
Ça donnait ça (pour une proportion de couverture nuageuse constante):
http://nival.free.fr/images/skytest.gif
(bon, le rendu était pour le moins "brut" et avait encore besoin de pas mal de peaufinage, mais ça reste une piste je pense)
Après c'était du pré-calculé, mais sur des bases à mon sens assez "simples" pour être transposé avec d'éventuelles approximations (a fortiori 10 ans plus tard
) à un moteur de jeu.
Je pense que je me suis mal exprimé en disant "algorithme"
Je cherche à réaliser à la main des nuages réalistes en 2D, avec différents claques pour les faire évoluer selon l'inclinaison et la couleur du soleil. Les rendus seraient précalculés et enregistrés en images que j'utiliserai par la suite.
Il est sûr que créer quelque chose de procédural serait génial mais je 'en ai pas les compétences, ni réellement la nécessité. Je me "contenterai" donc d'une banque de nuages que je mixerai par la suite. Ce n'est peut-être pas le plus optimal, mais j'essaye de trouver du temps comme je peux après le boulot
Nival je trouve ça vraiment super ce que tu as fait !!
Pour un rendu 2D qui prenne en compte orientation et couleur du soleil, un système de mixage de calque me parait un peu difficile, parce que au final chaque "couche" de rendu (deux essentiellement je pense: la lumière diffusée et celle transmise) dépendent TOUTES DEUX de la couleur et position du soleil... Donc chaque situation reviendrait à un cas particulier pour chaque calque, et donc au final à simplement un dessin particulier! Tu peux en revanche réaliser un dessin pour différentes orientations de la lumière, et définir pour chaque cas deux calques: éclairage direct par le soleil et "illumination globale", ce qui permettra de faire varier la teinte des deux couleurs en fonction de l'ambiance lumineuse de chaque scène.
Si tu veux pouvoir prendre en compte, à partir d'un nombre restreint de représentations, différentes positions d'éclairage, je doute que tu puisse faire sans un modèle d'éclairage dynamique, même sommaire. Pour autant cela doit être réalisable en 2D avec des considérations techniques assez simples, il faudrait en revanche passer je pense par du normal mapping ou un équivalent. Une représentation façon "bump mapping" peut être intéressant car permettant, à partir d'une unique image, de considérer pour chaque pixel autant la profondeur du nuage (pour le rendu de la lumière transmise) que l'orientation de sa surface (pour le rendu de la lumière diffuse).
Une possibilité intermédiaire, c'est représenter "à la main" différentes situations d'éclairage, comme tu réaliserais une animation du nuage autour du quel tournerait une lumière: chaque image de l'animation peut alors être rattacher à une orientation différente du soleil. Tu peux aussi pour chaque frame proposer un calque pour la l'éclairage direct et un autre pour l'illumination globale histoire d'avoir une bonne souplesse pour faire évoluer la teinte du nuage de façon dynamique.
L'intérêt de travailler chaque représentation de ton nuage comme faisant parie d'une animation, c'est de t'assurer d'une bonne fluidité si dans ton jeu la situation d'éclairage doit pouvoir évoluer de façon progressive.
Merci!
J'ai eu à l'époque l'occasion de pouvoir manipuler 3DS Max, donc autant dire que j'ai un peu expérimenté dans tous les sens!
Super vidéo ! J'ai bien apprécié tes derniers Atelier Créa. Celle-ci m'a rappelé à quel point il est important d'observer son environnement. Bonne continuation !
Pages