« Flash CS4 - Cinématique inversée » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 276 : Ligne 276 :
Pour déplacer un os, séléctionnez l'articulation avec l'outil '''transformation libre''' (free transform). Autrement dit, il suffit de déplacer le point de rotation, le petit cercle blanc de l'ancien style d'animation de rotation. Vous pouvez aussi manipuler les objets avec le panneau de transformation. Si vous voulez tirer l'os du parent A, sélectionnez l'enfant B, etc.
Pour déplacer un os, séléctionnez l'articulation avec l'outil '''transformation libre''' (free transform). Autrement dit, il suffit de déplacer le point de rotation, le petit cercle blanc de l'ancien style d'animation de rotation. Vous pouvez aussi manipuler les objets avec le panneau de transformation. Si vous voulez tirer l'os du parent A, sélectionnez l'enfant B, etc.


Nous n'avons pas réussi à déplacer le bouts des os avec l'outil de sous-sélection pour les armatures ''symbole'', que les armatures à l'intérieure des structures IK
Nous n'avons pas réussi à déplacer le bouts des os avec l'outil de sous-sélection pour les '''armatures ''symbole''''', que les armatures à l'intérieure des structures IK


=== IK nodes in symbol-based armatures ===
=== IK nodes in symbol-based armatures ===

Version du 15 février 2010 à 09:33

Introduction

Objectifs d'apprentissage
Insérer des armatures dans les formes
Lier les symboles aux armatures
L'interpolation de mouvement avec les armatures
Lier les contours des formes aux armatures
Prérequis
Matériaux
Aucun, jouer simplement avec vos propres objets:)

Ce tutoriel est une traduction de la section Using inverse kinematics de la version anglaise de l'aide Adobe Flash CS4 disponible en ligne sous une license Attribution-Noncommercial-Share Alike et de la version anglaise de l'article Flash CS4 inverse kinematics tutorial en Edutechwiki.

A propos de la cinématique inversée

La cinématique inverse (inverse kinematics ou IK) est une méthode pour animer un objet ou un ensemble d'objets reliés utilisant une structure de segments articulés appelée une armature. Les segments ou os permettent le déplacement de symboles et de formes de manière complexe et naturels avec un minimum d'effort de conception. Par exemple, la cinématique inverse vous laisse créer les effets d'animation de personnages, telle que le mouvement naturel des bras, des jambes, et des expressions faciales beaucoup plus facilement.

L'outil bone ou os est un outil de la cinématique inverse (IK) qui permet de créer des armatures pour des formes ou des occurrences (instances) de symboles reliés. Ces armatures relient des objets ou des parties de formes dans un arbre hiérarchique. Lorsque les segments ou os au bout (ou enfant) sont déplacés ils déplacent les os à la racine (ou parents). Prenant un avatar humain comme exemple, si on tire un doigt, la main se déplacera aussi et la main à son tour déplacera le bras inférieur, etc. Quand un os se déplace, les autres os reliés se déplacent par rapport à l'os qui a lancé le mouvement. Ainsi contrairement à l'animation cinématique directe, où chaque mouvement pour chaque composant doit être prévu, il ne faut que spécifier les positions de départ et d'arrêt des objets.

Vous pouvez ajouter des armatures aux occurrences de symboles individuels ou à l'intérieur d'une forme. Utilisant la cinématique inverse La cinématique inverse vous laisse créer le mouvement naturel beaucoup plus facilement.

Une forme avec une armature de segments d'IK supplémentaire.
Un groupe de plusieurs symboles avec une armature IK jointe.

Une chaîne d'os s'appelle une armature. Les os dans une armature sont reliés entre eux dans une hiérarchie de parent-enfant. Une armature peut être linéaire ou embranchée. Des branches d'une armature qui commencent au même os s'appellent des siblings. Le point où un os se relie un autre s'appelle une articulation (joint).

On peut utiliser IK en Flash CS4 de deux manières. La première est d'articuler une série d'occurrences de symboles en ajoutant des os pour relier chaque occurrence à un autre. Les os permettent à la chaîne d'occurrences de symboles de bouger ensemble comme dans l'exemple ci-dessus.

La deuxième manière d'employer IK est d'ajouter une armature à l'intérieur d'une forme. La forme peut être créée comme dessin de forme (merge drawing mode) ou dessin d'objet (object drawing mode). Les os permettent de déplacer et d'animer des parties d'une forme sans la nécessité de dessiner différentes versions de la forme ou de créer une interpolation de mouvement de forme (motion tween). Par exemple, on peut ajouter des os à un dessin simple d'un serpent pour permettre au serpent de se déplacer de manière réaliste.

Lorsque vous ajoutez des os aux occurrences de symboles ou aux formes, Flash met l'occurrence ou la forme et leur armature correspondantes sur un nouveau calque dans le scénario (timeline). Ce calque s'appelle un calque de pose (pose layer')'. Chaque couche de pose peut contenir seulement une armature et ses occurrences ou formes associés.

Flash inclut deux outils pour travailler avec IK. Vous pouvez ajouter des os aux occurrences de symbole et aux formes avec l'outil os. Vous pouvez utiliser l'outil de grippage (Bind tool) pour modifier les rapports entre différents os et points de control des formes.

Démo simple

L'exemple suivant montre que la différence entre une structure d'IK (armature) faite avec des symboles vs une structure faite avec une forme.

Une structure d'IK (armature) faite avec des symboles vs une structure faite avec une forme

Chargez l'application symbol-vs-shape-armature.html et tirez les bouts (ou d'autres parties des formes). Assurez-vous que vous avez Flash Player 10 installé autrement, cela ne fonctionnera pas. Notification : Les armatures ont été définies comme type Runtime qui permet à l'utilisateur manipuler la structure IK.

Une armature simple utilisant des occurrences de symbole

Créer une animation IK simple avec Creation of a simple IK animation tilisant des occurrences de symbole

Voir l'exemple symbols-ik-armature-intro d'abord.

Une animation IK simple avec une occurrence de symbole

Une exemple de boules connéctées

Étape 1 - créer les symboles
  • Créez un nouveau calque
  • Créez un symbole de clip : dessinez une boule rouge et cliquez droite puis sélectionnez convertir en symbole. Sélectionnez "clip".
  • Modifiez l'occurrence sur la scène (p. ex. changez sa couleur, sa taille ou appliquez un filtre)
  • Créez plusieurs copies de cette occurrence (appuyez CTRL-ALT et tirez le symbole).
  • Répétez avec un rectangle arrondi. Dans la bibiothèque vous devez maintenant avoir deux symboles de clip : une boule rouge et un rectangle rouge.
Étape 2 - mettez les symboles dans une position de départ.
  • P.ex : essayez de reproduire l'exemple. Verifiez que vous avez tous les symboles qu'il vous faut sur la scène avant de commencer à construire l'armature. Vous ne pourriez plus ajouter d'autres symboles plus tard.
Étape 3 - créer la chaîne
Création des os pour les armatures IK type symbole avec Flash CS4

La chaîne doit aller du parent vers les enfants, des enfants aux petits enfants, etc. Dans notre cas, ceci veut dire qu'il faut commencer avec le rectangle lié au sol.

  • Sélectionnez l'outil os et cliquez sur la première forme pour la designer la forme parent. Le point où vous cliquez en premier sera celui qui fixera l'armature à la scène. Dans notre cas nous avons choisi un point près du sol.
  • Puis, du point au bout du premier point, i.e. l'articulation (joint), tirez l'outil os au prochaine forme et lâchez la souris là où vous voulez que l'os termine. Si vous lâchez la souris hors du symbole (forme) rien ne se passera.
  • Répétez cet étape jusque tous les symboles soient liés. Commencez toujours par une articulation. Dans notre cas, toujours l'articulation extérieure, car nous voulons créer une chaîne.

Vous verrez que Flash vient de créer un calque d'armature (Armature_1, vous ne pouvez plus modifier vos objets). Ils ont été copiés au calque d'armature et sont devenus des ikNodes. Vous pouvez changer le nom du calque.

Un mot à propos de la terminologie : chaque os recevra un nom comme ikBoneName1 (que vous pouvez changer) et chaque symbole recevra un nom comme ikNode1 (que vous pouvez aussi changer). Donc, dans une armature nous avons des os (bones) et des noeuds (nodes).

Jouez avec l'armature, p. ex. tirez le dernier enfants de l'armature IK pour voir si les articulations sont au bon endroit. Si non, modifiez-les (voir ci-dessous).

Modifications

Modification des points centraux

  • Si le début d'un os est au mauvais endroit, vous pouvez déplacer le point de rotation avec l'outil de transformation libre (Free transform tool). Vous pouvez egalement tourner la forme, la bouger ou modifier sa taille pour qu'il s'adapte à la nouvelle rotation et longueur de l'os, mais ceci est compliqué. Nous verrons la manipulation des os et des noeuds plus en détail plus tard. Le mouvement des os du haut vers le bas suffira pour le moment.

L'image ci-dessous montre ce qui se passe si vous déplacez une forme et modifiez son point de rotation. Le résultat n'est pas entièrement réaliste (comparez-la avec l'image précédente...)

Modification des articulations (points d'entrée) avec l'outil de transformation en Flash CS4

Animation

Créons nous une armature IK. Avant de commencer, vérifiez que l'armature IK est celle que vous voulez. Elle doit être complète. Vous ne pourrez pas modifier l'armature plus tard. Vous ne pourrez que modifier les poses, appliquer des transformations et autres modifications avancées. La procédure est la suivante :

  • Appuyez F5 quelque part dans le scénario (timeline)
  • Utilisez l'outil de sélection (selection tool)
  • Déplacez toutes les articulations où vous voulez dans une image de votre choix du scénario. Chaque fois que vous faites ceci, ce créera une nouvelle image clé avec une pose. Les images clés se distinguent par un point noir dans l'image.
  • Vous pouvez copier/coller les poses : cliquez-droite directement dans une image clé dans le scénario, autrement il ne fonctionnera pas (ne cliquer pas d'abord).

Et si rien ne fonctionne ?

  • Sélectionnez le calque d'armature en cliquant là dessus. Ca selectionne toute l'armature IK.
  • Supprimez l'os parent (en bas dans notre exemple)
  • Puis, sélectionnez tous les symboles et copiez-les vers le calque initial ("plaything" dans l'exemple). Vous pouvez utiliser CTRL-shift-v pour coller un symbole "en place" (même position que l'original).
  • Puis supprimez le calque d'armature et recommencez.

Modification du scénario

  • Simplement tirez la dernière image dans une direction ou une autre. Verifiez que vous voyez une flèche double, i.e. ne cliquez pas dans la dernière image. Dans ce dernier cas, vous bougeriez la chaîne entière.
Résultat et source

Ajouter des armature aux formes

Vous pouvez également ajouter une armature à l'intérieur d'une forme comme le démo vu au départ demo. Suivez les étapes suivantes :

Étape 1 - Créer un nouveau calque avec une seule forme
  • Dessinez une forme ou un dessin simple en mode objet. Finissez le dessin. Vous ne pourrez modifier que sa forme plus tard.
  • Vérifier que vous n'avez qu'une seule forme, autrement CS4 peut se bloquer ou agir de manière bizarre, e.g. créer plusieurs calques d'armatures.

Suivez les étapes ci-dessous :

  • Dessinez toutes les parties en mode objet.
  • Lorsque le dessin vous plaît, sauvegarder une copie de votre œuvre pour y revenir si vous en avez besoin. CTRL-A puis clique-droite > Create Symbol.
  • Puis cassez l'occurrence du symbole sur la scène et unifier tous les graphismes : CTRL-A, puis dans le menu Modifier>Combiner les objets>Union. Ceci est nécessaire parce qu'il faut avoir un seul dessin de forme ou d'objet'.
Étape 2 - Ajoutez l'armature IK (les os)
  • Sélectionnez l'outil os dans le panneau d'outils
  • Cliquez à l'intérieure de la forme à l'endroit où vous souhaitez attacher l'armature à la scène. Cet os devient le parent qui ne bougera pas.
  • Puis appuyez la souris au même endroit et tirer un os
  • Cliquez le point au bout de ce nouvel os et tirer encore
  • etc.

Vous verrez maintenant un calque d'armature et vous ne pourrez plus modifier vos objets. Ils ont été tous déménagés au calque d'armature.

Étape 3 - Ajouter une autre forme
  • Si vous voulez créer une autre armature IK (forme ou objet) créez un nouveau calque et recommencez les étapes 1 et 2.
Étape 4 - Créer l'animation et modifiez des poses dans les images clé.
  • Tournez les os comme expliqué ci-dessus. Si vous tournez le cercle près d'une articulation vous allez bouger l'articulation sans tourner les parents.
  • Pour modifier la forme à l;intérieure d'une pose, voir ci-dessous. Consultez également Univers_Flash_CS4#En_avant pour une vue globale des outils et objets.
Exemple avec deux fleurs

Cet exemple est très moche. Il faudra le refaire à un moment. Il faut dire que le choix d'utiliser le crayon ne rend pas la tache de dessiner des lignes gras. Il vaut mieux utiliser l'outil rectangle ou le pinceau et modifier l'enveloppe de suite.

Exemple avec un homme-allumettes Shape stickman example
Structure IK type forme d'un homme-allumettes

Cette forme a été dessinée avec l'outil pinceau en mode objet. Lorsque le dessin était fait, nous avons uni toutes ses parties (Modifier > Combiner objets > Union) et puis optimisé (Modifier > Optimiser forme) à 100%.

  • Le bonhomme-allumettes a beaucoup d'articulations
  • L'os parent commence à la hanche
  • Nous n'avons pas seulement animé les poses, avons aussi déplacé le bonhomme à des differents endroits dans une sélection d'images clés.

Le résultat n'est pas magnifique, mais vu le peu de temps que ça nous a pris, ça va.

Modifier la forme dans une pose

Parfois il est évident que la forme ne suit pas les os (des bords pointus apparaissent). On peut les corriger :

  • Utiliser l'outil de sous-sélection pour déplacer le contrôle d'une forme à un autre endroit. Élargir la scène (au moins 400%). Puis vous pouvez déplacer ou supprimer les points de contrôle blues ou les modifier utilisant les manches de contrôle rouge pour modifier la courbe.

Ce type de manipulation prend du temps car Flash doit calculer toute l'interpolation. De plus, les os peuvent apparaître déplacés. Cliquez dans une autre image clé et revenir.

  • Utiliser l'outil de fixation (bind tool) pour relier les controle de forme aux os.
Modifier la courbe d'une forme dans une pose IK avec l'outil sous-sélection

Sauf si vous souhaitez reproduire la motion d'un serpent, il vaut mieux utiliser une armature de symbole comme dans le prochain chapitre.

Un avatar bonhomme-allumette

(pas encore fait !)

Maintenant nous allons créer un bonhomme-allumette qui a plus ou moins les mêmes proportions qu'une personne. Nous avons besoin de plusieurs objets pour construire le corps. Voici quelques règles concernant la taille des parties du corps.

  • La taille du corps doit être environ 6 à 8 fois la taille de la tête.
  • La taille de la tête au entrejambes et la même taille de l'entrejambe aux pieds
  • Les épaules et les hanches sont environ la même largeur
  • La taille (si vous en avez une est mi-chemin entre les épaules et l'entrejambe
  • La longueur des bras : de l'épaule à mi-cuisse maximum
  • La longueur des pieds : à peu près la même que les avant-bras
  • Le visage est un ovale, environ 1/6 ou 1/8 de la taille du corps entier. Les yeux sont à peu près au centre.
Modifier les propriétés

Sélectionnez un os et changez quelques option dans le panneau des propriétés.

  • La vitesse fait référence à la vitesse du pivotement par rapport au reste (le défaut est 100%)
  • Les contraintes de rotation sont des contraints sur la rotation des articulations d'un système d'os artificiel

Animation par l'utilisateur

Vous pouvez produire une armature de cinématique inverse qu'un utilisateur peut manipuler :

  • Utilisez que l'image 1 du calque d'armature, sans autre animation (supprimez toutes les autre images dans le calque d'armature)
  • Dans le panneau de propriétés, sélectionnez Type> Runtime.
  • Publiez le clip et jouez comme dans le démo au début de ce tutoriel.

Survol des outils et des objets

Un petit manuel des outils et objets IK

Survol des outils

Voici une liste des outils et leur fonctions.

L'outil os - Bones tool
  • Définir les os
L'outil de fixation? - Bind tool
  • Associer les point d'une enveloppe à un os.
L'outil de sélection - Select tool
  • Selection les os ou ikNodes associés (formes) à manipuler, soit en les tirant, ALT-drag ou par le panneau de propriétés ou de transformation.
L'outil de sous-sélection - Subselection tool
  • Permet le déplacement des articulations des os (i.e. les alonger ou raccourcir et pivoter) à l'intérieure d'une armature forme. A noter : ceci ne fonctionnera pas avec les structures qui utilisent des symboles. Pour déplacer les os des armatures type symbole, utilisez l'outil transformation libre (Free transform)
  • Permet la modification des formes
L'outil stylo - pen tool
  • Un option pour ajouter ou supprimer les points de contrôle d'une forme
L'outil de transformation libre - Free Transform tool
  • Permet de déplacer les articulation (points de départ des os) d'une armature type symbole.
Le panneau transformation - Transform panel
  • Modifier la taille et la rotation des os et les ikNodes associés (formes).

Le calque d'armature

Une armature est défini dans un calque particulier, le calque d'armature. En cliquant sur le calque, vous pouvez modifier ses propriétés dans le panneau de propriétés :

  • Accélération: vous pouvez définir les paramètres d'accélération et de décélération des animations comme dans les autres animations d'interpolation.
  • Options:
    • Changer type: Authortime pour préciser l'animation dans le calque d'armature, runtime pour permettre l'utilisateur de déplacer la structure IK. Dans ce dernier cas, vous ne pouvez pas contrôler l'animation. Vous ne pouvez définir que l'image 1.
    • Style: Permet de choisir la façon dont la structure d'os s'affiche. Affichez-la comme solide pour des objets simples et file pour les objets plus détaillés.
Les propriétés d'une armature Flash CS4

Flash déplace automatiquement tous les objets du calque de dessin au calque d'armature dès qu'un IK est créé. Alors, si vous voulez casser une armature, faites une copie sur un autre calque, ou encore mieux, sauvegardez vos dessins comme un symbole dans la bibliothèque (et casser l'occurrence sur la scène).

De plus, les armatures doivent être crées avant d'être modifiable, i.e. vous pouvez modifier la pose initiale. Si vous avez plus qu'une pose, i.e. plus qu'une image, vous ne pouvez pas. Dans les autres images, vous ne pouvez changer et copier/coller que les poses. Ceci est normal, car une armature doit rester pareil pendant la durée de l'animation.

Manipuler l'ensemble d'une structure IK

  • Pour sélectionner toute une structure IK ou une forme, cliquez dessus.
  • Vous pouvez de suite modifier sa position dans le panneau de propriétés, déplaçant l'articulation parent à un nouveau point d'origine.
  • Autrement, vous pouvez sélectionner l'outil de transformation pour le déplacer.
  • Vous ne pouvez pas changer sa taille, alors pensez à la taille au départ.

Modifier les os

Il y a plusieurs manières de modifier les os crées. Vous pouvez les repositionnés et leur objets associés, déplacer un os à l'intérieure d'un objet, modifier la longueur d'un os, supprimer les os, et modifier les objets qui contiennent les os.

Modifiez les os avant d'ajouter les poses !

  • Pour sélectionner un os, utilisez l'outil de sélection. shift-sélection permet de sélectionner plusieurs os et double-click sélectionnera tous les os.
  • Pour supprimer un os, sélectionnez-le et supprimer. Ceci va supprimer ses enfants aussi.
  • Pour modifier les propriétés d'un ou plusieurs os, utilisez le panneau de paramètres.

Vous pouvez définir 3 types de paramètres pour chaque os ou série d'os.

  • La transposition des articulations est déactivée par défaut, i.e. la taille des membres reste pareil. Pour permettre de allonger les os, modifiez les paramètres de l'articulation de l'enfant Joint: X translation et Joint: Y translation. De suite, vous pouvez définir jusqu'où l'on peut tirer l'articulation (direction x/y), donc le deebut de l'os. Lorsqu'on bouge l'articulation dans une direction x/y (normalement pas possible) l'os parent changera ss taille et son angle.
  • Pour limiter la rotation (360 degrés par défaut) modifiez les paramètres Joint: rotation. Les chiffres positives indiquent une rotation dans le sens des aiguilles d'une montre.

Pour tourner un os, utiliser l'outil de sélection pour glisser l'os (ou la forme). Tous les os dans la même branche bougeront aussi. Mais si un point plus proche de l'articulation est sélectionne, les os bougeront moins.

Pour tourner un os sans bouger ses parents, glisser en appuyant sur le bouton shift en même temps.

Pour déplacer un os, séléctionnez l'articulation avec l'outil transformation libre (free transform). Autrement dit, il suffit de déplacer le point de rotation, le petit cercle blanc de l'ancien style d'animation de rotation. Vous pouvez aussi manipuler les objets avec le panneau de transformation. Si vous voulez tirer l'os du parent A, sélectionnez l'enfant B, etc.

Nous n'avons pas réussi à déplacer le bouts des os avec l'outil de sous-sélection pour les armatures symbole, que les armatures à l'intérieure des structures IK

IK nodes in symbol-based armatures

Symbol instances connected with bones become ikNodes. I.e. when you click on a shape with the select tool, you will see something like ikNode_3 in the properties panel.

  • In the transform panel you now can change its size (x and y) and also it's rotation. E.g. if you did some wild bone manipulation stuff you can realign a shape with the bone.
  • Alternatively, you also can drag the ikNode (shape) with ALT-drag.

In both cases the bones will adapt, i.e. stretch and rotate.

Dealing shape-based IK shapes

  • To edit a shape in a shape-based IK structure, use the Subselection tool
  • If you click on the stroke (the border of the shape) you will see control points. You then can drag control points or click on one and adjust the shape with the curve controls that will appear.
  • To add a new control point click somewhere on the stroke.
  • To delete a control point, select it and hit delete

Tip: Magnify a lot (e.g. 400%), it's really hard to get the right point. Also CS4 behaves a bit erratically, i.e. I sometimes have trouble inserting a new control point vs. moving a curve control. Therefore you also can use the pen tool and its sub-tools to add/remove controls.

Bind bones to shape points

When you move the bone structure to a different pose, you may not be happy with the result, but you can fix that. By default, the control points of a shape are connected to the bone that is nearest to them, but you can change that with the bind tool (that sits underneath the bone tool in the tools panel).

If you click on a bone it will show all associated control points (i.e. parts of the shape that go with a bone). The bone will be red and the associated control points yellow. Points that are associate with just one bone are yellow squares. The ones that connect to more than one bone are yellow triangles.

  • To remove a control point association with a bone, CTRL-click on the yellow.
  • To associate a control point with a bone, SHIFT-click on a red (not associated) control point.
  • To add a control point, use the Subselection tool.

The other way round. If you click on a control point (blue if no bone is selected) it will become red and show the associated bones in yellow.