Bonjour,
flipPoz, un plug pour inverser les poses!
C'est en faisant une petite animation du cycle de marche que j'ai pensé à faire ce plugin. au lieu de faire du copier/coller + changer les valeurs, la moitié du cycle suffit, le reste est à inverser avec flipPoz..
Je l’ai testé avec peu de perso, vu qu’il est destiné à être utiliser avec le nouveau Character Tool r13 , donc, maybe, quelques bugs en vue
Dites moi ce que vous en pensez.
>>> FlipPoz
demo :
+
Merci Ksaa ! Toujours aussi généreux et aussi talentueux ! Je mate ça demain
kenavo !! // Pinterest KAMIGAZ®
waouw super Ksaa . merci pour ton partage .
ça fonctionne par transfert en "translation" ( ' -X ' par ex ) ? ou par multiplication de matrices ?
Merci
Au début j'ai commencé par utiliser des matrices... mais j'ai fini par opter pour le fameux X >> -X, beaucoup plus simple.
ha ok .
Je m'étais fais un script qui fait du mirroir de poses aussi , mais par matrices car je voulais pouvoir choisir les objets à mirrorer et l'objet de centre du mirroir . pour les plans de mirroir aussi ça me permet de choisir si je fais un mirroir sur XY XZ ou YZ , le tout sur le X de l'objet de ref etc . enfin j'ai les 9 combinaisons de mirroir possible à chaque fois .
Ha !! Ça ressemble grandement à ce que je voulais faire ... la version initiale était avec une interface quasi proche de la tienne
Mais comme j'ai vu que je ne faisais que des sym par rapport à l'axe Y, j'ai viré le resteCode:def symAxePos(nomAxe, pos): if nomAxe == 'XY': return c4d.Vector(pos.x, pos.y, pos.z*-1) elif nomAxe == 'XZ': return c4d.Vector(pos.x, pos.y * -1, pos.z) elif nomAxe == 'YZ': return c4d.Vector(pos.x*-1, pos.y, pos.z) else: print 'No selected axis'
D’ailleurs petite question de débutant, comment on récupère la valeur de la rotation à partir d'une matrice ?
enfait mon interface (enfin celle que j'aurais souhaité avoir) c'était celle-ci (faite avec le plugin Resedit ):
mais comme on ne peut pas jouer avec les userdatas et créer des poses dynamiques ( à ma connaissance ) , en Coffee , j'ai laissé tomber la finalisation de mon plug . j'utilise un simple tag coffee avec la base de fonctionnement , ça me suffit déja bien .
Pour connaitre la rotation , il y a une fonction ( en coffee ) mat->GetHPB();
dans mon scirpt je n'ai pas utilisé cette fonction , je prends chaque axe V1() V2() et V3() qui définissent la "rotation" et je les multiplie par un vecteur (1,1-1) par ex etc . je n'ai pas de donnée angulaire donc je veux dire .
Dernière modification par clemz ; 03/02/2012 à 13h04.