course-poursuite

Animation d'une course poursuite En développement

Damien Monteillard | Pierre Fontaine | Jules Violon | Kurt Bailey | Creative Commons BY-NC-SA

Reprise d'un ancien dossier où j'avai préparé tout un ensemble d'assets pour une animation d'une minute, débutée il y a 4 ans.
Au moins 1 mois de travail sans le terminer. Dommage non ?
Pierre Fontaine alias 'blenderman' m'avait aidé sur l'organisation des assets et le scénario.
Jules Violon, étudiant à l'école d'animation de Valence a passé 15 jours de stage pour se former sur l'animation 3D sur cette course poursuite.

Scénario

Fichier pdf du scénario
Fichier markdown du scénario

Mise en scène


Blocking test

Onomatopée

Idée

Développer la génération d'Onomatopées qui suivent le phare drône.
Principe de boucle infinie sans clé d'animation. En temps réel.
L'avantage de cette technique, permet aussi de gérer la décélération et l'accélération.

Cahier des charges

  • Créer le texte avec un modifier Array
  • Utiliser la déformation suivant une courbe avec un modifier
  • Faire suivre 6 os le long de cette courbe.
  • Utiliser l'extension Wiggle 2 RTX pour déformer dynamiquement les onomatopée
  • Concept de boucle infinie

Concept de boucle infinie

Créer un concept de mouvement d'objet en boucle infinie pour faire défiler le texte. Concept que je pourrais réutiliser pour le tunnel

J'ai passé beaucoup de temps (5 jours) pour tester des solutions avec même un rig (voir demo video ci-dessous), mais elle était trop complexe. Il faut faire simple !

Expérimentations pour avoir cette boucle infinie en temps réel

Puis j'ai décidé d'utiliser l'IA pour voir

Il faut bien reconnaitre que dans ce genre de situation, elle peut être très utile et intéressante. Est-elle créative réellement ?

Donc elle a sorti un algorithme avec un modulo seulement, c'est juste des mathématiques, mais utilisé dans ce contexte !

Il ne faut surtout pas oublier que ce qu'elle me pond en quelques secondes, à partir du prompt que j'ai méticuleusement préparé, elle l'a pioché chez un développeur, un Vrai humain.

Tout l'honneur est donc donné à ce développeur, qui a détourné le modulo pour faire ce genre de boucle. Expression tellement KISS (Keep It Simple and Stupid).

Qui est ce développeur ? Personne ne le sait au final. C'est ce qui me déplait réellement.

En utilisant une IA, je trouve qu'il n'y a aucune reconnaissance de celui qui a créé ce développement pour la première fois.

L'IA devrait donner ses sources (Comme une licence) pour un meilleure éthique. Avec le respect de l'humain lui-même.

Je vais donc détailler l'algorithme (Méthodes numériques) utilisé pour mon cas de mouvement infini en boucle.

J'espère à l'avenir ne plus avoir besoin d'IA, et faire travailler mes méninges, au lieu d'être assisté ! ...


Algorithme

Création d'une armature avec un os Ctrl_main

La longueur de la portion (Objet Onomatopée) sans l'array fait 3.33208 m

Objet Portion qui possède un driver en déplacement Y avec l'expression (1) qui utilise le Modulo

CtrlY = Y Location en Local Space

Step = 3.33208

(1) Expression

CtrlY % Step

Expression du driver

fmod(CtrlY, 3.33208)

Principe de l'algorithme

Si Ctrl_main.y fait 3.33208 alors Portion.y = 0 (réinitialisation)

Si Ctrl_main.y fait 4.83208 alors Portion.y = 1.16792 ; donc la portion se déplace en y de 1.16792

Si Ctrl_main.y fait 6.664 alors Portion.y = 3.33192 ; donc la portion se déplace en y de 3.33192

Et enfin quand Ctrl_main.y atteind le double de 3.33208 (6.66416) alors Portion.y = 0 (réinitialisation)


3.33208 % 3.33208 = 0
4.83208 % 3.33208 = 1.16792
6.66400 % 3.33208 = 3.33192
6.66416 % 3.33208 = 0 (Réinitialisation à 0)
...

Démonstration de la génération d'Onomatopée "Wiiiuuu..." sans clé d'animation

Flou de mouvement

Je note que le flou de mouvement a un comportement bizarre entre une animation avec ou sans armature.

Voir la documentation du motion blur de Cycles

Le temps de calcul d'une scène avec Motion Blur Shutter 0.5 avec un modifier Armature est extrêmement long.
Il faut 0.12 pour pouvoior avoir un flou de mouvement, mais le flou de mouvement (Très différent du flou sans armature) se comporte comme sur cet exemple. Le temps de calcul est limite exponentiel ou impossible à calculer.
Je suis obligé de faire un Xkill après avoir arrêté le calcul du rendu.
Comme en indique le Warning de la documentation. le flou de mouvement ne fonctionne pas correctement.
Je remarque également que le flou de mouvement ne fonctionne pas bien dans une scène Library Override.

J'essaierai de comprendre comment fonctionne le flou de mouvement Cycles dans le code de blender.


Flou de mouvement sur les roues du bolide

Voici un rendu Cycles de flou de mouvement correct (Sans le modifier Armature donc).

Une capture vidéo du Motion blur avec Eevee. Les roues ne sont pas parentée directement à l'armature.


Flou de mouvement sur le tunnel

Avec le nouveau concept de la boucle infinie, je peux avoir un joli flou de mouvement avec Cycles

Je constate tout de même les 4 tuyaux accroché en l'air qui non pas de flou. Pourquoi ?

Et aussi Un artefact chromatique sur le flou des spots au sol

Extrême flou de mouvement avec Cycles du tunnel

Le flou de mouvement sur l'image ci-dessus de tunnel courbé, est calculé avec un shutter speed de 0.10

Si j'augmente le Shutter speed à 0.5 Le moteur de rendu plante au calcul

Donc celà provient sûrement du Modifier Curve ou bien de l'Armature qui pilote les Empty utilisé en Hook pour déformer la courbe, car je n'ai pas ce problème quand le tunnel n'est pas déformé

Je pense que le nouveau modifier Array, n'impacte pas le Motion Blur. Hypothèse à vérifier...

Je constate donc qu'il serait interessant de contribuer à la documentation de blender sur le Motion blur Cycles

Afin d'indiquer que Curve ou Armature Modifier et pourquoi pas indiquer qu'avec les nouveaux modifier (GN Array, ...) le flou de mouvement fonctionne bien.

On constate aussi très bien l'artefact chromatique sur des spots au sol. Je dois trouver d'où provient cette abération chromatique...

Reprise des assets

1. Le Bolide

2. Le pilote (Un vautour)

3. Le tunnel

Infinite loop simple avec un driver et un modulo à intégrer afin d'avoir un meilleur flou de mouvement

4. Hoverbike H2

Modélisation d'un profil d'hélice avec des surfaces Nurbs.

5. Phares drones

Idée de Kurt Bailey

6. Le chauffeur de l'hoverbike (Un Crocodile)

Textures, pieds du Gavial à revoir