Vue

Animation des phases de la lune

Parallèlement à ma passion pour le monde de la 3D, je suis astronome amateur. Avec mon petit télescope, je fais de la photographie astronomique. Très souvent, je prends la lune pour modèle, en voici une images.


Voici une image de la lune prise avec mon télescope CELESTRON NexStar 4SE et mon Smartphone SAMSUNG Galaxy S8.

Au fil du temps, ma collection de clichés s’est agrandie. Je pensais construire un petit film d’animation en montant mes nombreuses photos de la lune et de couvrir ainsi l’ensemble d’une lunaison. C’est un joli travail me direz-vous...

Cependant il y a de nombreuses difficultés sur ce chemin. L’orientation du disque lunaire n’est pas la même sur tous les clichés. La couleur, la luminosité, le diamètre apparent de la lune sont différents sur chaque image. Il y a, donc, un très gros travail de préparation et d’unification des futures images du film. C’est une mission presque impossible.

Alors, puisque j’ai une passion pour les images virtuelles et les mondes 3D, ne pourrais-je pas créer une fausse lune plus vraie que nature et aborder ce problème sous l’angle d’une animation 3D.

J’ai fait des recherches sur internet et j’ai trouvé mon bonheur à la NASA, sous la forme de deux textures en haute définition, une pour la couleur et l’autre pour le relief de la surface lunaire.


Canal de couleurs - Texture diffuse 21600 x 10800.


Canal de relief - Texture Normal Map 8192 x 4096.

Une « normal map » (carte de normales) est habituellement une image « RVB » où les composantes fournissent les coordonnées X, Y et Z de la normale du texel de la texture correspondante. Dit autrement, chaque pixel de la « normal map » est en réalité un vecteur fournissant l'information d'élévation et d'inclinaison de sa surface, c'est-à-dire, de la surface du texel sur lequel sera appliqué la « normal map ». On l'utilise donc telle une texture, en complément de la texture diffuse (et éventuellement de textures d'autres types - tels que les « light map »).
On reconnait généralement ces textures à leur prédominance de magenta. Il est à noter qu'elles peuvent être de résolution différente de leur texture de destination selon les besoins.

Je viens de réunir tout le matériel nécessaire pour construire un objet « Lune » dans « Vue Infinite 2016 ». Je pensais utiliser la sphère primitive de « Vue » pour cet objet « Lune », mais la sphère primitive de « Vue » ne fournit pas de canal « UV ». Sans lui, ce n’est pas possible d’y charger une texture « normal map », c’est rageant...



Pour contourner le problème, je vais utiliser « DAZ Studio 4.10 Pro », un produit gratuit qui va me permettre de générer l’objet « Lune » à partir d’une sphère primitive incluant le canal « UV ». Puis, en exportant l’objet au format standard « OBJ », de le transférer dans « Vue Infinite 2016 ».

Je commence par créer la sphère primitive.



Pour que la sphère résultante soit lisse, j’augmente le nombre de faces, car la primitive produite par défaut en contient très peu. Je choisi une primitive « sphère », un rayon de 5m, 48 segments et 96 faces. Le rayon n’a pas d’importance, je pourrai toujours redimensionner l’objet par la suite.



Je renomme l’objet « Sphere » en « PhG-Moon » et je vérifie qu’il reste l’objet courant sur lequel je vais travailler. L’objet « PhG-Moon » est sélectionné et il apparait en jaune.



Dans l’éditeur, je choisi l’onglet « Surfaces » et le canal « Normal Mapping ». Je déclenche le chargement d’une texture dans ce canal en cliquant sur « Browse... ».



Une fenêtre modale s’ouvre et je charge le fichier image qui contient la texture à appliquer sur ce canal (Normal Map).



Je procède de la même manière pour le canal de couleur « Diffuse » et je déclenche son chargement en cliquant sur « Browse... ».



Une fenêtre modale s’ouvre et je charge le fichier image qui contient la texture à appliquer sur ce canal (Diffuse Map).



La zone de prévisualisation de « DAZ Studio » montre immédiatement le résultat. Mon objet « Lune » apparait avec les textures de couleur et de relief. C’est tout simple...



Maintenant, je peux exporter l’objet « Lune » au format standard « OBJ » en cliquant sur le bouton « Export a file ». Je choisi un emplacement et un nom de fichier...



Je défini les paramètres d’exportation selon ce modèle.



Et voilà, je possède un objet « Lune » virtuel et aussi vrai que nature.


Rendu avec « DAZ Studio 4.10 Pro »

Dommage que je ne puisse pas faire tout cela directement dans « Vue Infinite 2016 », car il manque très peu de chose, juste de pouvoir créer des primitives contenant un canal « UV ». Mais l’objet « PhG-Moon » est disponible pour être importé au format « OBJ » dans « Vue ».

J’ouvre « Vue Infinite 2016 » et je charge mon atmosphère spectrale standard. Je me prépare à importer mon objet « Lune ».



Je localise mon objet « PhG-Moon », que j’importe en conservant les paramètre par défaut.



Je rencontre des problèmes de localisation des fichiers de textures, mais je passe et je mets à zéro la matière de l’objet importé. Ce n’est pas grave, de toute façon il faudra refaire cette matière. L’essentiel c’est que l’objet importé possède le canal « UV » et çà c’est le cas.



J’ouvre l’éditeur de matière.



Je règle le mode de projection de la texture sur « Objet - Standard ».



Je sélectionne l’onglet « Relief » et je déclenche le chargement de la texture « Normal Map ».





Je règle l’amplitude de la « Normal Map » sur 99.999 et pas sur 100%.



« Vue Infinite 2016 » est maintenant capable de montrer le relief de la surface en utilisant la « Normal Map » via le canal « UV » de la texture de l’objet.





Je sélectionne l’onglet « Couleur & Alpha » et je déclenche le chargement de la texture « Diffuse Map ».









« Vue Infinite 2016 » est maintenant capable de montrer la couleur de la surface.



Je règle les dimensions de l’objet « PhG-Moon » égales au diamètre réel de la lune, c’est-à-dire 3474 km.



Tous les éléments composants la future scène d’animation sont construits. Je retire l’objet « Sol » parce que je n’en aurai pas besoin. Il me reste les éléments essentiels, c’est-à-dire, la lune, le soleil et la caméra.



Il y a trois choses importantes à prendre en considération pour atteindre un maximum de réalisme dans une scène 3D.

La première chose, probablement la plus importante, c’est la qualité de la matière d’un objet, sa couleur, son relief. Les objets réels ont une surface pleine d’imperfections. Dans le monde réel, une ligne droite n’est jamais droite et la surface d’un objet possède une rugosité. Par leurs imperfections, les objets interagissent tous différemment avec la lumière, ils sont brillants ou transparent, etc. Pour qu’un objet devienne réel, il doit nous donner envie de le toucher.

La deuxième chose, c’est la qualité de la lumière. Dans une scène 3D, cette qualité va fortement dépendre du modèle mathématique de calcul de rendu. Il faut considérer tous les paramètres possibles et offert par le moteur de rendu.

La troisième chose, c’est l’atmosphère. Dans le monde réel, entre la source de lumière et l’objet, il n’y a pas que du vide. L’air, la poussière, les fines gouttelettes d’eau et toutes sortes de choses interagissent avec les rayons de lumière. Des brumes, des nuages absorbent et diffusent la lumière créant un voile plus ou moins prononcé. Il y a une certaine profondeur de l’atmosphère, une perspective atmosphérique.

« Vue Infinte 2016 » centralise la plupart des paramètres que je dirais liés au réalisme dans son éditeur d’atmosphère.



Je choisi le modèle d’atmosphère « Spectral standard », je ne veux pas que mon soleil soit lié au mouvement de la caméra et je règle les paramètres liés à l’apparence du soleil.



Je choisi le modèle de calcul de la lumière et je règle les nombreux paramètres qui s’y rapporte.



Il n’y aura aucune couche de nuages dans cette scène.



Je veux que ma lumière interagisse volumétriquement avec l’atmosphère.



Je règle, finalement, les paramètres liés à la sphère des étoiles fixes.



Maintenant que matière, lumière et atmosphère sont défini, il me reste à régler la caméra principale. La caméra, c’est mon oeil, mon regard dans la scène, mon regard sur le monde virtuel. Je choisi un petit grand angle de 35mm.



Je place ma caméra à bonne distance de la lune. J’anticipe la position de la caméra en vue de mon prochain film d’animation.



J’ouvre les options de calcul du rendu final.



Je règle les paramètres du moteur de rendu.





Je n’utilise pas les options « Exposition Auto. » et « Aberration lenticulaire ». Elles ne sont pas indiquées pour réaliser un film d’animation. Elles peuvent provoquer des sauts abrupts dans l’éclairage de la scène, ces différences seront visibles et très gênantes en animation.



Je lance le calcul pour obtenir la première image de test de ma scène 3D. Non, ce n’est pas une photo, c’est bien le résultat d’une fausse lune dans un monde virtuel.



Mon but est de construire une animation montrant toute une lunaison.

J’ai décidé de placer ma caméra à une distance raisonnable de la lune, et pour rendre la scène plus amusante, d’animer la sphère des étoiles fixes. Cependant, j’ai constaté que « Vue » ne permet pas de donner un mouvement aux étoiles. Il me faudra, donc, animer tous les autres objets de la scène.

La durée de l’animation sera réglée sur la durée du fond sonore libre de droits que j’aurai pu trouver. J’ai pour habitude de chercher mes fonds sonores sur le site de « YouTube ».



Je choisi la piste sonore « Cast of Pods » d’une durée de 1’57s, en comptant une marge, je fixe la durée de mon animation à 2’00s.

Pour commencer, je place la lune, la caméra et le soleil en position de départ. Dans la position de départ d’une lunaison, c’est-à-dire à la nouvelle lune, comme ceci.



Pour que les étoiles soient animées alors que « Vue » ne le permet pas. Je dois animer la caméra. La lune ne change pas de position, le soleil non plus, et la caméra doit tourner tout autour de la lune tout en la suivant.

Pour cela, je dois lier la caméra à la lune, comme ceci.



Pour construire l’animation, je dois afficher la ligne de temps.



Cette opération lance automatiquement l’assistant d’animation que je ne vais pas utiliser et que je ferme aussitôt.



Au bas de l’écran, la ligne de temps est maintenant visible.



Pour animer toute une lunaison, la caméra va décrire une trajectoire circulaire autour de la lune, pour passer de la nouvelle lune à la nouvelle lune suivante. Je me fixe 9 images clefs, tous les 45°. L’animation durera 2 minutes, ce qui fait 120 secondes, donc une image clef toutes les 15 secondes.

Pour animer la caméra. Je sélectionne la caméra. Je déplace le curseur de la ligne de temps à l’instant choisi. Puis je repositionne la caméra pour cet instant et ainsi de suite pour tous les intervalles de 15 secondes.



J’ai volontairement déplacé manuellement la caméra pour conserver une certaine irrégularité de mouvement. Ces imperfections vont donner du réalisme à la scène.

Voilà, ... la caméra fait tout le tour de la lune en 2 minutes. Mais, pour l’instant, la lune n’est pas animée, elle ne bouge pas. Dans le monde réel, la lune tourne autour de la terre en lui présentant toujours la même face, sa face visible. Pour que le modèle virtuel corresponde à la réalité la lune doit présenter toujours la même face à la caméra. Pour simuler cette réalité, il suffit de lui faire faire un tour sur elle-même en 2 minutes.

J’ai choisi 5 images clefs pour animer la rotation de la lune sur elle-même, ce qui fait toutes les 30 secondes, pour les étapes de rotation suivantes, 0°, 90°, 180°, 270° et 359.9°.





Je sélectionne la lune et pour chaque image clef, je défini l’angle de rotation.



Maintenant, la lune montre toujours la même face à la caméra. Le travail de construction des mouvements de tous les objets de la scène est terminé.

En résumé : Les étoiles et le soleil sont fixe, sans mouvement dans la scène. La lune fait un tour sur elle-même. La caméra fait un tour autour de la lune. L’animation durera 2 minutes.

A droite de la ligne de temps, il y a un bouton pour le rendu de l’animation. Je vais commencer par définir les options de rendu d’animation.



Lorsque je clique sur ce bouton, une fenêtre s’ouvre et me présente les options de rendu d’animation. Je constate immédiatement que « Vue » a repris les valeurs que j’avais précédemment donné lors de mon rendu d’image de test. Je retrouve une qualité prédéfinie sur « Ultra » et une résolution d’images sur « 1920 x 1080 » en « Full HD ». Je constate également qu’il me propose du 25 images par seconde. Les réglages proposés par défaut sont ceux que j’attendais.



Je clique sur le bouton « Parcourir » du canal de couleur pour fixer l’emplacement et le nom des fichiers d’images de mon animation.





Tout est prêt, je peux lancer le calcul de mon animation.



Il m’a fallu 4 jours, 24h/24 pour calculer les 3000 images. C'est beaucoup de patience.



Les 3000 images du film sont calculées, il me faut les assembler, inclure le fond sonore, des titres, etc. Faire du montage vidéo. N’importe quel logiciel dédié au montage vidéo peut faire ce travail.

Moi, j’ai l’habitude de travailler avec « Vegas Pro ». Je ne vais pas décrire, ici, toutes les opérations qui mènent au film.





Et enfin, avec beaucoup de persévérance, voici le résultat final.