Dans ce tutoriel, réalisé avec Blender version 3.3, nous allons voir comment créer l’animation de globules rouges se déplaçant à l’intérieur d’un vaisseau sanguin.


La version vidéo de ce tutoriel n’est actuellement pas disponible dans cette langue.


Transcription de la vidéo

Bonjour à tous.
Dans ce tutoriel, réalisé avec Blender version 3.3, nous allons voir comment créer l’animation de globules rouges se déplaçant à l’intérieur d’un vaisseau sanguin.

Dans ce tutoriel, nous apprendrons à modéliser le vaisseau sanguin et les globules rouges, à générer les globules rouges à l’aide d’un système de particules de type Emitter, et à les faire suivre le trajet du vaisseau sanguin à l’aide d’un Force Field.

Commençons par la modélisation du vaisseau sanguin dans une scène complètement vide.

Tout d’abord, dans une vue de dessus, de préférence orthographique, nous insérons une courbe Bezier, que nous modélisons en ajoutant et en déplaçant quelques points de contrôle en Edit Mode.

Cette courbe représente le trajet du vaisseau sanguin et, pour nos besoins, nous pouvons la conserver dans le plan 2D. C’est pour cette raison que je cadre la scène par le dessus, avec une vue orthographique.

Après avoir modélisé le trajet, nous revenons en Object Mode et insérons un Bezier Circle dans la scène. Celui-ci représentera le profil du trajet, que nous conserverons circulaire. Nous perturberons plus tard les parois internes du vaisseau à l’aide du modificateur Displace.

Pour définir le Bezier Circle comme profil de la Bezier Curve, que nous renommons d’ailleurs Vessel Path pour plus de clarté, nous devons sélectionner Vessel Path, ouvrir l’onglet Object Data dans l’éditeur Properties, puis accéder à Geometry, Bevel, Object et spécifier le Bezier Circle que nous venons de créer comme objet de Bevel.

Si le profil apparaît trop grand ou trop petit, nous pouvons le redimensionner simplement en mettant à l’échelle le Bezier Circle. Comme mentionné, il n’est pas nécessaire de modifier le profil du Bezier Circle en Edit Mode, car le profil circulaire fonctionne parfaitement.

Dans mon cas, le vaisseau sanguin apparaît invisible lorsqu’il est vu de l’intérieur. Cela est dû au fait que l’option Backface Culling est activée dans le menu Viewport Shading.

Cette option masque les faces dont les normales ne sont pas orientées vers la caméra. C’est une option qui peut être utile dans certains cas, mais pas dans celui-ci, je la désactive donc.

Faisons une copie du trajet avec SHIFT+D puis Enter, en l’appelant par exemple Path Copy, et masquons-la temporairement. Cette copie sera utile pour deux raisons :

  • par sécurité, comme copie du trajet, car nous allons bientôt le transformer de Curve en Mesh ;
  • et comme copie de la courbe originale afin de pouvoir l’utiliser plus tard comme trajectoire que les globules rouges suivront.

Le trajet doit être converti en Mesh, car cela nous permettra d’y appliquer un modificateur Displace, qui perturbera les parois du vaisseau sanguin et les rendra visuellement plus intéressantes.

La conversion peut être effectuée par un clic droit puis Convert To Mesh, mais je souhaite souligner quelque chose. Dans mon cas, les sommets du profil circulaire sont beaucoup plus denses que les segments qui composent le trajet.

Comme je préfère avoir des faces aussi carrées que possible, j’annule l’opération de conversion avec CTRL+Z en Object Mode, puis j’insère des points de contrôle intermédiaires là où les points de contrôle d’origine sont trop éloignés et ont des poignées trop longues, ce qui produit des faces rectangulaires.

Je procède ensuite à la conversion en Mesh, comme mentionné précédemment, par un clic droit puis Convert To Mesh.

Ensuite, j’ajoute un modificateur Displace à l’objet, en définissant spécifiquement une texture de type Clouds avec une échelle faible afin d’introduire de nombreuses déformations.

Cependant, l’effet est décevant. Cela est dû au fait que le maillage obtenu après la conversion n’est pas suffisamment dense, c’est-à-dire qu’il comporte peu de sommets et de faces à déformer. Pour résoudre ce problème, j’ajoute un modificateur Subdivision Surface à l’objet, avec au moins 2 subdivisions.

Le modificateur Subdivision Surface doit être placé au-dessus du modificateur Displace. L’ordre est important, car le maillage est d’abord subdivisé avec Subdivision Surface, puis perturbé avec Displace.

Modifions donc les valeurs de Size de la Texture et la valeur Strength du modificateur Displace jusqu’à obtenir un résultat qui nous satisfait. Si nécessaire, nous pouvons également essayer différentes textures pour Displace, ou ajouter un modificateur Smooth comme dernier modificateur de la pile, afin d’adoucir légèrement les perturbations et de finaliser la phase de modélisation du vaisseau sanguin.

Une fois ce travail terminé, attribuons un matériau au vaisseau sanguin. Dans mon cas, pour obtenir l’aspect que vous avez vu dans l’aperçu du tutoriel, j’utilise un matériau Velvet rouge, car ce matériau reflète la lumière d’une manière particulière. Le résultat, ici, n’a pas besoin d’être photoréaliste, donc un rendu plus doux et plus flou convient parfaitement.

Cependant, pour avoir un aperçu du résultat, nous devons d’abord effectuer deux opérations :

  • définir l’arrière-plan de l’univers virtuel sur noir depuis World, Background, RGB Color ;

  • et insérer au moins deux sources de lumière de type Point Light à l’intérieur du vaisseau sanguin.

L’insertion des Point Lights peut facilement se faire depuis une vue Top Ortho. Je suggère de placer les sources lumineuses à proximité des courbes et de n’en créer qu’une seule au départ, qui pourra ensuite être dupliquée avec ALT+D afin d’obtenir des copies liées, qui partageront les paramètres de la première. Cela peut être utile car, au début, nous ne connaîtrons pas l’intensité à donner aux sources lumineuses et nous devrons expérimenter, mais avec les copies liées, nous pourrons modifier l’intensité et la couleur d’une seule source et retrouver automatiquement les mêmes réglages sur les copies liées.

Placez une copie liée de la source lumineuse à l’entrée du vaisseau sanguin, sinon nos globules rouges seront trop sombres au début.

Nous pouvons visualiser un aperçu du rendu avec Z puis Rendered dans le 3D Viewport, ce qui nous permet d’ajuster les paramètres des lumières jusqu’à obtenir le résultat souhaité.

À ce stade, nous pouvons également insérer et positionner la caméra que nous utiliserons plus tard pour le rendu. Plus précisément, en Object Mode, insérez un objet Camera dans la scène avec SHIFT+A puis Camera, puis placez-vous dans le 3D Viewport afin de définir le cadrage initial de la séquence. Ouvrez ensuite la barre de recherche de Blender, qui dans mon cas est accessible avec la barre d’espace, et recherchez l’option Align Camera to View. Le raccourci correspondant est CTRL ALT NUMPAD 0.

Ajustez la position de la caméra et, si nécessaire, modifiez sa distance focale dans l’onglet Object Data, par exemple en diminuant sa valeur afin d’obtenir un cadrage plus large, de type grand angle.

Une fois la configuration des matériaux, des lumières et de la caméra terminée, repassez en mode d’affichage Solid de la scène 3D et déplacez-vous dans une zone vide pour modéliser le prototype du globule rouge.

Il existe plusieurs façons de modéliser cet objet, le choix est vaste. Dans mon cas, je crée une UV Sphere, que j’aplatis aux pôles. Ensuite, je supprime les sommets des pôles et je remplis les anneaux vides créés à l’aide de GRID FILL en Edit Mode.

Je réalise ces opérations parce que j’ai l’intention d’appliquer également un modificateur Displace au globule rouge. Toutefois, avant cela, je change le shading en Shaded en Object Mode, car le shading Flat par défaut est trop facetté.

Je poursuis la modélisation du globule rouge en l’aplatissant davantage près des pôles. J’effectue ces opérations en sélectionnant les sommets que je souhaite modifier, puis en les déplaçant ou en les mettant à l’échelle le long de l’axe Z, c’est-à-dire l’axe vertical, jusqu’à obtenir le résultat souhaité.

En ce qui concerne la déformation de la géométrie, effectuez les mêmes opérations que pour le vaisseau sanguin, c’est-à-dire ajouter et configurer les modificateurs Subdivision Surface et Displace, avec la différence que, cette fois-ci, une seule subdivision pour Subdivision Surface sera probablement suffisante.

Si les déformations introduites par Displace ne sont pas bien visibles, ou au contraire si elles sont trop fortes, même en faisant varier de manière significative le paramètre Size de la Texture, essayez d’appliquer les transformations d’échelle de l’objet avec CTRL+A puis Apply Scale, en particulier si vous redimensionnez l’objet. Cette remarque s’applique également au vaisseau sanguin.

Une fois la phase de modélisation terminée, attribuez un matériau à ce prototype de globule rouge. À ce stade, déplacez temporairement le globule rouge à l’intérieur du vaisseau sanguin, dans une zone bien éclairée, afin de prévisualiser l’effet final en mode Rendered.

Cette fois-ci, je choisis un matériau Principled BSDF avec une couleur rouge légèrement sombre et une valeur de Roughness d’environ 0.6, afin de fournir une réflexion spéculaire discrète sur l’objet.

Après cette étape, replacez le globule rouge à l’extérieur du vaisseau sanguin et revenez en mode Solid afin de vous concentrer sur la création du système de particules qui émettra les globules rouges.

Pour émettre des globules rouges en tant que particules d’un système de particules, nous avons d’abord besoin d’un objet émetteur.

Dans notre cas, un Plane convient parfaitement. Insérez-en donc un dans la scène et, surtout, orientez sa face supérieure vers l’entrée du vaisseau sanguin, car c’est dans cette direction que nous voulons émettre les globules rouges.

Pour associer un système de particules au Plane nouvellement créé, ouvrez l’onglet Particle Properties de l’objet et cliquez sur le bouton « + ».

Par défaut, le système de particules nouvellement créé sera de type Emitter, ce qui correspond à ce dont nous avons besoin.

Nous ne voulons pas créer trop de particules, mais nous voulons nous assurer qu’elles soient des copies du prototype de globule rouge, qu’elles aient une rotation aléatoire, qu’elles soient émises pendant toute la durée de l’animation et qu’elles soient présentes jusqu’à la fin de celle-ci.
Ce dernier point mérite une précision, car, comme nous le verrons, les particules ont une durée de vie que nous allons définir en conséquence.

En ce qui concerne le nombre de particules, nous ferons des tests en évaluant l’animation, mais pour l’instant, définissons la valeur à 100 dans le champ Number de l’onglet du système de particules.

Concernant la durée de l’animation, je laisse la valeur par défaut de Blender, soit 250 images, ce qui correspond à 10 secondes de séquence à 25 images par seconde. Nous pouvons donc définir :

  • Frame Start 0

  • End Frame 250

  • Lifetime 250

Pour faire en sorte que les nouvelles particules soient des instances du prototype de globule rouge, ouvrez l’onglet Render du système de particules et modifiez le champ Render As de Halo à Object, puis spécifiez le globule rouge comme Instance Object un peu plus bas.

À présent, en lançant l’animation, nous remarquerons plusieurs éléments à corriger sur les particules générées :

  • elles ont une taille inadaptée ;

  • elles tombent dans le vide ;

  • elles ont toutes la même orientation ;

  • elles ne sont pas projetées vers le vaisseau sanguin.

Nous allons résoudre tous ces problèmes un par un, en commençant par le plus simple, la suppression de la gravité.

Ouvrez l’onglet Field Weights du système de particules et définissez la valeur Gravity sur 0.0. Désormais, les particules ne tomberont plus dans le vide, comme nous pouvons le constater en nous plaçant à l’image 1 de la Timeline et en relançant l’animation.

La taille des particules peut être modifiée depuis l’onglet Render du système de particules en faisant varier le paramètre Scale. Je ne sais pas si les globules rouges peuvent avoir des tailles différentes, je laisse donc la valeur Scale Random, qui introduit des variations de taille aléatoires, à 0.0.

Notez que nous pouvons toujours modifier le prototype de globule rouge, aussi bien en Object Mode qu’en Edit Mode, et observer les changements également sur les particules, puisque celles-ci sont des instances de ce prototype.

Pour la rotation des particules, nous pouvons définir une rotation initiale aléatoire en activant d’abord la section Rotation du système de particules, puis en définissant une valeur supérieure à 0.0 dans le champ Randomize de cet onglet.

Nous pouvons observer la génération de particules orientées de manière aléatoire en revenant à la première image de la Timeline et en lançant l’animation.

Le dernier problème à résoudre consiste à faire se déplacer les particules le long du vaisseau sanguin.

Vous souvenez-vous de la copie du vaisseau sanguin, appelée Path Copy, de type Bezier Curve, masquée et superposée au vaisseau sanguin transformé en Mesh ? Eh bien, il est temps de l’utiliser comme trajectoire pour les particules.

Sélectionnez Path Copy, ouvrez l’onglet Physics dans l’éditeur Properties et ajoutez un Force Field.

Changez le type de Force Field de Force à Curve Guide. Nous ne remarquerons rien de particulier, d’autant plus que Path Copy est actuellement invisible. Rendez-le donc de nouveau visible et recherchez un cercle en pointillés à l’entrée du vaisseau sanguin.

Ce cercle indique la zone d’influence du système de particules. Les particules seront affectées par le Force Field lorsqu’elles se trouveront dans cette zone.

Nous devons ensuite déplacer le Plane plus près de cette zone et, surtout, l’agrandir afin d’inclure les particules générées. Pour effectuer cette opération, nous modifions la valeur du paramètre Minimum Distance dans l’onglet du Force Field.

Revenons à l’image 1 de la Timeline et lançons l’animation pour observer le résultat.

Si les particules suivaient un trajet différent de celui de la courbe, la raison pourrait être liée au fait que les courbes Bezier ont un début et une fin. Il est donc probable que ce que nous considérons comme l’entrée du vaisseau sanguin soit en réalité l’extrémité finale de la courbe.

Pour résoudre ce problème, passez en Edit Mode, sélectionnez tous les points de contrôle de la courbe, puis inversez leur direction en recherchant la commande Switch Direction dans la barre de recherche de Blender.

Revenez en Object Mode, replacez-vous à l’image 1 de l’animation et cliquez sur le bouton Play pour observer le résultat obtenu.

Si le résultat correspond à ce que vous souhaitez, masquez à nouveau l’objet Path Copy.

Nous pouvons maintenant également prévisualiser l’animation depuis le point de vue de la caméra virtuelle et, éventuellement, modifier le nombre de globules rouges générés par notre système de particules ou d’autres paramètres, comme l’intensité de l’effet Displace ou les dimensions, selon nos besoins.

Enfin, nous pouvons animer le mouvement de la caméra virtuelle dans la scène. Cela peut se faire facilement en observant la scène depuis une vue Top Ortho et en insérant des images clés pour la position et la rotation de la caméra à l’intérieur du vaisseau sanguin, en fonction de l’animation que nous souhaitons obtenir, puis en vérifiant le résultat depuis le point de vue de la caméra dans le 3D View…

… et nous constatons qu’il y a un problème. En effet, si nous déplaçons la caméra de manière à couvrir la majeure partie du vaisseau sanguin sur les 250 images de l’animation, nous ne verrons jamais les particules, car elles seront derrière nous.

Il existe plusieurs façons de résoudre ce problème. L’une d’elles consiste à émettre les particules avant le début de l’animation, par exemple en définissant la valeur -100 dans le champ Frame Start du système de particules. Attention toutefois : dans ce cas, la valeur Lifetime doit être réglée sur 350, sinon les particules disparaîtront à l’image 150 de la Timeline.

Après avoir effectué ces modifications, vérifiez l’animation dans le 3D Viewport afin de vous assurer que tout est correct cette fois-ci. Une fois cela fait, nous pouvons lancer le rendu de l’animation.

Avant de conclure ce tutoriel, une petite remarque concernant la mise en cache du système de particules et certains problèmes pouvant survenir lors du rendu, en particulier après avoir effectué plusieurs rendus intermédiaires afin de montrer l’état de la scène à différents moments avant de passer au rendu final de l’animation.

Dans ces cas, il peut en effet arriver qu’une ligne rouge apparaisse en bas de la Timeline, indiquant que Blender a calculé et mis en cache l’animation jusqu’à ce point.

Le pire est que, parfois, après plusieurs aperçus de rendu dans la vue 3D, cette ligne peut apparaître « par morceaux » ou « par segments ».

Le problème est que, dans ce cas, Blender dispose de certaines images correctes, telles que nous les souhaitons, tandis que d’autres images sont calculées différemment, produisant des résultats incorrects. Sur certaines images, vous pourrez voir les particules au bon endroit, tandis que sur d’autres, vous les verrez dans des configurations erronées, voire pas du tout.

Avant de lancer le rendu de l’animation, voici ce que vous devez faire :

  • revenir à la première image de l’animation ;

  • accéder à l’onglet Cache du système de particules émetteur, où vous trouverez des informations sur les images disponibles en mémoire ;

  • cliquer sur le symbole « + » pour ajouter un nouveau cache, qui sera initialement vide, puis cliquer sur le symbole « - » pour supprimer le cache précédent ;

  • enfin, cliquer sur le bouton Bake afin de calculer et de mettre en cache l’intégralité de la simulation correcte des particules.

À ce stade, la barre rouge devrait couvrir toute la Timeline, indiquant que toutes les images ont été calculées et correctement stockées en mémoire.

Désormais, en lançant le rendu de l’animation depuis Render puis Animation, nous ne devrions plus avoir de mauvaises surprises dans le ou les fichiers produits.

… mais, en toute dernière remarque, je vous rappelle d’activer Denoise for Rendering dans l’onglet Render Properties. Avec ces matériaux et cet éclairage, cette option est très utile et vous permettra de rendre l’animation avec un nombre réduit de Samples, qui, dans mon cas, n’est que de 100.

Pour récapituler, dans ce tutoriel :

  • nous avons vu comment modéliser le trajet du vaisseau sanguin et les globules rouges ;

  • nous avons attribué un matériau de base aux objets et un éclairage simple à la scène ;

  • nous avons vu comment générer des instances de globules rouges à l’aide d’un Particle System ;

  • nous avons vu comment faire suivre aux globules rouges le trajet à l’intérieur du vaisseau sanguin.

J’espère que ce tutoriel vous a été utile.
À très bientôt !

Ce site a pour seul objectif de présenter certains de mes travaux, sans aucune intention promotionnelle. Veuillez noter que je ne recherche actuellement - et ne répondrai pas - à aucune demande de travaux personnalisés, de conseil ou de toute autre forme de collaboration professionnelle.


POLITIQUE GENERALE DE CONFIDENTIALITE ET D'UTILISATION DES COOKIES