Dans notre exemple, les antennes ou les capteurs du personnage alien doivent bouger de manière dynamique et élastique à chaque mouvement de la tête. Bien sûr, notre exemple peut également s'appliquer aux mèches de cheveux, aux queues de dinosaures et bien d'autres encore.

Dans le fichier de travail "PSD_C4D_R12_IK_Dyn_Start.c4d", vous trouverez la tête de l'alien modelée et texturée pour travailler ensemble.

Nouveau dans la version 12 - Cinématique inverse dynamique

Construction de la structure articulée

Notre tête d'alien se compose d'une géométrie de tête polygonale, ainsi que de deux objets sphériques pour les yeux. Par la suite, nous allons lier tous les objets hiérarchiquement ou par des pondérations aux articulations, de manière à ce que la tête complète puisse être animée sans problème avec les capteurs.

Commençons la construction de la structure articulée avec un premier objet d'articulation pour la tête. Vous le trouverez dans le menu Character.

Nouveau dans la version 12 - Cinématique inverse dynamique

Comme la tête de l'alien est située exactement à l'origine du système de coordonnées, l'articulation de tête peut rester à la position nulle.

Nouveau dans la version 12 - Cinématique inverse dynamique.

Nous laissons l'objet d'articulation fraîchement créé sélectionné et activons l'outil d'articulation du menu Character. Dans la boîte de dialogue des paramètres de l'outil d'articulation, nous désactivons la création d'un objet nul racine supérieur. Nous le créerons nous-mêmes plus tard pour mieux comprendre la fonction qu'il remplit dans une structure articulée.

Afin de travailler de manière symétrique, nous ouvrons la section Symétrie et utilisons l'option de dessin sur le plan YZ du monde. Nous dessinerons les articulations sur ce plan, respectivement dans cette vue.

Nouveau dans la version 12 - Cinématique inverse dynamique

Maintenant, avec l'outil d'articulation activé et la touche Ctrl enfoncée, en cliquant dans la vue, les articulations sous-jacentes à l'articulation de tête seront créées automatiquement et symétriquement.

Nous choisissons l'une des deux antennes et plaçons la première sous-articulation directement à la base de l'antenne sur la tête. CINEMA 4D place automatiquement l'articulation pour l'autre antenne grâce à la symétrie activée.

Nouveau dans la version 12 - Cinématique inverse dynamique

Nous créons ensuite, par un clic en maintenant enfoncée la touche Ctrl, une chaîne d'articulations aux positions indiquées dans l'image. Là où cela devient plus fin, les articulations devraient également être un peu plus proches les unes des autres. Nous ne devrions pas économiser sur les articulations, car ce sont uniquement à ces joints que toute déformation ou courbure de la géométrie peut se produire.

Nouveau dans la version 12 - Cinématique inverse dynamique

Une fois toutes les articulations créées, vous trouverez dans le gestionnaire d'objets la hiérarchie d'articulations montrée dans l'image. L'objet d'articulation de tête comporte au total deux chaînes d'articulations en tant qu'objets enfants - une chaîne pour chaque antenne.

Pour ajuster la position des articulations par paires également dans la vue de côté, nous sélectionnons une paire d'articulations dans le gestionnaire d'objets et déplaçons les articulations le long de leur axe z dans la géométrie.

Nouveau dans la version 12 - Cinématique inverse dynamique

La structure articulée pour l'animation des antennes ou des capteurs serait donc déjà terminée. Malheureusement, elle n'a toujours aucun lien avec notre tête d'alien, ce qui nous permettrait d'animer la tête.

Nouveau dans la version 12 - Cinématique inverse dynamique

Cela n'est possible que lorsque nous avons relié la hiérarchie d'articulations à la géométrie. Pour cela, nous sélectionnons tout d'abord, via le gestionnaire d'objets, tous les objets d'articulation ainsi que l'objet polygonal de la géométrie de l'alien.

Nouveau dans la version 12 - Cinématique inverse dynamique

La connexion de la hiérarchie d'articulations avec le maillage polygonal est établie en utilisant la commande Lier du menu Character>Commandes.

Nouveau dans la version 12 - Cinématique inverse dynamique

Qu'est-ce que la commande Lier a donc réalisé ? L'objet polygonal de la géométrie d'alien possède maintenant une étiquette de pondération, dans laquelle tous les objets d'articulation sont regroupés, pouvant influencer la géométrie de la tête de l'alien. Cette pondération automatique est basée sur la position des articulations par rapport à la géométrie et constitue une bonne base de départ.

Nouveau dans la version 12 - Cinématique inverse dynamique

Pondération des articulations

Cette pondération n'est cependant pas parfaitement ajustée dans la plupart des cas ; un peu de travail supplémentaire est donc nécessaire. Pour avoir une idée des pondérations en cours, nous commençons par désactiver la fonction de cage HyperNURBS via le gestionnaire d'objets. L'outil de pondération affiche les pondérations sur la géométrie lorsque le maillage polygonal n'est pas lissé. Pour une vue d'ensemble, nous sélectionnons d'abord tous les objets d'articulation avec la géométrie dans le gestionnaire d'objets.

Nouveau dans la version 12 - Cinématique inverse dynamique.

L'**outil de pondération** se trouve dans le menu **Caractère**. Après l'avoir activé, la géométrie de la tête d'alien se colore déjà. Chaque **joint** possède sa propre couleur, indiquant son influence sur la géométrie.

Nouveau dans la version 12 - Cinématique inverse dynamique

Pour pouvoir évaluer individuellement les **Joints** et leur influence sur la géométrie, il suffit de sélectionner le **Joint** correspondant dans le **Gestionnaire d'objets**. Toutes les autres parties de la géométrie non affectées par ce **Joint** resteront noires.

Nouveau dans la version 12 - Cinématique inverse dynamique

Il est remarquable que l'extrémité du nez ne soit pas entièrement de la même couleur que le **Joint** de la tête. Avec l'**outil de pondération**, nous pouvons éviter tout comportement anormal lors de la déformation en augmentant de façon ciblée la **pondération** pour ce **Joint** à l'aide du **pinceau de pondération**.

Nouveau dans la version 12 - Cinématique inverse dynamique

À l'endroit des transitions vers les antennes, il y a trop d'influence sur la géométrie de la tête. Pour réduire les **pondérations** adjacentes, nous utilisons l'**outil de pondération** en maintenant la touche **Ctrl** enfoncée.

Nouveau dans la version 12 - Cinématique inverse dynamique

Pour finaliser le travail de pondération, il est recommandé de sélectionner à nouveau tous les **Joints** dans le **Gestionnaire d'objets**, de définir l'affichage de la couleur de **pondération** sur **Monochrome** et de vérifier si toute la géométrie est pondérée. Comme le montre l'image, toute la tête de l'alien est colorée en blanc, ce qui indique que toutes les parties de la géométrie sont pondérées.

Nouveau dans la version 12 - Cinématique Inverse Dynamique

Les **objets sphériques** des yeux sont exclus des **pondérations**. Pour que ces objets bougent également lorsque la tête tourne ou se déplace, il suffit de les associer au **Joint** de la tête dans le **Gestionnaire d'objets**. Ainsi, lorsque le **Joint** de la tête est tourné, par exemple, les objets des yeux suivent l'orientation de la tête en raison de leur association avec le **Joint**.

Nouveau dans la version 12 - Cinématique inverse dynamique

Il est maintenant grand temps de tester dans la pratique la structure des **Joints** et leurs **pondérations**. Pour ce faire, nous sélectionnons le **Joint** de la tête et le faisons tourner en utilisant l'**outil de rotation** le long de l'**axe Y**. Toute la tête de l'alien devrait suivre sans problème les mouvements du **Joint** de la tête.

Nouveau dans la version 12 - Cinématique inverse dynamique

Intégration de la Cinématique Inverse avec Dynamique

Après avoir ajusté les **Joints** comme souhaité sur les différentes zones de la tête d'alien, nous pouvons nous occuper de l'animation des antennes à travers la **cinématique inverse (IK)**. Pour cela, nous devons définir les deux chaînes de **Joints** des antennes comme une **chaîne IK**.

Nous sélectionnons ces deux chaînes de **Joints** dans le **Gestionnaire d'objets** - veuillez noter que le **Joint** de la tête est exclu!

Nouveau dans la version 12 - Cinématique inverse dynamique

Ici aussi, CINEMA 4D propose une commande spéciale appelée **Créer chaîne IK** qui transforme automatiquement les chaînes de **Joints** sélectionnées en **chaînes IK**. Vous la trouverez dans le menu **Caractère > Commandes**.

Nouveau dans la version 12 - Cinématique inverse dynamique

Nous appliquons la commande **Créer chaîne IK** et vérifions les modifications apportées à notre chaîne de **Joints**. Les deux **Joints** à la base de la tête reçoivent chacun une **étiquette IK**. Dans cette étiquette, le début et la fin de la **chaîne IK** ont été automatiquement enregistrés.

Nous trouvons également deux nouveaux **objets nuls** en tant qu'**objets cibles** dans le **Gestionnaire d'objets**. Ces deux cibles sont nommées de la même manière que les extrémités de la **chaîne de Joints** et nous permettent d'animer toute la **chaîne IK** à l'aide de ces simples cibles de contrôle.

En réalité, nous voulons régler les mouvements des antennes de manière entièrement automatique grâce à des propriétés dynamiques. Cependant, il est utile de conserver ces deux objets cibles, car ainsi, les antennes s'alignent automatiquement sur les cibles après chaque mouvement et déformation.

Nouveau dans la version 12 - Cinématique inverse dynamique

Un regard sur la boîte de dialogue des balises **IK** nous montre comment les extrémités ou cibles de la **chaîne IK** sont définies. Nous pouvons conserver ces paramètres dans la section **Balise**; nous sommes désormais plus intéressés par les paramètres de dynamique.

Nouveau dans la version 12 - Cinématique inverse dynamique.

Pour ce faire, nous passons à l'onglet **Dynamique** et activons tout d'abord l'**option Dynamique**. Désormais, les antennes peuvent réagir aux influences telles que la **gravité** ou le **mouvement**.

Cependant, pour éviter que les antennes ne pendent mollement, mais plutôt pour qu'elles paraissent élastiques et résistantes, nous réduisons la **force dynamique** à environ 40-45% et augmentons drastiquement **l'amortissement** à environ 70%. Afin que les antennes s'efforcent encore plus de retrouver leur état initial, nous augmentons le paramètre **maintien d'angle** à environ 40-45%.

À ce stade, je vous invite à expérimenter davantage avec les paramètres. Cela permet de rapidement comprendre comment les différents réglages affectent l'ensemble de la chaîne de kinématique inverse - et bien sûr, c'est aussi amusant.

Nouveau dans la version 12 - Cinématique inverse dynamique

Parce que les deux objets-cibles externalisés ne reçoivent aucune information de l'animation dynamique des "feelers" ou antennes, nous devons apprendre à l'IK que ces cibles doivent être déplacées avec. Sinon, les "feelers" s'emmêleraient très rapidement lors d'une rotation rapide.

L'onglet Avancé dans la balise IK nous offre une fonctionnalité très élégante pour cela. Nous activons simplement l'option Transporter la cible, et les deux objets-cibles se déplacent automatiquement à chaque mouvement.

Nouveau dans la version 12 - Cinématique Inverse Dynamique

Maintenant, la fonctionnalité de cinezatique inverse des "feelers" ou antennes est également sécurisée. Organisons un peu dans le Gestionnaire d'objets en renommant de manière appropriée les objets-cibles ainsi que les chaînes articulaires.

Le joint de tête sert actuellement de manipulateur pour l'animation de la tête de l'alien. Malheureusement, ce joint est relativement peu maniable, car en raison de ses chaînes articulaires subordonnées, il est tourné dans l'espace.

Cependant, nous avons en fait besoin d'une position "propre" aux angles pour que la rotation et le mouvement de la tête de l'alien puissent se dérouler sans rotations indésirables pour nous.

C'est là que le Root-Null-Objet entre en jeu, sur lequel nous avons déjà brièvement mentionné au début.

Nouveau dans la version 12 - Cinématique inverse dynamique

Il nous fournit une base de coordonnées totalement nouvelle et immaculée. Et pour que la chaîne IK complète soit prise en compte, nous devons simplement la subordonner à l'objet Root-Null.

Mais d'abord, nous créons le nouveau objet Null via le menu Objets. Comme le joint de tête est positionné sur la position nulle, nous n'avons même pas besoin de repositionner le nouvel objet Null.

Nouveau dans la version 12 - Cinématique inverse dynamique.

Nous renommons ce nouveau objet Null en conséquence en Root et lui subordonnons toute la hiérarchie articulaire via le Gestionnaire d'objets.

Nouveau dans la version 12 - Cinématique inverse dynamique

À ce stade, nous pouvons appuyer sur le bouton de lecture et faire tourner et animer l'alien dans toutes les directions en faisant pivoter l'objet null racine. Les "feelers" ou antennes sont dynamiquement contrôlés par la gravité et nos mouvements.

Nouveau dans la version 12 - Cinématique inverse dynamique



L'objet Root-Null est donc un assistant pratique pour l'animation d'une hiérarchie articulaire. Lors de la création d'une structure articulaire, au moins le joint principal (généralement la hanche) se voit prescrire un tel objet Null supérieur. Pour que cela se fasse automatiquement, nous devons simplement activer l'option Objet Null Racine dans la boîte de dialogue des Outils Joint.