Améliorations de l’animation : les trajectoires de caméra sont désormais plus fluides que jamais !
Chez Mapcreator, nous travaillons en permanence à mettre à jour et à améliorer notre outil. Lorsque nous avons lancé la fonctionnalité d’animation fin 2022, nous étions extrêmement fiers ! Mais même les parents les plus fiers doivent reconnaître qu’il y a toujours place à l’amélioration. Et le moment est venu ! Même si les animations pouvaient être créées en quelques clics seulement, il arrivait que de petites pauses ou saccades apparaissent dans la transition entre les images clés. Dites adieu à ces irrégularités : les trajectoires de caméra ont bénéficié d’une véritable mise à niveau, et nous aimerions vous montrer ce que cela change pour nos utilisateurs !
Vous trouverez ci-dessous quelques comparaisons avant/après réelles de nos animations. Pour chaque exemple, nous vous expliquerons brièvement ce qui a été amélioré exactement.
Exemple 1 :
Dans cette animation, vous voyez un zoom sur Denver, dans le Colorado aux États-Unis, avec 3 images clés intermédiaires. Comme vous pouvez le constater dans les vidéos avant/après ci-dessous, la nouvelle version est plus fluide, tant dans la trajectoire de la caméra que dans les variations de vitesse.
Exemple 2 :
Cette animation se compose d’un trajet entre trois lieux à Rotterdam, aux Pays-Bas, avec des niveaux de zoom, des rotations et une inclinaison variables. Dans la vidéo « avant », la caméra effectue un mouvement peu naturel autour de la deuxième image clé ; grâce à nos nouvelles améliorations, vous pouvez voir que le rendu est désormais parfaitement fluide.
Exemple 3 :
Comme le montre cet exemple, les utilisateurs peuvent désormais créer facilement un survol parabolique de la caméra en définissant simplement 3 images clés. Cette animation emmène les spectateurs de Rotterdam à une vue dézoomée des Pays-Bas, puis zoome sur Eindhoven. La version précédente générait deux mouvements en ligne droite avec un arrêt entre les deux, au lieu d’une courbe fluide en forme de parabole.
Comment notre équipe a-t-elle réussi cela ?
Au premier abord, calculer une trajectoire de caméra fluide peut sembler être un problème très complexe. Une caméra peut effectuer un panoramique sur le monde et zoomer ou dézoomer ; elle peut aussi pivoter et s’incliner pour observer la carte sous différents angles. Tous ces changements doivent se produire de manière fluide et sans rupture, à partir d’une simple série d’images clés définies par l’utilisateur.
Face à une tâche complexe comme celle-ci, un développeur peut la découper en plusieurs tâches plus simples. Dans ce cas, c’est même très facile à faire. Pour définir complètement la position d’une caméra, nous n’avons en réalité besoin que de cinq nombres :
1. La latitude et la longitude définissent l’emplacement de la caméra sur la Terre ;
2. Le zoom définit à quelle distance du sol se trouve la caméra ;
3. Les angles de rotation et d’inclinaison définissent la direction du regard de la caméra.
Vous pouvez voir ces cinq valeurs dans la barre supérieure de l’outil Mapcreator ; elles changent même en temps réel lorsque vous déplacez la carte.
Il s’avère que, pour obtenir un mouvement de caméra fluide, il suffit d’animer (c’est-à-dire d’interpoler) chacun de ces paramètres séparément. C’est beaucoup plus simple ! L’interpolation d’un seul nombre est un problème mathématique bien étudié ; il existe de nombreuses solutions adaptées à différents besoins. Si le sujet vous intéresse, consultez cette page, qui présente différents types d’interpolations possibles à partir d’un même ensemble de points. Après plusieurs essais, nous avons choisi cet algorithme comme l’interpolation la plus adaptée à nos besoins. Il s’agit d’une variante d’un algorithme plus connu, le cubic spline, qui produit des courbes plus prévisibles visuellement que la version originale.
Cependant, cela ne suffit pas encore pour obtenir un résultat vraiment remarquable : un autre problème apparaît rapidement. Avez-vous déjà remarqué que, lorsque vous regardez par le hublot d’un avion, le sol semble se déplacer très lentement alors même que vous volez à grande vitesse ? C’est tout simplement parce que le sol est très éloigné. Si vous pouviez voler à la même vitesse près du sol, tout défilerait tellement vite que vous ne verriez plus rien ! Malheureusement, notre caméra est soumise au même effet : si nous la faisons zoomer et dézoomer très rapidement, nous obtenons des variations de vitesse perçue très brusques et peu naturelles, même si, techniquement, sa vitesse reste constante.
Pour résoudre cela, nous avons développé un calcul ingénieux permettant d’ajuster la vitesse de la caméra lorsqu’elle zoome ou dézoome. Plus la caméra est proche du sol, plus elle doit ralentir, et inversement. Nous avons même poussé l’optimisation plus loin pour rendre ces corrections entièrement automatiques et transparentes pour l’utilisateur. Vous ne remarquerez probablement jamais qu’elles sont là : tout fonctionnera simplement comme prévu, et la caméra se déplacera exactement comme vous vous y attendez intuitivement.
Il ne nous restait alors plus qu’à assembler tous ces éléments, et le résultat est là : un mouvement de caméra fluide et naturel, calculé automatiquement à partir d’un simple ensemble d’images clés.
Essayez par vous-même !
Que devez-vous faire pour l’essayer ? Il vous suffit d’ouvrir la fonctionnalité d’animation ! Depuis la dernière mise à jour, toutes vos futures animations cartographiques ainsi que vos anciens projets que vous pouvez rouvrir bénéficieront d’une fluidité nouvelle dans les transitions. Nous avons hâte de découvrir ce que vous allez créer et à quel point vos animations cartographiques seront map-nifiques !