Voir la version complète : flipPoz
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 (http://safina3d.blogspot.com/2012/02/flippoz-v10b.html)
demo :
http://www.youtube.com/watch?v=1APLTmwchPY&feature=related
+
http://vimeo.com/35960911
Merci Ksaa ! Toujours aussi généreux et aussi talentueux ! Je mate ça demain :thumbup1:
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
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'
Mais comme j'ai vu que je ne faisais que des sym par rapport à l'axe Y, j'ai viré le reste
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 ):
http://kiteclem35.free.fr/3D/C4D/userinterface9.jpg
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 .
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. Tous droits réservés