Dans ce tutoriel de modélisation réalisé avec Blender 4.3, nous allons voir comment modéliser une chaîne qui suit le chemin et la longueur définis par un objet Curve.



Transcription de la vidéo

Bonjour à tous ! Dans ce tutoriel de modélisation réalisé avec Blender 4.3, nous allons voir comment modéliser une chaîne qui suit le chemin et la longueur définis par un objet Curve. Plus généralement, grâce à la technique présentée ici, on peut modéliser et animer des objets qui se répliquent automatiquement le long de n’importe quel chemin.

Pour commencer, je crée le premier maillon de la chaîne. Il existe plusieurs façons de créer ce type d’objet. Je pars d’un Torus, dont je réduis le nombre de sommets car la valeur par défaut est bien trop élevée. Je fais pivoter l’anneau pour que deux Edge Loops soient alignées selon l’axe Y, puis j’ajoute deux autres Edge Loops au centre, toujours selon l’axe Y, à l’aide de l’outil Loop Cut, et je déplace toute la moitié droite vers l’axe X. Cela me donne la forme de base du maillon. Toujours en mode Edit, je repositionne l’objet au centre de la scène, de manière à ce que l’Origin se trouve au centre de l’objet.

Avant de poursuivre le tutoriel, je voudrais souligner qu’il est très facile de redimensionner les Edge Rings qui composent le maillon. Il suffit de passer en mode de sélection des arêtes dans Edit Mode pour en sélectionner un, de changer l’orientation de transformation en Individual Origins, de sélectionner tous les Edge Rings avec Select Edge Rings, et de mettre l’ensemble à l’échelle. Cette transformation peut aussi être appliquée une fois la chaîne terminée, afin d’en modifier l’apparence. Une fois terminé, je remets l’orientation sur Median Point, par précaution.

J’ajoute maintenant une courbe à la scène. Il existe différents types d’objets Curve, dont un appelé Path. Cependant, Path est un objet Nurbs qui fonctionne avec des points de contrôle externes et un système de pondération. Je préfère donc utiliser un objet Bezier Curve, que je redimensionne et oriente correctement, afin que l’un de ses points de contrôle initiaux coïncide avec l’Origin du maillon.

Je sélectionne ensuite le maillon de la chaîne et j’ajoute un modificateur Array. Par défaut, il crée une copie dupliquée décalée d’une unité sur l’axe X. Je remarque immédiatement que la nouvelle copie n’est pas alignée avec l’objet original. C’est parce que j’avais initialement fait pivoter le Torus de 10 degrés, et cette transformation est également appliquée aux nouveaux objets générés par le modificateur Array. Pour corriger cela, j’applique la transformation de rotation en appuyant sur CTRL A et en choisissant Rotation and Scale dans le menu qui s’affiche à l’écran. L’échelle de cet objet étant uniforme, car je n’avais pas redimensionné le Torus en Object Mode, je n’avais techniquement pas besoin d’appliquer Scale, mais ce n’est pas très important.

Pour positionner le deuxième maillon à l’intérieur du premier, il suffit de réduire la valeur de Factor X dans les paramètres de Relative Offset. Cependant, cela pose un problème : dans les paramètres d’Array, il n’est pas possible de définir un facteur de rotation, donc les maillons suivants ne peuvent pas être tournés à partir de là.

Pour corriger ce problème, je dois ajouter un troisième objet à la scène, cette fois un Empty, que je place exactement à l’endroit de l’Origin du premier maillon, en veillant à ne pas le redimensionner pour éviter tout problème. Ensuite, j’assigne cet Empty au champ Object Offset du modificateur Array. Maintenant, en faisant pivoter l’Empty de 90 degrés autour de l’axe X, tous les éléments après le premier seront également tournés de 90 degrés. Ainsi, Relative Offset et Object Offset sont tous deux actifs : le premier déplace les copies du maillon, tandis que le second les fait pivoter. En augmentant la valeur de Count dans le modificateur Array, on obtient notre chaîne le long de l’axe X.

Je change maintenant le Fit Type du modificateur Array, en passant de Fixed Count à Fit Curve, et bien sûr j’assigne la Bezier Curve comme objet Curve à utiliser pour la longueur. De cette façon, le modificateur Array crée automatiquement le nombre de maillons nécessaire pour correspondre à la longueur de l’objet Curve, mais toujours en ligne droite, du premier point de contrôle au dernier.

Pour faire en sorte que les copies créées par l’Array suivent le chemin de la courbe, j’ajoute un modificateur Curve à l’objet Torus. L’ordre des modificateurs est important, et en particulier, le modificateur Curve doit venir après le modificateur Array. Pourtant, même si l’axe de déformation correct est sélectionné, à savoir l’axe X, le résultat n’est pas encore satisfaisant. Voyons maintenant quelques réglages à corriger pour résoudre ce comportement.

Tout d’abord, l’Origin de l’objet Curve se trouve quelque part à l’extérieur de la courbe elle-même. Pour un bon résultat, l’Origin devrait être placé sur le premier point de contrôle, lequel doit correspondre à l’Origin du premier maillon de la chaîne. Je passe donc en Edit Mode et je place le 3D Cursor sur le premier point de contrôle de la courbe en le sélectionnant, puis en utilisant l’outil Cursor to Selected. Ensuite, je reviens en Object Mode et j’utilise l’outil Origin to 3D Cursor pour placer l’Origin de l’objet Curve à cet endroit.

C’est déjà mieux, mais on voit immédiatement que le premier maillon a en réalité été placé au dernier point de contrôle, et que la chaîne continue à partir de là, en dehors du chemin de la courbe. Cela nous donne un indice sur un autre problème à corriger : la direction de la courbe. Les objets Curve ont une direction, que l’on peut visualiser en Edit Mode en activant l’affichage des Normals dans le menu Curve Edit Mode Overlays.

Pour inverser la direction de la courbe, en échangeant les points de départ et d’arrivée, il faut sélectionner tous les éléments de la courbe en Edit Mode et utiliser l’outil Switch Direction dans le menu Segments. Cependant, le résultat n’est toujours pas correct.

La dernière correction à apporter concerne la rotation de la courbe. Je l’avais initialement tournée de 180 degrés sur l’axe Y pour l’inverser, ce qui provoque une confusion dans son orientation réelle. Pour corriger cela, j’applique la transformation de rotation avec CTRL A et Apply Rotation. Même si le facteur d’échelle de la courbe n’est pas égal à 1, cette fois je n’applique pas les transformations d’échelle, car cela impliquerait d’ajuster aussi d’autres paramètres. Il vaut mieux la laisser telle quelle. Quoi qu’il en soit, nous avons maintenant le bon résultat.

Nous pouvons maintenant sélectionner l’objet Curve, passer en Edit Mode et modifier ses points de contrôle en les déplaçant, les faisant pivoter ou en les extrudant, pour voir comment ces transformations sont appliquées à la chaîne. Le nombre de maillons dans la chaîne change automatiquement en fonction de la longueur de la courbe, qui se met à jour lorsqu’on déplace ou extrude ses points de contrôle.

Cependant, si je déplace ne serait-ce qu’un seul des trois objets utilisés pour obtenir ce résultat, tout se casse. Une transformation de l’Empty affecte toutes les copies créées par le modificateur Array, tandis qu’un déplacement de l’objet Curve ou du Torus provoque un désalignement entre les deux objets, ce qui donne un résultat incorrect avec le modificateur Curve.

Pour résoudre ce problème, la solution la plus simple consiste à repositionner le premier point de contrôle de l’objet Curve, et donc le premier maillon de la chaîne, à l’emplacement de l’Empty, puis à faire du parentage en regroupant la Curve et le Torus sous l’Empty. Le parentage se fait par sélection multiple : l’objet sélectionné en dernier devient le parent des autres. Dans notre cas, l’Empty doit être sélectionné en dernier.

Une fois cela fait, il suffit de déplacer l’Empty pour positionner le point de départ de toute la chaîne. Ensuite, on peut sélectionner la Bezier Curve et repasser en Edit Mode pour modifier l’apparence de la chaîne.

Avant de conclure ce tutoriel, voici un petit bonus. Si vous souhaitez animer la courbe, vous pouvez relier des Empties supplémentaires à ses points de contrôle grâce à une technique appelée Hooking. Pour cela, sélectionnez un ou plusieurs points de contrôle en Edit Mode, puis utilisez l’outil Hook to New Object. Par exemple, ici je l’applique uniquement au dernier point de contrôle de l’objet Curve. L’objet créé est un nouvel Empty, que je renomme immédiatement Hook Empty pour éviter toute confusion. Cet objet n’a pas forcément besoin d’être parenté aux autres. Dans tous les cas, vous pouvez insérer des images clés d’animation pour ce nouvel objet et observer comment la chaîne s’anime.

Le Fit Type du modificateur Array était réglé sur Fit Curve, ce qui n’est peut-être pas idéal pour ce type d’animation. Je recommande donc d’essayer plutôt Fixed Count. Voilà, ce tutoriel est terminé ! J’espère qu’il vous a été utile. À la prochaine !

Rechercher dans les Tutoriels

Saisissez une expression ou plusieurs mots-clés séparés par des virgules.

Modèles 3D, tutoriels et ressources en infographie de Francesco Milanese. Les licences d’utilisation des modèles 3D peuvent être achetées sur les boutiques externes accessibles depuis leurs pages respectives, conformément aux conditions de licence applicables. Francesco Milanese — Numéro de TVA : 06321250877. Contact : info@francescomilanese.com


POLITIQUE GENERALE DE CONFIDENTIALITE ET D'UTILISATION DES COOKIES