Equivalent de l'Attachment Constraint

Ici on parle de skinning et de rigging

Modérateurs : frez, Yadoob, stilobique, Matpi, ModSquad

Equivalent de l'Attachment Constraint

Message par ZalitZ » 15 Déc 2017, 14:51

Salut,
Je bosse sur 3DS Max et je cherche à passer sur Blender pour tout ce qui est Rig et Animation. Le problème c'est que je n'arrive pas à trouver un équivalent de l'Attachment constraint, qui permet de lier n'importe quel objet à une surface, même déformée par du skin, le tout en gardant l'orientation de cette face.

Je veux pouvoir contraindre des bones à une surface pour pouvoir ensuite utiliser ces bones pour skinner un autre objet. C'est pour un export dans un moteur de jeu vidéo, donc j'ai vraiment besoin d'utiliser des bones et d'exporter un skin, il ne faut pas que ce soit simplement bon visuellement, la hiérarchie doit aussi être correcte.

Je me sers de cette technique par ex pour attacher un objet sur le corps d'un personnage mais en gardant la position exacte de l'objet par rapport à la face skinnée. Je peux aussi m'en servir pour faire une approximation du cloth avec des bones. J'evite les dependances circulaires en créant un objet skinné simplifié qui ne sert qu'à ça.

J'ai regardé du coté de la constraint Shrinkwrap mais c'est plus une projection qu'un véritable snap permanent à la face.
Pour ce qui est du modifier Surface Deform, ça ne marche pas vu que c'est un bone.

Voila, merci :)
Avatar de l’utilisateur
ZalitZ
 
Message(s) : 3
Inscription : 15 Déc 2017, 14:32

Re: Equivalent de l'Attachment Constraint

Message par zeauro » 15 Déc 2017, 16:03

Dans Blender, pendant des années, on a utilisé du vertex parenting (avec un empty intermédiaire dont le bone copiait la position/rotation).
Mais de nos jours, la contrainte Child Of ou Copy Transforms supporte les vertex groups.

Dans les 2 cas, le principe est le même : ce sont les normales conjuguées des vertices qui vont donner l'orientation de l'enfant.

Un vertex group peut se référer à plus de 3 vertices contrairement au vertex parenting qui ne supporte qu'1 ou 3 vertices. Mais dans ce cas, la moyenne des normales ne va pas forcément être satisfaisante.
Il vaut donc mieux tenter de se limiter à 3 vertices corespondant au plan tangent de l'orientation voulue pour le vertex group.

Le vertex group à créer pour l'orientation voulue dépend pas mal de la façon dont on va déformer le mesh après.
Si on déforme par des textures, ça ne peut pas être un vertex isolé.
Si on veut une sensibilité à une déformation très localisé, on ne peut pas utilisé des vertices très distants les uns des autres.
Si au contraire, on attache un gros objet par rapport à la surface ; on va choisir des vertices assez espacés pour englober l'objet dans un triangle pertinent.
zeauro
 
Message(s) : 858
Inscription : 21 Août 2013, 15:47

Re: Equivalent de l'Attachment Constraint

Message par ZalitZ » 15 Déc 2017, 19:42

Alors, le Child Of constraint c'est vraiment presque ça. Ça marche parfaitement avec une rotation simple de la surface de base, par contre quand c'est skinné et que je fais bouger mes bones , l'empty qui est contraint à la face va tourner sur l'axe de la normale, comme une IK qui ne trouve pas son pole target.
Avatar de l’utilisateur
ZalitZ
 
Message(s) : 3
Inscription : 15 Déc 2017, 14:32

Re: Equivalent de l'Attachment Constraint

Message par zeauro » 17 Déc 2017, 21:57

Depuis un moment, blender est penser pour qu'on n'utilise plus d'empty en rigging mais directement des bones.

Par défaut, les empties ont une rotation de type XYZEuler alors que les bones utilisent des quaternions par défaut.
La rotation sur l'axe est probablement due à ça.
zeauro
 
Message(s) : 858
Inscription : 21 Août 2013, 15:47

Re: Equivalent de l'Attachment Constraint

Message par ZalitZ » 17 Déc 2017, 22:22

En réalité, c'est pareil avec un bone. J'avais testé les 2. Le problème vient vraiment du skinning, parce que la rotation sans skin conserve la bonne orientation. Je pense que la child of constraint n'arrive pas à considérer la nouvelle orientation des vertices de la face skinnée, juste leur position et leur normale, et c'est pourquoi le bone reste collé à la face mais qu'ensuite il ne sait pas comment orienter les 2 autres axes.
Je ne suis pas sur que le type de rotation influe sur le bone. Je ne pense pas avoir de gimbal lock vu que je n'anime pas la rotation du bone, je lui dit juste que ses nouveaux parents sont un vertex group. D'autant plus que j'aimerais pouvoir les mettre en Euler pour les animer plus facilement.
Avatar de l’utilisateur
ZalitZ
 
Message(s) : 3
Inscription : 15 Déc 2017, 14:32


Retour vers Skinning - rigging

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)

cron