problème de skinned mesh [DirectX] - C++ - Programmation
Marsh Posté le 16-01-2007 à 16:05:25
j'ai pas encore joué avec ça (il serait temps), mais grosso modo c'est à toi de gérer ton lot de matrices à passer en constante à un shader, et de faire le blending dans le VS. (il y a aussi une solution en T&L je suppose, mais bon perso j'irai vers la solution shaderisée).
maintenant si c'est plus en amont ton problème, c'est autre chose. genre blender une animation et animer un membre de manière paramétrée genre la tête qui tourne pour suivre sa cible ?
Marsh Posté le 16-01-2007 à 19:04:17
en fait je dois animer un bras robotisé.
Comme il ne s'agit que d'une rotation par bones, me lancer dans les vertex shader c'est peut etre me compliquer la tache pour rien.
Il me semble qu'on peut directement appliquer la rotation sur la matrice des bones mais pour l'instant ça n'a rien donné ... je dois mal m'y prendre
Marsh Posté le 16-01-2007 à 19:58:21
généralement, quand on parle de skinning c'est qu'il va y avoir un mélange de plusieurs matrices - par vertex.
hors dans ton cas, c'est pas du skinning, c'est juste une "pile" de matrice. tu as plusieures liaisons, et à chaque liaison, tu as une transformation de cumulée.
alors après il faut voir comment tu structures: soit ton bras est un ensemble d'élément "indépendant", soit une masse géométrique unique, et chaque vertex possède un indice indiquant la matrice unique l'influançant (un skinning simplifié).
Marsh Posté le 16-01-2007 à 20:15:25
tel que je l'ai modélisé c'est un objet unique qui a 3 articulations.
Le tout a un squelette formé de 3 bones, comme cela quand je bouge une articulation les autres bouges en fonction du mouvement.
Marsh Posté le 16-01-2007 à 20:44:23
oui mais ce que je veut dire tu fais comment:
tu traçe toute la géométrie d'un coup,
ou tu traçe toutes les articulaltions les unes après les autres ?
Marsh Posté le 16-01-2007 à 20:52:35
pour ce que je suis en train de tester je trace les articulations les unes apres les autres
Marsh Posté le 16-01-2007 à 23:03:42
et bien ça devrait se faire naturellement non ?
tu cumules une nouvelle matrice a chaque articulation ?
Marsh Posté le 17-01-2007 à 14:02:21
en parallèle de l'utilisation des bones ? ou sans utiliser les bones ? (désolée mais tu m'as un peu perturbé là )
Marsh Posté le 17-01-2007 à 15:04:24
sans "bones".
ton bras est une cascade d'articulations, gère une cascade de matrice qui se cumulent.
la terminologie bones/skinning est lié quand tu as tu as plusieures matrices qui influence une même géométrie de manière pondérée. (enfin je sais pas comment dire)
Marsh Posté le 23-01-2007 à 15:39:21
merci beaucoup pour tout tes conseils.
Je m'en suis sortie en utisant des piles de matrices, ça marche nickel !
Marsh Posté le 27-07-2007 à 10:34:09
Voici un programme qui pourra t'aider à faire des animations de personnage en 3D.
visite: http://concoyote.free.fr
Marsh Posté le 16-01-2007 à 12:31:09
bonjour,
je travaille actuellement sur le principe des skinned mesh.
J'ai un bras articulé et j'aimerais pouvoir le faire bouger.
J'ai cependant un soucis. Tous les exemples liés aux skinned mesh sont basés sur des objets qui sont déjà animés. Moi je ne veux pas créer une animation je veux pouvoir imputer des rotations à certains bones quand je le veux. Mais je n'arrives pas à trouver comment faire cela.
une idée ?