Blender camera autour un objet suivant un chemin spirale
Dans ce tutoriel en français pour Blender (réalisé dans Blender 2.93), nous expliquons comment orbiter une Camera autour d'un objet en suivant un chemin en spirale, quels problèmes peuvent survenir et les solutions possibles.
Habituellement, pour présenter un produit ou un artefact, il peut suffire de faire tourner la Camera autour de l'objet en suivant une orbite circulaire, mais parfois il peut être nécessaire de montrer également sa partie supérieure et inférieure; de plus, un chemin en spirale bien fait peut donner l'illusion que l'objet est plus grand et plus majestueux, ajoutant de l' "épopée" à l'animation.
Nous proposons deux solutions pour simuler un comportement en spirale : la première utilisant une vraie spirale, examinant également le cas problématique d'un objet haut et étroit, la seconde essayant de n'utiliser qu'un objet Empty pour déplacer la Camera.
Trajectoire en spirale d'une Camera le long d'une courbe en forme de spirale :
Nous créons un nouveau projet, supprimons le cube présent (en le sélectionnant avec le bouton gauche de la souris et en appuyant sur la touche "X"), et créons l'objet Suzanne à sa place, en appuyant sur les touches SHIFT+A (ou en partant du sous-menu "Add" ) et en choisissant "Mesh > Monkey".
Dans Edit > Preferences, dans l'onglet "Add-ons", nous activons l'add-on "Add Curve: Extra Objects"
Toujours avec les touches SHIFT+A on ajoute la courbe en spirale avec "Curve > Curve Spirals > Archemedian" (la spirale d'Archimède)
dans la boîte de dialogue en bas à gauche
nous entrons les paramètres de notre spirale
"Spiral Parameters":
"Turn": 1, nous faisons un seul tour de la Camera autour de l'objet
"Steps": 200, nous choisissons un nombre de segments suffisamment grand pour créer la courbe la plus douce possible
"Archemedian Settings":
"Radius": 5.1, il doit être assez large pour pouvoir voir l'objet d'une certaine distance, mais nous avons choisi le rayon aussi assez petit pour pouvoir voir les détails
"Height": 6.6, la spirale doit se développer le long d'une hauteur beaucoup plus grande de l'objet, afin de voir clairement sa partie supérieure et inférieure
Rotation:
Z : -90°, commençons la spirale devant "Suzanne" et laissons la finir devant elle
Appuyez sur la touche TAB pour passer en Object Mode, appuyez sur les touches G puis Z, écrivez -3.403 et appuyez sur la touche ENTER pour déplacer la spirale sélectionnée vers le bas. Nous l'obtenons comme ça
La Camera doit partir du point le plus bas de la spirale, positionnons-la donc dessus à l'aide du 3D Cursor; déplacez d'abord le 3D Cursor jusqu'à ce point : sélectionnez la courbe en spirale, appuyez sur la touche TAB pour revenir au "Edit Mode" et sélectionnez le premier point de la spirale en cliquant dessus avec le bouton gauche,
nous déplaçons le 3D Cursor dessus, en appuyant sur les touches SHIFT+S et en choisissant l'option "Cursor to Selected"
obtenir
Déplaçons maintenant la Camera vers le 3D Cursor : appuyez sur la touche TAB et revenez en Object Mode, sélectionnez la Camera, appuyez sur SHIFT+S mais cette fois sélectionnez l'option "Selection to Cursor"
et on obtient
Pour que la Camera parcoure le chemin de la spirale, sélectionnez d'abord la Camera, puis la spirale et appuyez sur CTRL+P, en choisissant l'option "Follow Path"
Maintenant la Camera suit le chemin de la spirale cependant, si nous commençons l'animation en appuyant sur la BARRE D'ESPACE, nous remarquons que la Camera ne regarde pas la tête du singe.
Nous pourrions utiliser l'objet Suzanne comme objectif de la Camera, mais créons plutôt un objet Empty, car il pourrait éventuellement nous aider à mieux positionner le plan pendant l'animation.
En Object Mode, nous appuyons sur les touches SHIFT+C, pour ramener le 3D Cursor au centre des axes, où se trouve également l'origine de l'objet Suzanne, et créons l'objet Empty avec Add > Empty > Plain Axes
Nous sélectionnons la Camera et dans les "Object Constraint Properties", de la "Properties Window" à droite, nous créons une contrainte "Track To", avec l'objet Empty comme cible; la Camera pointera maintenant vers lui.
L'animation totale fait 250 frames de long, pour s'assurer que le chemin de la Camera le long de la spirale coïncide avec la durée totale de l'animation, nous sélectionnons la spirale et cliquons sur l'onglet "Object Data Properties" en l'insérant dans "Path Animation > Frames" la valeur 250.
À la fin, nous pouvons créer l'animation, dans notre cas, nous avons juste besoin d'un simple preview, puis nous appuyons sur 0 sur le pavé numérique, ce qui nous amène à la vue Camera
et sélectionnez View > Viewport Render Animation
et à la fin du traitement rapide, nous obtenons
Trajectoire en spirale d'une Camera autour d'un objet grand et étroit:
Un problème peut survenir lorsque vous souhaitez filmer des objets hauts et étroits, comme un gratte-ciel (environ 23 mètres de haut et 2 de large, mesures ne correspondant pas à la réalité, mais ce n'est qu'un exemple)
(les couleurs de la porte et des fenêtres, nous pouvons les voir car a été défini le mode "Material Preview")
encore une fois, nous créons une courbe en spirale avec "Add > Curve > Curve Spirals > Archemedian", avec des valeurs telles que pour l'adapter au nouvel objet :
Tours: 2
Steps: 300
Radius: 5.1
Height: 14.0
Rotation Z: -90°
puisque les bâtiments sont généralement vus de la base, et non d'en bas, nous ne déplaçons pas la spirale vers le bas.
Nous procédons comme avant : nous déplaçons la Camera au premier point de la spirale, en nous aidant comme auparavant avec le 3D Cursor, nous relions la Camera à la spirale pour qu'elle suive le chemin avec CTRL+P, nous déplaçons le 3D Cursor vers l'origine des axes (la base du bâtiment) avec SHIFT+C et créez un objet Empty, sélectionnez la Camera et tournez-la vers l'Empty avec une contrainte TrackTo, dans les propriétés de la courbe dans Path Animation > Frames nous écrivons 250 frames (en nombre égal à celui de l'animation totale).
Cependant, la position de l'Empty à la base de l'objet cible n'est pas satisfaisante, car vers la fin de l'animation on ne voit plus le haut du bâtiment
De plus, la Camera est trop inclinée
Si nous déplaçons plutôt l'objet Empty au milieu du gratte-ciel
La vue à la fin de l'animation s'est améliorée (pas de beaucoup)
alors que la vue au début de l'animation est bien pire
Une solution pourrait être de faire monter la Camera et l'objet Empty en même temps
Sélectionnez ensuite l'objet Empty et appuyez sur la touche "I" pour créer un keyframe au frame 0 (ou 1) sur la Timeline, en sélectionnant l'option "Location"
(pour vous déplacer sur la Timeline, faites simplement glisser le curseur bleu ou écrivez le numéro de le frame dans la zone de saisie appropriée)
lorsque la Camera est au dessus du toit, plus ou moins au frame 193, on déplace l'objet Empty au début du toit (ce qui correspond à 21 mètres, les mesures ne sont pas les vraies d'un bâtiment, mais celles du modèle créé par exemple) et créez une autre keyframe avec l'option "Location"
nous appuyons sur la touche zéro du pavé numérique, pour nous amener à la vue Camera, redémarrez l'animation de la Viewport avec View > Viewport Render Animation et affichez
dans lequel vous pouvez voir que la Camera est suivie par l'objet Empty jusqu'en haut, puis cela arrête de permettre à la Camera de le prendre d'en haut et de faire une vue d'ensemble du toit
Chemin en spirale d'une Camera, mais en utilisant uniquement un objet Empty :
Essayons de simplifier la procédure en utilisant uniquement un objet Empty, en éliminant la courbe en spirale ; en fait, un chemin en spirale n'est rien de plus qu'un chemin circulaire qui se développe en hauteur avec le temps.
Si on réexamine l'exemple ci-dessus avec l'objet Suzanne, on observe que la Camera a pivoté vers le haut d'un angle total de 66 degrés, de -33° à+33°, tout en faisant un parcours complet de 360° autour de l'objet.
Commençons donc à zéro avec la nouvelle procédure.
Commençons par une scène contenant uniquement l'objet Suzanne et la Camera.
en utilisant le panneau de droite (appelé en appuyant sur la touche "N") on déplace la Camera devant l'objet
en appuyant sur les touches SHIFT+C, nous déplaçons le 3D Cursor au centre, nous créons un objet Empty avec Add > Empty > Plain Axes, sélectionnez Camera et objet Empty (en maintenant la touche SHIFT enfoncée), appuyez sur CTRL+P (pour faire de la Camera l'enfant de l'objet Empty) en sélectionnant l'option "Objet" (donc, en déplaçant et en faisant pivoter l'objet Empty, la Camera orbitera autour de l'objet Suzanne)
nous sélectionnons uniquement l'objet Empty et l'inclinons de -33°
on rapproche ou éloigne la Camera pour obtenir un premier plan similaire à celui de l'exemple précédent
nous passons au frame zéro sur la Timeline, sélectionnez uniquement l'objet Empty et appuyez sur la touche "I" pour ajouter un keyframe de type "Rotation".
Passons au frame 125 sur la Timeline et, en écrivant sur "Rotation" dans le panneau de droite, nous faisons pivoter l'Empty autour de l'axe X de 33°, jusqu'à ce que la Rotation X soit ramenée à 0°, et autour de l'axe Z de 180° (Rotation Z : 180°) ; en appuyant sur la touche "I", nous ajoutons une autre keyframe avec l'option "Rotation".
passons au frame finale 250, tournons autour de l'axe X de 33° supplémentaires (Rotation X : -33°) et autour de l'axe Z de 180° supplémentaires (Rotation Z : 360°) ; appuyez sur la touche "I" et ajoutez une autre keyframe avec l'option "Rotation".
si nous allons dans la vue Camera, en appuyant sur la touche zéro du pavé numérique et commençons l'animation dans la Viewport avec View > Viewport Render Animation, nous obtiendrons une animation similaire à celle créée à l'aide de la courbe en spirale.
Trajectoire en spirale d'une Camera autour d'un objet haut et étroit, en utilisant uniquement un objet Empty :
Une procédure similaire est utilisée avec un objet grand et étroit, tel que le gratte-ciel ci-dessus.
Créons une scène avec le gratte-ciel et la Camera, plaçons la Camera devant le bâtiment, en écrivant les valeurs relatives dans le panneau de droite comme dans les autres méthodes
comme précédemment, on appuie sur les touches SHIFT+C pour placer le 3D Cursor à l'origine, on crée un objet Empty (Plain Axes), on sélectionne d'abord la Camera puis l'Empty, puis on les relie en appuyant sur CTRL+P et option "Object"
Nous sélectionnons uniquement l'objet Empty. Dans le frame 0, nous créons un keyframe pour la rotation et pour la position, en appuyant sur la touche "I" avec l'option "Location & Rotation"
Puisque la spirale enveloppait l'objet de deux tours, nous devons faire pivoter l'objet Empty de 720° autour de l'axe Z; de plus, le Empty doit se déplacer de la base vers le toit et, peu avant d'être atteint, il doit commencer à tourner autour de son axe X (celui perpendiculaire à la droite joignant la Camera), afin que la Camera crée un vue panoramique du toit.
On sélectionne donc l'objet Empty, on se positionne au frame 250, on écrit 720° dans Rotation > Z dans le panneau de droite et on crée un keyframe pour la rotation (touche "I" et option "Rotation")
Avant, à l'aide de la spirale, l'objet Empty s'est déplacé jusqu'à 21 mètres verticalement, s'arrêtant au frame 193. On répète cette opération : on se positionne sur le frame 193 de la Timeline, on écrit 21 dans "Location > Z", on appuie sur le « I » clé pour créer un keyframe avec l'option "Location"
Nous commençons à faire pivoter le Empty un peu avant d'atteindre le toit, pour donner plus de continuité à l'animation, à partir de le frame 187. A ce stade les degrés de rotation autour de l'axe X doivent être égaux à zéro (et l'interpolation de son animation doit commençons à ce stade, alors qu'il continue cela autour de l'axe Z et le mouvement le long de l'axe Z), puis nous définissons une autre keyframe pour la rotation (nous appuyons sur la touche "I" pour créer un keyframe avec l'option "Rotation")
à la fin passons au frame 250, dernière frame de notre animation, et insérons une valeur pour Rotation X : - 54,4°, ce qui correspond à peu près à l'angle avec lequel l'objet Empty a vu la Camera, quand c'était au maximum haut de la spirale
Dans l'autre exemple, la spirale s'est poursuivie bien au-delà du toit, éloignant ainsi la Camera de l'objet Empty, à cause de cela, nous devons augmenter la distance entre Empty et Camera dans la dernière partie.
Nous sélectionnons la Camera et fixons 2 keyframe, un au frame 183, avec y : -5,1 m
et un au frame 250 avec y : -8,6
appuyez sur la touche 0 du pavé numérique pour passer en vue Camera, démarrez l'animation de la Viewport avec View > Viewport Render Animation et on obtient un résultat similaire à l'exemple avec la spirale
Utiliser uniquement l'objet Empty, en faisant plus de calculs au lieu de créer la spirale, peut sembler plus simple, mais on pourrait aussi se retrouver dans un cas plus compliqué que ceux présentés. Une solution peut donc être utilisée à la place d'une autre selon la situation à laquelle nous sommes confrontés.
Finalement, les animations peuvent être améliorées, en agissant sur les poignées des courbes dans le Graph Editor, pour rendre le mouvement plus uniforme ou pour modifier son accélération.
C'est tout pour ce tutoriel, un souhait pour une bonne présentation de vos travaux à l'aide d'une Camera qui suit un chemin en spirale. Happy blending!