Animation d'une course poursuite En développement
Damien Monteillard | Pierre Fontaine | Jules Violon | Kurt Bailey | Creative Commons BY-NC-SA
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.
Blocking test
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.
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é ! ...
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
CtrlY % Step
Expression du driver
fmod(CtrlY, 3.33208)
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
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.
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.
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...
Infinite loop simple avec un driver et un modulo à intégrer afin d'avoir un meilleur flou de mouvement
Modélisation d'un profil d'hélice avec des surfaces Nurbs.
Idée de Kurt Bailey
Textures, pieds du Gavial à revoir