This forum has been permanently closed and archived; you can still access all content but can't post anymore.

Of course, you can still join us in other places!
To get support and talk about RxLaboratory and with the team, come here: https://rainboxlab.org/support/

Setup d'aile d'oiseaux - Duik

Post Reply
Cat'

Setup d'aile d'oiseaux - Duik

Post by Cat' » Tue Aug 30, 2016 3:43 pm

Bonjour !

Je dois créer un setup d'ailes d'oiseaux ! Mon commanditaire m'a demandé de pouvoir bouger les plumes à l'aide d'un curseur Duik pour pouvoir ajuster sans avoir à animer les mask des plumes une à une.

J'ai pratiquement réussi à concevoir ce setup j'ai juste plusieurs petites choses qui m'ennuient et sur lesquels je bloque un peu.

Voici mon approche :
Chaque plume a été épinglée 4 fois avec l'outils marionnette.
A la troisième épingle j'ai créée un controller et une chaine IK, la dernière épingle est l'enfant de l'épingle précédente, grâce aux bones duik. Ainsi avec la rotation on pourra à souhait déterminer le sens d'animation des plumes :
Image

Un curseur général entraîne tous les plumes en position. Ça ne marche pas forcément sur toutes, j'ai donc rajouté des controllers intermédiaires pour réajuster manuellement.
Image

Ça a été plutôt simple et basique à mettre en place grâce à des zéros intermédiaires qui étaient successivement scriptés en position pour suivre les positions des précédents controllers.
Ça m'a permis de laisser la liberté au futur animateur, le loisir de repositionner lui même les plumes.

J'aurais aimer faire de même pour la rotation mais impossible ! Quelle que soit le parent du controller, ce parent peut influencer la rotation du controller car je le vois tourner mais pas de la plume ! Pour le moment donc ce sont les controllers qui sont scriptés en rotation pour suivre la rotation du controller principal.
Une idée de comment je pourrais contourner le système afin de retrouver la possibilité de faire des rotations manuels sur les controllers ?

Merci d'avance !

Duduf
Posts: 915
Joined: Mon Jun 20, 2016 2:59 pm

Re: Setup d'aile d'oiseaux - Duik

Post by Duduf » Tue Aug 30, 2016 4:14 pm

Hello !

J'ai du mal à comprendre pourquoi la rotation des parents des contrôleurs ne redescend pas la hiérarchie ; pour moi c'est soit qu'il manque un lien quelque part, soit qu'un IK bloque des rotations...

Je me demande si un IK est vraiment utile et si c'est ce qu'il y a de mieux pour la "base" de la plume, ca me parait pas très naturel, si ?

Le mieux, ce serait d'avoir un AEP avec juste ton exemple d'aile dedans pour pouvoir regarder directement dedans et au moins régler le problème des rotations ;)

Cat'

Re: Setup d'aile d'oiseaux - Duik

Post by Cat' » Wed Aug 31, 2016 8:25 am

Une chaine IK m'a semblé toute désignée pour répondre au critère "avoir un curseur qui déforme l'aile en le déplaçant", toujours sans que l'animateur ait à toucher au mask de la plume ! :) Mais je reste ouverte à toute autre proposition bien sur.

Dans mon approche des choses, je me suis aussi vite rendue compte que un curseur par plume ça allait vite saturer l'aile de controllers. Donc dans l'optique d'optimiser le nombre de controller j'ai essayé de me contenter de ces chaines IK. J'avais bien penser à faire des chaines FK sinon ça aurait été plus contrôlable disons, surtout pour la forme.

Enfin pour ce qui est de la base de la rangée de plume, je pensais essayer de faire des Rot morhs ! Surtout pour la base de chaque rangée qui n'est encore affectée par rien !

J'ai préparé le fichier aep ! Merci beaucoup !
Je ne comprends pas non plus d'ou vient ce problème de rotation.
https://we.tl/SpI07M1cay

J'ai commencé à faire une animation sommaire, c'est uniquement pour éprouvé le setup ! :)

Duduf
Posts: 915
Joined: Mon Jun 20, 2016 2:59 pm

Re: Setup d'aile d'oiseaux - Duik

Post by Duduf » Thu Sep 01, 2016 6:21 am

Désolé je n'ai pas eu le temps hier, mais je regarde ça ce matin!

Cat'

Re: Setup d'aile d'oiseaux - Duik

Post by Cat' » Thu Sep 01, 2016 1:30 pm

Pas de soucis je comprends !

Tu as pu regarder un peu entre temps ?

Duduf
Posts: 915
Joined: Mon Jun 20, 2016 2:59 pm

Re: Setup d'aile d'oiseaux - Duik

Post by Duduf » Thu Sep 01, 2016 2:17 pm

OKAY !


Alooooors ;

je reste peu convaincu par l'usage d'un IK pour la base des plumes, ca donne une espèce de "coude" quand on manipule que je trouve un peu étrange, mais bon, ça fonctionne quand même, et je vois le principe. D'un autre côté ça joue un peu plus le côté bras humain, vu que cette chouette est distinée à être animée un peu comme un perso humain.

Pour le problème spécifique des rotations, ce qui fait que ça ne fonctionne pas, c'est que le bout des plumes est géré comme une "main" au bout d'un IK - via un "IK Goal" de Duik. Cet IK Goal utilise une expression pour lier la rotation du bout à la rotation du contrôleur de l'IK. Donc, si on rigge la rotation d'un parent du contrôleur (son zéro dans l'exemple), la rotation n'est pas transmise, puisque le contrôleur lui même ne tourne pas, sa valeur de rotation ne varie pas.

Pour contourner le problème, trois solutions :
  1. Faire ce que tu as fait, en expressions directement sur les contrôleurs, en ajoutant à la fin de l'expression

    Code: Select all

    +value;
    qui permet de prendre en compte aussi la valeur de rotation et l'animation du contrôleur dans le résultat, donc de le "débloquer"
  2. Virer l'effet goal (enlever l'expression dans la rotation des bones de "main" , et l'effet goal du contrôleur) et faire un lien de parenté à la place entre le bone "main" et le contrôleur correspondant. Mais on perd le goal justement et je suis pas sûr que le comportement soit bien
  3. modifier directement l'expression dans les bones de "main" : garder l'expression du goal, qui se termine par

    Code: Select all

    result;
    (le résultat de l'effet) et ajouter une ligne en dessous du style

    Code: Select all

    result + tonExpressionAToi;
    C'est sans doute la solution la plus propre, mais pas forcément la plus évidente...

Cat'

Re: Setup d'aile d'oiseaux - Duik

Post by Cat' » Fri Sep 02, 2016 8:24 am

En rajoutant l'expression value; à la fin de mes expressions ça a l'air de fonctionner très bien ! Je modifierai pour la solution plus propre sans doute plus tard, car il faut d'abord que le concept du setup soit validé.

Merci encore !

Post Reply