PDA

Voir la version complète : Résolu Skinning et cartes d'influence... c'te galère...



Spasm One
24/01/2014, 21h02
Salut, voici mon premier perso que j'aimerais animer.

10473

je l'ai sculpté dans Zbrush, j'ai travaillé la topologie pour avoir un beau maillage, j'ai exporté le tout vers C4D, j'ai utilisé l'objet Personnage pour créer le rigging, mais lorsque j'ai essayé de bouger les contrôleurs ça m'a fait des trucs tout bizarres au niveau de la peau. En fait le skinning généré automatiquement est tout pourri me semble t-il, mais comme je n'y connais rien... j'ai essayé de le retravailler à la main, notamment la tête, mais le problème c'est que je ne connais pas la logique des cartes d'influences. Est-ce qu'elles doivent se superposer ? Est-ce qu'il faut être à 100% d'influence au plus fort de l'influence ?...

10474
10475
10476
10477

Merci de votre aide !

Fluffy
24/01/2014, 21h47
Salut, très chouette perso!

En ce qui concerne les influences, n'utilise pas la méthode automatique, fais-le à la main pour un meilleur contrôle.

Voici la procédure générale à suivre pour appliquer des influences:

1) Shift-double clic sur le tag d'influence de ton objet (cela va t'ouvrir le gestionnaire d'influences)

2) sélectionne tous les joints dans la liste, et remet leur influence à zéro (tu as un bouton dans le gestionnaire pour cela)

3) Passe en mode points/poly ou arêtes, sélectionne ton objet et ensuite sélectionne une section du maillage que tu souhaites influencer

4) sélectionne le joint auquel tu souhaites appliquer cette influence, et applique-lui une influence à 100%, en mode Abs (Absolu)

5) répète cette procédure sur l'ensemble des joints

D'une manière générale, tu vas tout d'abord appliquer tes influences à 100% sur tous les points du maillage (je commence généralement par le pelvis, mais ce n'est pas obligatoire).
Une fois ceci fait, je sélectionne les points qui doivent avoir une influence partagée entre deux joints, et je leur applique une influence à 50% chacun (fais ta sélection de points, puis sélectionne les deux joints à assigner et applique-leur 50% d'influence en une fois). Par influence partagée, j'entends par exemple les points autour du coude, qui devraient être en partie influencés par le bras et l'avant-bras.

Continue de cette manière jusqu'à avoir couvert l'ensemble des influences partagées.

Une fois ceci fait, tu peux commencer à rentrer dans le détail et ajuster par incrément de 5-10% tes influences pour obtenir un peu plus de finesse (cela se fait généralement en direct, en utilisant le pinceau d'influences).
Assure-toi de toujours peindre en mode Absolu ou Ajoûter, ce sont les deux seuls modes vraiment prévisibles lorsque l'on applique des influences (perso, je ne peinds qu'en mode Absolu).

Spasm One
24/01/2014, 22h39
Cool, merci Fluffy. Je vais essayer tout ça. ;)

Spasm One
24/01/2014, 22h58
Le fait de se mettre en mode points ou polygones, c'est juste pour mieux voir les polygones ?

Fluffy
24/01/2014, 23h02
Non, c'est pour pouvoir sélectionner les points à influencer.

En gros tu as deux méthodes pour appliquer des influences: le pinceau, et le gestionnaire d'influences.
Il est bien plus simple de faire des sélections par boucles pour commencer, et d'appliquer ses influences en masse de cette manière, que de devoir faire le tour de ton objet avec le pinceau.
De cette manière, tu définis des zones entières pour appliquer tes influences, en un clic.

Spasm One
24/01/2014, 23h07
ah yes ! en effet c'est plus simple comme ça :)

joecare
25/01/2014, 15h09
Merci fluffy, je me permet de suivre tout ça,...en silence..très interessant, s'il y a d'autres points sur ce sujet, je suis preneur..

Fluffy
25/01/2014, 17h16
Oh, il y a beaucoup de points sur ce sujet, parceque c'est un sujet vaste :)

Quelques tips supplémentaires, qui me passent par la tête:

- le gestionnaire d'influences est extrêmement puissant. On peut copier-coller des influences entre joints, faire des symmetries, etc... donc ne pas l'outre-passer est important.

- lorsque l'on fait une influence automatique ou un lissage, on a souvent des valeurs pas très digestes (genre, 23.3% d'influence). Le gestionnaire d'influences permet d'arrondir ces valeurs à l'unité, aux 5 unités ou aux 10 unités les plus prôches, ce qui permet de reprendre le travail automatisé de manière plus pratique, avec des influences plus compréhensibles

- ne pas hésiter à colorer ses joints, et utiliser la couleur des joints pour afficher les influences. De cette manière, il est plus facile de visionner l'impact de chaque joints sur le maillage, en un coup d'oeil

- Certaines zones sont relativement difficiles à influencer correctement (hanches/épaules). Ne pas hésiter à utiliser des morphs correctionnels liés à la rotation des joints, plutôt que de passer des heures à essayer d'avoir de belles déformations uniquement avec des influences

- Faire bien attention à l'emplacement des axes de chaque joint. Ceux-ci définissent les rotations de chaque section du maillage, donc si ils sont mal placés, les déformations seront merdique, même si les influences sont appliquées correctement.

joecare
25/01/2014, 18h12
Oui, j'avais remarqué la difficulté avec les epaules...entre autres..
Merci...sujet très vaste, mais bon, ce n'est pas le mien, alors...je suis de près et regarde sur le forum...

Spasm One
25/01/2014, 19h31
Bon je vais pleurer...

Outre le fait que mon maillage n'a pas de belles boucles et que je suis donc obligé de me taper presque toutes les zones d'influences à la main, je me rends compte que je dois avoir avoir des problèmes d'axe de rotation au niveau de épaules... et quand je m'amuse à bouger les contrôleurs j'ai encore plein de zones qui ne vont pas.
Le problème c'est que je n'arrive pas à savoir où doit commencer une zone d'influence et où doit elle s’arrêter.
Par exemple est-ce que la zone du "chest" doit être plus étendue ? idem pour la "BD_Collar".

10482

10481

Pour l'instant j'en suis là :

10483

Fluffy
25/01/2014, 20h01
Ok, commençons déjà par ta topologie: elle est bien trop dense, donc je te conseille de travailler sur une base qui est une ou deux fois moins subdivisée.

Une fois que tu auras moins de points à influencer, le travail va se simplifer grandement.

En ce qui concerne les zones à couvrir, cela dépend de l'étendue de tes joints et de leurs axes. Chaque joint va faire bouger les points qu'il influence, donc imagine que ces points soient directement parentés aux joints pour comprendre comment les influences vont fonctionner.
La valeur de l'influence va définir à quel point se parentage sera pris en compte.

D'une manière générale, tu peux influencer jusqu'à l'axe du prochain joint, là où l'influence commencera à être partagée entre ces deux joints.

Spasm One
25/01/2014, 20h55
ok... :icon_pleure:
c'est reparti pour la topo dans Zbrush...

Merci Fluffy !

Fluffy
25/01/2014, 21h05
Cela devrait te prendre deux minutes. Choisis un niveau de subdivision inférieur, puis ré-exporte ton maillage.
Je te conseille une réduction de deux niveaux.

Montre-nous le maillage avant de te lancer dans la peinture d'influence, et je te dirai si cela convient.

Spasm One
26/01/2014, 17h49
Justement le problème c'est que mon maillage de base n'est pas beau.
Ici je suis en subdivision de niveau 2 :

10491

Du coup je duplique mon modèle, je fais de la retopologie à un niveau plus haut, puis j'utilise Qremesher pour abaisser le niveau de polygones, mais ça me fait des bras tout cassés... je dois m'y prendre mal quelque part...

10492

10493

Spasm One
27/01/2014, 22h54
Qremesher me fait trop des trucs pourris, je vais faire la retopo à la main.
Ça va comme début ? (c'est ma première fois):

10500

Fluffy
27/01/2014, 23h56
Oui, cela m'a l'air bien parti. Faudra certainement rajoûter une boucle ici et là, mais dans l'ensemble le niveau de subdivision semble correct pour commencer.

valkaari
28/01/2014, 12h09
en passant, la dernière version de zbrush c'est la r6p2 tu es en r4.

qremesher n'existe plus et a été remplacé par zremesher bien plus performant. (mais qui fait quand même des loops pourrit pour une animation derrière)

Spasm One
29/01/2014, 00h43
la retopologie c'est pas facile facile hein... ça peut rendre fou non ? on connait les statistiques des gens qui finissent en HP après avoir fait des heures et des heures de retopologie ? :icon_banghead:

Je l'ai pratiquement terminé il me reste juste ce petit problème...

10509

C'est possible de s'en sortir ? sans tout casser ?

@valkaari : merci pour l'info !

Spasm One
29/01/2014, 10h43
Voilà j'ai terminé la retopo...
Est-ce que le maillage vous semble correcte pour entamer la phase du skinning ?

Juste pour vous expliquer, mon anim' va être extrêmement simple : C'est un crapaud qui vole poussivement avec un jetpack, il a dans chaque main une pancarte, il fait face à la caméra et montre les 2 pancartes, puis s'en va. C'est tout.
Du coup j'ai au moins 2 questions :
- comment je dois prendre en compte les 2 brassières qu'il a au niveau des épaules ?
- comment je fais pour qu'il aie les jambes "pendantes", c'est-à-dire juste animées par les mouvements globales du corps ?

10514

Aurety
29/01/2014, 11h19
Oui ça a l'air très bien !
Pour les jambes pendantes, tu peux utiliser une CI Spline dynamique ça devrait le faire.
Pour les brassières, objets séparés je dirais, et skinnés sur les bonnes articulations, comme d'habitude quoi.

J'ai hâte de voir ça :thumbup:

Niuq Cam
29/01/2014, 11h20
Passionnant et instructif. Ca bosse bien ici !

Spasm One
29/01/2014, 11h52
dans Zbrush j'ai projeté ma version hi-polygones vers mon low-poly avec le "Project all", et du coup j'ai ce genre de problème... comment ça me saoule..
edit : je suis en train de comprendre que cela vient de la trop grande distance entre mon low-def et mon hi-def, il faut donc que je retouche mon low-def pour qui colle plus au hi-def.

10518

@Aurety : j'aime bien ton "comme d'habitude"... mais c'est mon premier perso ! ;) du coup j'ai pas vraiment compris tes explications pour le problème des brassières.

Fluffy
29/01/2014, 15h36
Les brassières vont être influencées comme le reste du corps, il faut juste affecter les joints corrects (donc ici, les joints du torso et du bas du dos).

valkaari
29/01/2014, 16h39
il ne faut pas projeter directement le modèle HD vers le modèle LD.

Il faut y aller subdivision par subdivision en gros. En jouant sur la distance de projection. (et même comme ça faut retoucher parfois)

Spasm One
04/02/2014, 23h24
Je continue doucement.
J'ai encore eu des problèmes de maillage de dernière minute. Zbrush m'a créé une sorte de double boucle près de l'axe de symétrie de mon personnage ce qui me créait des bugs au niveau de mon displacement dans C4D. En cherchant dans les classroom vidéos de Pixologic j'ai trouvé la solution au problème : il faut utiliser le bouton "Increase all", par contre ça ne marche que sur un subtool sans subdivision, j'ai donc dû refaire le process de projeter mon highpoly vers le lowpoly.. (je n'ai pas réussi à le faire avec ta méthode Valkaari, je re-essaierai une autre fois sur un truc moins complexe).

10593 10595 10594


Maintenant mon maillage semble pas mal, je ré-attaque les zones d'influences :

10596

à suivre...

Fluffy
05/02/2014, 00h37
Bien, par contre tu as des joints en trop.

Sur les bras, tu devrais avoir un joint pour les clavicules/épaules, un pour le haut des bras, un joint pour l'avant-bras (ou 3 si tu souhaites simuler la torsion de l'avant-bras, mais c'est déjà plus avancé pour un débutant), puis un pour la paume de la main qui articulera le poignet, et enfin les joints des doigts .

Si tu mets trop de joints, cela complique l'application des influences et ralentit ton rig (plus d'objets à gérer).

Spasm One
07/02/2014, 16h39
Ok en fait il y'a beaucoup de joints parce que j'avais pris l'option "bipède avancé" du module Personnage.
En prenant juste "bipède" j'arrive à ça :

Les composants :
10635

Les contrôleurs :
10636

J'ai incliné les contrôleurs de la poitrine et du bassin pour qu'ils suivent la forme du corps, est-ce que c'est bien ?
Les mains du perso seront toujours fermées, donc je n'ai pas besoin de mettre des joints aux doigts ?

(merci de me suivre Fluffy)

Fluffy
07/02/2014, 17h16
Tu pouvais garder l'autre rig, mais pas vraiment besoin d'influencer tous les joints (histoire de gagner un peu de temps et simplifer la tâche).
Tu peux orienter tes contrôleurs de la manière que tu préfères, pas vraiment de règle à suivre ici, mise à part ce qui te semble logique, ou les orienter de manière à ce qu'ils soient accessibles.

En ce qui concerne les doigts, ma remarque était de manière générale. Sur ton perso, tu peux juste appliquer les influences de la main et des doigts sur le joint de la main.

Spasm One
07/02/2014, 18h13
Ok merci !
Sinon petite question toute bête, là je viens de passer à la R15, et je ne trouve plus les "points chauds" (hotspot) pour sélectionner les contrôleurs..

Spasm One
09/02/2014, 23h05
j'ai fini le skinning et je commence à comprendre les subtilités des cartes d'influences et comment chaque point doit avoir 100% d’influence. j'arrive à ça :
10663


J'ai essayé de "rattacher" les yeux au corps via une contrainte personnage, mais ça ne fonctionne pas. J'ai contraint en PSR avec pour cible l'os de la tête :
10664


Et sinon je ne comprends pas non plus comment je dois bouger mes contrôleurs pour commencer à animer le perso, ils sont pour la plupart verrouillés, et si je les déverrouille ils ne sont plus attachés au personnage.
10665

J'essaye d'apprendre avec un vieux tuto d'Éléphorm qui date de la R10-R11, mais du coup y'a plein de trucs qui ont changé depuis, c'est un peu galère... :(

Spasm One
25/02/2014, 22h32
j'ai continué d'avancer et j'ai compris et résolu mes derniers problèmes. Pour mon rigging j'avais choisis l'option FK au lieu de IK, c'est pour cela que je n'avais pas de contrôleurs au niveau des mains. Mon problème d'accessoires qui ne s'attachaient pas au personnage venait aussi de là. Bref j'ai refais mon boning/rigging, et refais pour la troisième fois le skinning et les cartes d'influences.
Je commence enfin à m'amuser avec l'animation.

J'ai une nouvelle question, est-il possible de mettre la peau de mon personnage en auto-collision pour qu'elle se repousse elle-même ? Je vous joins un extrait (à télécharger ici (http://www.spasmdesign.com/extrait_crapaud_H264.mov)) de mon animation où l'on voit que le menton entre dans la poitrine, alors que d'une façon réaliste son menton devrait s'écraser contre sa poitrine. Y'a t-il un moyen de résoudre ça ?

Siouz-Back
26/02/2014, 14h50
Il faudrait que ton menton ai une influence sur la poitrine pour que ça déforme la poitrine sans rentrer dedans en fait. Sinon, exit ce problème, ton anim envoie déjà pas mal le regard bovin marche bien et tout et tout.

Spasm One
26/02/2014, 15h39
En fait c'est le menton que je voudrais plutôt déformer, parce que c'est lui qui est mou par rapport à la cage thoracique. Donc je retire de l'influence sur le menton pour en allouer plus à la poitrine ?
Et merci ;)

Fluffy
26/02/2014, 15h54
Non, c'est plus compliqué que cela. Les influences ont un impact linéaire sur le maillage (donc si tu bouges un joint, le maillage va suivre le même mouvement de manière régulière).
Pour ce que tu cherches à faire, applique une influence du menton a un joint séparé, qui aura une rotation différente par rapport au joint de la tête/mâchoire.

En gros, tu veux que ce joint, qui influence le menton, suive le joint de la tête dans ses rotations, mais s'arrête lorsqu'il se retrouve à un certain angle. Du coup, si la tête continue à tourner, ce joint ne la suivra pas et cela va écraser le menton.

Tu peux aussi faire cela avec des morphs contrôlés par la rotation du joint de la tête, ou avec des déformateurs (le déformateur collision est tout-à-fait adapté à ce genre de chose, mais cela ne détecte pas les auto-collisions, donc il faut trouver une autre méthode).

Rudy
26/02/2014, 17h29
J'ai suivi ce wip et pris pas mal de notes, merci c'est pasionnant.

Juste une question; je peux faire la même chose à partir de la Visualise, le rig et les influences ?

Fluffy
26/02/2014, 17h50
Mis à part l'outil Character, il me semble que toutes les méthodes citées sont accessibles sous la Visualize, oui.

Rudy
26/02/2014, 18h12
Merci Fluffy, je vérifiais cela dans le soft, mais n'ayant pas l'habitude des persos, je préférais une confirmation.

Personnage riggé à l'horizon :ninja:

Spasm One
26/02/2014, 22h35
Pour ce que tu cherches à faire, applique une influence du menton a un joint séparé, qui aura une rotation différente par rapport au joint de la tête/mâchoire.

En gros, tu veux que ce joint, qui influence le menton, suive le joint de la tête dans ses rotations, mais s'arrête lorsqu'il se retrouve à un certain angle. Du coup, si la tête continue à tourner, ce joint ne la suivra pas et cela va écraser le menton.


Merci pour ta réponse. Je crois que je comprends, mais pas sûr, il va falloir que je fasse des tests... et je peux rajouter ce joint sans casser tout le skinning déjà existant ?

Spasm One
20/03/2014, 16h28
Je peux afin retravailler sur ce projet...
En théorie je comprends ce que tu expliques Fluffy mais je n'arrive pas à l'appliquer.
Je voudrais allouer la peau du menton/gosier à l'os de la mâchoire (qui ne me servait à rien jusqu'à présent) pour ensuite contraindre la mâchoire avec une limite d'angle. C'est-à-dire si la tête penche en avant sur l'axe P, la mâchoire va suivre cette rotation jusqu'à une limite où elle va s’arrêter, mais comment je fais ça ? avec une contrainte PSR ?

11099

Fluffy
20/03/2014, 17h15
Tu peux le faire via contraintes, mais il serait plus simple de faire cela via Xpresso.
Lie les deux rotations de chaque objet, et place un range mapper (cartographie d'intervalles) entre les deux.
Cela te donnera donc "joint tête>range mapper>joint mâchoire".
Tu règles ensuite le range mapper en utilisant des degrés, puis en mettant disons 90 degrés pour le joint de la tête et -30 degrés pour le joint de la mâchoire.
Du coup, lorsque la tête est tournée de 90 degrés, la mâchoire va se resserrer et tourner de -30 degrés, ce qui devrait te donner l'effet que tu cherches.

Spasm One
23/03/2014, 18h09
Cool, merci ça marche super bien !

Spasm One
01/04/2014, 14h32
Voici mon animation finalisée...
et oui au départ c'était pour mes vœux de bonne année, ça perd donc tout son intérêt mais j'ai quand même voulu aller au bout du projet. (et puis des vœux un 1er avril c'est drôle :icon_redface:)
Évidement il y'a un milliard de petites choses qui ne vont pas : collision entre la ceinture et le corps, l'animation un peu trop rigide, les mains très moches etc. j'essaierais de faire mieux la prochaine fois !
En tout cas merci à vous tous pour votre aide et notamment merci à Fluffy.



https://vimeo.com/90552642

maxencedt
01/04/2014, 15h15
Excellent ! :biggrin:

Dommage que le vert soit couleur cartoon-tchernobyle alors que le crapaud est modélisé façon semi-réaliste. :huh:

Spasm One
01/04/2014, 19h53
C'est volontaire cette couleur cartoon, c'est plus funky fresh ! ;) et surtout une couleur de peau réaliste aurait donné un coté vraiment trop "dégueu" je pense..

Fluffy
02/04/2014, 01h44
En fait ce n'est pas la couleur à proprement parlé qui est gênante, mais surtout le manque de définition (le côté uniforme, si tu préfères). Ça fait un peu jouet en plastique, dommage pour un personnage aussi bien modélisé.

Sinon c'est très sympa, bravo pour avoir mené ce projet à bout!

Spasm One
03/04/2014, 14h57
hum ok je comprends :)