PDA

Voir la version complète : (Tutoriel) Comment créer un Blend IK FK en utilisant la methode à 3 chaines (MAJ)



poumpouny
10/10/2014, 16h34
Hey les gars, faisant suite à mes recherches sur mon prochain court métrage que vous pouvez suivre ici (http://frenchcinema4d.fr/showthread.php?78916-Delirium-Tremens-%28Court-Metrage%29&highlight=Delirium+Tremens) , je viens de faire un mini tutoriel expliquant comment faire un Blend IK FK avec la methode à 3 chaines. La raison est que j'ai galléré grave pour trouver comment faire ça dans C4D sans plugin et sans trop se prendre la tête avec des script python etc .....

Après des heures de recherche sur google, je me rends compte qu'il n'y a aucun tutoriel (sauf celui de Cactus Dan avec son plugin, et puis un autre mais payant sur cineversity) qui traite le sujet.

Voici donc un peut le résumer de mes recherche en la matière :

1 - Ne cherchez pas à faire un "switch" au lieu d'un "Blend". Je me suis arraché les cheuveux pendants des semaines, j'ai même pensé y avoir arrivé (lire sur mon wip) mais au final c'est devenu un rig lourd, avec plein de conflit de priorité d’exécution des expression, et puis ca n'a tout simplement pas marché. et puis sans vraiment un vrai gros travail de script python ou autre, un fois qu'on bouge le pole vector, ca snap quand on veut switcher.

2 - Les contraintes en boucle à la cactus Dan, c'est cool mais justement, sans son plugin c'est la galère de le reproduire dans C4D.

3- Le tag IK de C4D à une option qu'on pourrait à première vue qualifier de "Magic",et effectivement l'option "preserver la cible" et "mise à jour de la cible" semble superpuissant car on peut, sans même faire de switch ou de blend, animer du IK et du FK en même temps, le gros hic c'est que on est obligé d'animer les os car une fois qu'on a mis un tag IK sur les articulations, on ne peut plus les contraindre à un controlleur FK sans qu'on annule l'effet IK. J'ai aussi cherché des astuces mais rien de probant.


Au final j'ai cherché sur le net la meilleur facon donc de faire un IK/FK Blend dans c4d et a part un tutorial Cineversity qui est payant je n'ai rien trouvé. J'ai donc chérché de moi meme et j'ai vu dans les forums la methode à 3 chaine (simple, efficace et très stable) que je vais expliquer pour aider ceux qui seront dans la galère comme moi.

Donc pour une jambe par exemple :

On crée donc ses 3 articulations (celui de la cuisse, du genou, et du pied), puis on les nomme "Blend Chain"
On duplique toute la chaine qu'on renomme après "IK Chain"
On duplique encore une deuxieme fois, et cette fois ci, on le renomme en "FK Chain"
13210

13211

Voici donc ce que seront le rôle de chaque chaine :

Blend : C'est celui qui va être lié au personnage et qui va donc recevoir les influence, on va dire que ce sera la vrai chaine d'os pour le pied

le IK : C'est la chaine qui fonctionnera en mode IK

le FK : C'est la chain qui fonctionnera en mode FK, et qu'on va contraindre à des controlleurs pour ne pas avoir à animer directement les articulation.

Occupons nous d'abord de la chaine IK :

On ajoute donc un tag IK "Click droite sur le gestionnaire d'objet > Personnage > CI.
Dans les attributs du tag IK, on met comme fin l'articulation "Pied_IK 3", on ajoute une cible puis on ajoute un pôle.

13212

Passons maintenant à notre chaine FK :

Créez 2 splines cercle les renomer "Cuisse FK Controlleur" et "Genou FK Controlleur" puis en utilisant l'outil transferer (Outil>Réorganiser le objet>Transferer) les mettre respectivement à la position et rotation exacte des 2 premiere articulation de la chaine FK. vous pouvez aussi parenter les spline au articulation respectif, remetre tout les coordonnés "position et rotation" à zéro dans le gestionnaire de coordonné puis les resortir de la hierarchie une fois à la bonne place.

13213

Pour plus de visibilité, une fois que les controlleurs sont en place, je les rends editables, puis je passe en mode point, je selectionne tout les points et enfin je les decalle un peu vers le bas, comme ca l'axe reste à la même position que les articulation mais le cercle lui est plus bas donc plus facile à selectionner après (surtout quand y aura votre personnage). Et Enfin je met le "Genou Controlleur FK" en enfant du "Cuisse Controlleur FK"

Voici donc à quoi doit ressembler votre Gestionnaire d'objet :

13214

Maintenant, nous allons contraindre la chaine d'articulation FK aux controlleurs, pour ca rien de plus facile que les Contrainte PER "Position, Echelle, Rotation"

Donc pour l'articulation "Cuisse_FK_ 1" on click droite > Personnage > Contrainte. On active la case à cocher PER, puis on met comme cible ""Cuisse FK Controlleur".

http://img4.hostingpics.net/pics/899590tutoimage6.jpg

On fait la même chose avec l'articulation "Genou_FK 2" en mettant comme cible "Genou Controlleur FK".

Penser à geler la transformation de tout les objets que nous venons de créer, comme ca on pourra revenir à leurs position et rotation initiale un fois qu'on les a animé. Pour cela, selectionnez tout les objets dans le gestionnaire d'objet puis dans les cordonnées du gestionnaire d'attribut, cliquer sur "Tout Geler".

http://img4.hostingpics.net/pics/209177tutoimage7.jpg (http://www.hostingpics.net/viewer.php?id=209177tutoimage7.jpg)

Manitenant si vous tourner les controlleur FK, la chaine d'articulation FK va suivre.

Maintenant que la Chaine IK et FK est en place, nous pouvons passer au "Blend IK/FK" proprement dit. La methode est très simple, encore il fallait la trouver, d'où justement la raison de ce tuto car j'ai parcouru le net et à part un tutorial payant chez cineversity (et en plus en anglais donc) je n'ai trouvé que des tutorial maya, ou 3ds max. j'ai donc translaté la methode dans c4d.

Le principe est très simple, on a 2 chaines donc, une en IK l'autre en FK puis une troisième chaine (celui qui va veritablement agir sur notre géometrie) qui va, selon le mode (IK ou FK), suivre la rotation de la chaine IK ou celle de la FK. le tout avec un fondu transparent mais surtout très stable.

On va donc metre sur chacune des 3 articulations de notre Chaine Blend une contrainte rotation à 2 cible, puis on jouera avec l'intensité des deux cibles pour "Blender" de la position IK vers la FK et vis versa.

Mais d'abord, nous allos créer une interface "User Data" pour justement pouvoir basculer d'un mode à l'autre.

pour cela selectionner l'objet "Pied IK Cible" puis dans le gestionnaire d'attribut aller dans "Donnée Utilisateur > Nouvelle donnée utilisateur" ou bien si votre rig est plus compliqué (avec les orteilles, la cheville et le pied) ajoutez le sur le controlleur qui controlle votre pied en IK.

Renommer la nouvelle DU en "FK IK Blend", selectionnez "Champ d'entrée flottant" pour type de donnée et "curseur et champs d'entrée flottant" pour interface. laisser les autres champs par défaut puis cliquez sur OK.

Maintenant quand vous selectionner votre objet "Pied IK Cible" un nouvel onglet "Donnée Utilisateur" est présent dans le gestionnaire d'attribut et vous voyez votre nouveau slider.

http://img4.hostingpics.net/pics/822463tutoimage8.jpg


Nous pouvons maintenant ajouter nos contrainte rotation à la chaine Blend.

Faite click droite sur l'articulation "Cuisse_Blend 1" puis ajouter un contrainte (Propriété Personnage > Contraite)
Activer la case à cocher PER, puis dans l'onglet PER decocher "position et echelle" et ne cocher que "rotation".

Ajouter un deuxieme cible et decocher "position" et "echelle" comme sur le premier.

Ajouter comme premier cible "Cuisse_IK_1", puis comme deuxieme cible "Cuisse_FK_1"

http://img4.hostingpics.net/pics/417145tutoimage9.jpg

Faite de même avec l'articulation du genou en ajoutant comme premier cible "Genou_IK_2" et comme deuxieme "Genou_FK_2".

Finalement on va piloter dans Xpresso le blending entre les deux cible avec notre Donnée Utilisateur.

Ajouter un tag Expresso à votre objet "Pied_IK_3_Cible" (click droit > Proprieté cinema 4D > Xpresso).

Double cliquez sur le tag Xpresso puis glisser/déposer l'objet "Pied_IK_3_Cible" dans la fenêtre Xpresso.

Puis en cliquant sur le petit carré rouge en haut (sortie) à droite de l'objet qu'on vient de glisser dans la fenêtre Xpresso, sélectionné la sortie "FK IK Blend" dans "Donnée Utilisateur > FK IK Blend"

Puis glisser le tag contrainte rotation de l'articulation "Cuisse_Blend_1" dans la fenêtre Xpresso. Maintenant il va falloir chercher l'entrée "Influence" des deux cibles rotation sur le tag contrainte dans Xpresso.

Vous pouvez allez la cherchez manuellement dans "click droit sur le carré bleu (entrée) en haut à gauche du tag contrainte dans la fenêtre Xpresso > PER > Cible > influence" , seulement c'est difficile de distinguer qui est l'influence du premier cible et qui et le second. Pour moi la meilleur facon c'est de glisser déposer depuis le gestionnaire d'attribut directement le champ influence de chaque cible dans la fenetre expresso "sur le petit carré bleu en haut à gauche du contrainte position". en image c'est plus parlant :

http://img4.hostingpics.net/pics/549721tutoimage11.jpg



Comme ca on sais bien qui et l'influence de la cible 1 et qui est celui de la cible 2.

Reliez maintenant le noeud "FK IK Blend" au noeud "Influence" de la première cible.
Tout simplement, ca va faire correspondre la valeur du slider de notre donnée utilisateur (0% à 100%) à la valeur de l'influence de la contrainte cible (0% à 100%).

http://img4.hostingpics.net/pics/535807tutoimage12.jpg

Pour la deuxieme cible, nous voulons l'inverse, càd, quand la DU est à 100%, l'influence doit être à 0% puis plus on diminue la valeur de la DU plus on addition sur la valeur de l'influence.

pour cela nous allons créer un noeuds "Cartographie d'intervalle" pour inverser les valeur. Dans la fenêtre Xpresso, cliquez droit puis > Nouveau noeud Xpresso > Xpresso > Calculer > cartographie d'intervalle.

Sélectionnez le noeux cartographie d'intervalle puis dans le gestionnaire d'attribut, cochez la cases "inverser".

Nous pouvons maintenant relier FK IK Blend à la cartographie d'intervalle puis ce dernier à l'influence de la cible 2.

http://img4.hostingpics.net/pics/154399tutoimage13.jpg

Refaite la même chose pour la contrainte rotation de l'articulation "Genou_Blend 2" :

http://img4.hostingpics.net/pics/161557tutoimage14.jpg

Et voilà nous avons notre IK FK Blend, vous pouvez maintenant cacher les chaine FK et IK et n'afficher que la chaine blend.

Vous pouvez maintenant animer en IK puis avec l'interface Donnés Utilisateur "Blender" En FK et vis Versa.

Voilà j'espère avoir aidé ceux qui s'interesserait à cette fameuse blend et ne leur souhaite pas les mots de tête que j'ai eux en cherchant la methode.

Tiens je vais ouvrir un nouveau Thread dans la Section Tuto pour que ce post ne se noye pas dans mon WIP.

à Plus :icon_wavey:.

Edit : Désolé ce n'est que maintenant que j'ai pus reuploadé les image, j'ai pas eu de connexion le ce WE.

poumpouny
10/10/2014, 16h53
Est ce que vous pouviez voir les images ? :icon_frown:

Lestarling
10/10/2014, 16h57
Nan, on voit pas les images (moi je les voit pas après...)

druide
10/10/2014, 16h59
403. That’s an error.
Your client does not have permission to get URL/d0JVVYd3wIAkI55nw9oa9uiY9zFOsOxWWWG5hOq6rx1Ha9Af8Z g86oLV2yW--4omXdLYpUashVc=w1890-h926 from this server. (Client IP address: xx.xxx.x.xxx)

Forbidden That’s all we know.

leBigYO
10/10/2014, 17h37
non, pas d'images... dommage, ça m'intéresse bien en plus... :icon_pleure:
ceci dit, en lisant, on arrive à comprendre même (pas tout, je l'avoue, parce que c'est un domaine que je n'ai guère eu le temps d'explorer pour le moment)

et bien entendu, merci pour ce tuto