CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : Comment rigger un Rubik's Cube ?

DébutPage précedente
12
Page suivantePage suivante
Sneyek Sneyek
MP
Niveau 12
13 juillet 2017 à 13:12:08

C'est en réponse à mon message ou celui de huryl ? :question:

Car pour le coup, je sais trés bien et je suis d'accord qu'une solution contraignante en anim n'est pas envisageable en rig, cependant, mon idée n'est pas de laissé l'animateur switcher les contraintes manuellement mais d'automatiser le tout, suivant le contrôleur sélectionné.
Le fait de key permettra de switch entre les contraintes actives et inactives, qui le seront simplement selon le contrôleur sélectionner parmi les 6 contrôleurs sur lesquels on est plutôt d'accord.

Du coup moi je suis parfaitement ouvert a essayé des hitbox mais... comment ont fait ? :hap:
J'apprend seul et c'est pas facile, vous auriez peut être des conseils ou tutos ?

allicroco allicroco
MP
Niveau 10
13 juillet 2017 à 20:53:00

Mp le mail de mon pote

fruityfrank fruityfrank
MP
Niveau 6
18 juillet 2017 à 18:01:20

Hello,

Alors, deja, tres cool exercice, mais aussi un peu dur !

En fait, ca depend majoritairement de l’environnement dans lequel tu developpes ton truc (i.e. de la boite pour qui tu bosses, de ce que tu peux deployer comme outil, de comment tu interagis avec les animateurs, etc). J’ai reflechi un peu au truc, et je pense pas qu’il soit possible de faire quelque chose en l’etat, dans maya, en utilisant des nodes. Je testerai sans doute juste un truc par acquis de conscience, mais sans grand espoir :
- Sachant que tu as 9 controllers pour ton objet, tu peux essayer de parenter chaque cube a 9 groupes au dessus, et de parentConstraint chaque controller a 1 groupe. Mais evidemment, n’utilises pas la parentConstraint de maya (auquel cas seule la derniere constraint sera effective, et overridera toutes les autres), utilise une matrixConstraint que tu te fais, avec offset (recherche vite fait le principe, mais c’est pas tres complique si tu comprends comment fonctionne une matrix. Jviens de trouver une video de Wasim Khan, un des 2 leads de naughty dog, qui explique tres bien : https://vimeo.com/82095352 )
Ensuite, il faudrait voir pour avoir un pivot dynamique par petit cube pour que la rotation fonctionne. Encore une fois, je testerai tout ca plus par souci de tranquillite qu’en y croyant vraiment (aussi parce que le fait de bouger le point de pivot, couple a de la rotation, a toujours ete un probleme), mais ca prend 2 secondes, donc autant essayer ^^

Une fois que ca a raté, je partirai sur une solution scriptee. Le souci, c’est que du coup, faire ca en script c’est beaucoup moins challenging, et donc beaucoup moins impressionnant dans un reel, evidemment ^^ Mais c’est quand meme interessant !

En gros, tout le probleme d’un rig de rubik’s cube, c’est que ce que tu bouges doit changer en fonction du controller que tu as selectionne. En d’autres termes, la selection se fait a la volee, et non a l’avance (quand tu selectionnes un wrist, ou un finger, tu sais que ca selectionnera TOUJOURS ce wrist, ou ce finger. La, ce n’est pas le cas). Or ca, dans le fonctionnement meme de maya (la dirty propagation : http://help.autodesk.com/view/MAYAUL/2017/ENU/?guid=__files_Dependency_graph_plugins_Dependency_Graph_DG_nodes_htm), ce n’est pas possible de definir quelque chose a la volee. Il y a toujours des hacks (genre des scriptJobs ou autre callbacks (http://www.3dbunk.com/index.php?p=t&t=attribute_and_scriptJob&lang=FR) mais c’est un peu gitan, pour diverses raisons qui ne sont pas trop le propos, la tout de suite.

Une approche plus clean (en tout cas, ce sur quoi je partirai) serait de filer a l’animateur un petit tool qui lui permette d’animer son cube, en passant par ton UI plutot que par le viewport de maya pour les selections (ce que les animateurs demandent bien souvent de toute facon, donc au final c’est completement acceptable comme soluce).

L’approche de allicroco est ce vers quoi je partirai : chaque controller a une bounding box, et il est facile de definir ce qui est dedans ou non. Si chaque petit cube qui compose l’objet global fait 1 de cote, alors une bounding box de controller pourrait etre environ de .5, 1.5 en x, -1.5, 1.5 en y, et -1.5, 1.5 en z. Je dis « a environ » dans le sens ou on se fout de la taille exacte de la bounding box, ce qui nous interesse c’est qu’elle englobe les points de pivot de chaque cube, pas necessairement la shape complete.

Bref, partant de la, il devient facile de verifier si un cube est dans la BB d’un controller ou non. Quand l’animateur selectionnera tel ou tel controller, ca ‘bindera’ automatiquement les cubes correspondants a ce controller, a la volee.

Maintenant, en ce qui concerne le sujet en soit, je pense que pour te vendre avec une demo de rig, il y a beaucoup plus interessant / impressionnant a trouver. C’est cool que tu fasses ca si ca t’interesse, mais je pense que ce serait une erreur de te dire « je passe 2 mois la dessus, et ensuite je rentre nimporte ou ». Par contre, ca peut etre une bonne opportunite de te metter a Qt et d’apprendre le python =]

Speaking of which, j’aurai tendance a evidemment vachement te conseiller le python aussi, pour 1 milliard de raisons. Malgre tout, le MEL te permet quand meme de faire beaucoup, et pour les besoins presents, tu peux tres bien t’en sortir avec juste du MEL. C’est juste un peu moins vendeur (et vachement moins puissant) que le python. En vrac, dans les avantages d’utiliser le python :
- Paradigme oriente objet natif (tu peux l’avoir en MEL si tu developpes ta propre api, mais c’est vachement plus de l’ordre du hack ^^)
- Infinite de packages disponibles en python (numpy, pour bosser ultra rapidement avec les matrices, pour ne citer que lui, qui n’a aucun equivalent en MEL)
- Gestion de la memoire beaucoup plus avancee (possibilite de passer les arguments en reference ou en copie, de gerer des pointeurs, de creer des generateurs, etc etc etc)
- Acces a l’API de maya
- Syntaxe et lecture ultra simplifies par rapport au MEL.
- Enorme quantite de ressources dispos en ligne pour t’aider a t’ameliorer
- etc…

Voila, ca fait beaucoup d’infos en une fois, n’hesite pas a poser des questions si certaines choses ne sont pas claires ! Je ne connais pas ton niveau, donc si certaines notions t’echappent, demande =]
Bon courage !

Message édité le 18 juillet 2017 à 18:03:06 par fruityfrank
allicroco allicroco
MP
Niveau 10
19 juillet 2017 à 00:21:27

Ca Va Le mec il fait sa pub au passage etout ..

fruityfrank fruityfrank
MP
Niveau 6
19 juillet 2017 à 00:40:24

haha jsavais que tu passerai troller ^^

Sneyek Sneyek
MP
Niveau 12
19 juillet 2017 à 14:53:07

Ouah! Merci pour ce message hyper détaillé, cela va sûrement grandement m'aider.

Concernant mon niveau en rig.. Je sais rigger de l'organique faire son skinning aussi, je sais aussi automatiser des processus comme :
- reverse foot auto en sélectionnant l'os de l'orteil.
- remplacer des shades ( Je sélectionne des shades et les remplace par un autre type, par exemple un pixarPlastic devient un blinn en conservant certains paramètre)
- faire apparaître des objets à des positions sélectionnées (Je sélectionné 30 vtx et y fait apparaître un joint sur chaque)

Ce sont notamment les script les plus cool que j'ai fait, et j'ai d'autres projets comme un script pour sauvegarder des poses clés, créer des ghost... un "AnimAssistant" en somme.

Du coup je penses que je devrais Rigger au moins un véhicule pour ma démo, j'aimerais apprendre à faire les stretchy IK, car j'ai jamais réussi sur 2017 et les tutos que j'ai fais 30 fois marchent pas.. Du coup pas possible de programmer un truc auto.
J'aimerais aussi apprendre à Rigger du mecha, et si possible trouver comment Rigger de l'armure sur de l'organique avec une déformation de qualité (cf : tuto de gnomon workshop avec l'alien)
J'aimerai aussi de bons moyens de m'entraîner avec les nodes car çà le semble puissant.. Actuellement mon utilisation des nodes passe par la prog et c'est vraiment top.

J'aimerai aussi apprendre à utiliser mieux le Mel mais je vais bientôt me mettre au Python, avec les cours de open classroom (anciennement site du zéro).
Ce qui me fait peur c'est PyQt, PyMeL, PyGame...c'zst quoi ? Comme des library en C# ? Genre çà me rajoute des classes ? Je suis pas un programme prog et j'apprends beaucoup seul, c'est long et j'ai leur de prendre de mauvaises habitudes.. :pf:

Cela étant dit, je te remercie et j'essaierais un peu tout ça des que je rentrerai de mon week end chez mes parents. Et quand bien même je n'y arriverais pas, je penses apprendre des trucs et c'est actuellement l'essentiel.
Puis-je te demander ce qu'est une matrix ? Et comment l'utiliser ? J'ai pu en entendre parler en retournant régulièrement la doc maya mais n'en ayant jamais eu besoin j'ai préféré attendre un peu pour pas me perdre..

Tout ce que je sais c'est que la matrix est universelle :hap:
Mais je vais déjà me poser devant le tuto que tu m'as envoyé ! D'ailleurs n'hésite pas à me conseiller des tuto pour ce qui te semble important, je veux progresser :)
Par ailleurs, serait tu d'accord pour jeter un œil à ma démo et me donner ton avis ? Merci encore !

PS : je dois encore contacter ton ami allicroco (à moins que ce soit feuityfrank, mais j'attendais d'être de retour chez moi pour faire ça proprement, mais je compte bien le faire :)

Message édité le 19 juillet 2017 à 14:57:11 par Sneyek
fruityfrank fruityfrank
MP
Niveau 6
19 juillet 2017 à 17:51:10

- reverse foot auto en sélectionnant l'os de l'orteil.
- remplacer des shades ( Je sélectionne des shades et les remplace par un autre type, par exemple un pixarPlastic devient un blinn en conservant certains paramètre)
- faire apparaître des objets à des positions sélectionnées (Je sélectionné 30 vtx et y fait apparaître un joint sur chaque)

Pour apprendre le python, ca c'est parfait, c'est assez simple, et en meme temps, le faire propre et stable demande un peu de travail !

J'aimerais aussi apprendre à Rigger du mecha, et si possible trouver comment Rigger de l'armure sur de l'organique avec une déformation de qualité (cf : tuto de gnomon workshop avec l'alien)
J'ai pas vu le tuto, mais si tu fais reference a ton post precedent ou tu demandais s'il existait un node dans maya pour forcer les objets a etre rigide, la reponse est non. J'ai developpe un deformer qui fait ca, mais de base dans maya ca n'existe pas. Apres, il y a des astuces de manouche pour arriver a un resultat similaire, mais plus lourd, moins propre et plus fastidieux. Mais quand tu n'as que maya vanilla, pas le choix

je vais bientôt me mettre au Python, avec les cours de open classroom (anciennement site du zéro).
Je sais pas si c'est la peine de te faire chier avec de la theorie dans un premier temps. Enfin si tu connais le mel, le python (dans maya) est tres tres similaire quand meme. Je continue de faire ma pub, mais tu peux jeter un oeil a ca : http://www.3dbunk.com/index.php?p=t&t=introduction_to_python_script&lang=FR et puis te lancer directement avec du concret, ca viendra vachement + vite. Si vraiment tu veux faire du tuto, je te recommande plutot les excellentes pythonneries (des videos dispos partout, une reference !)

Ce qui me fait peur c'est PyQt, PyMeL, PyGame
Tu n'as pas a t'en soucier dans un premier temps (ni dans un second, d'ailleurs). PyQt c'est le seul que tu vas utiliser. Pour faire simple, depuis 2010 (si je me souviens bien ^^), maya a adopte le framework graphique Qt pour son interface. Et en meme temps, ils ont integre quelque chose qui s'appelle PySide a leur interpreter python. PySide, c'est une lib python qui te permet de faire du Qt. Ca t'evite donc d'avoir a bosser en c++ pour utuiliser Qt, tu peux l'utiliser avec python ! PyQt, c'est la meme chose ! Il y a quelques differences, mais c'est vraiment infime (i.e. si tu sais utiliser l'un, tu sais utiliser l'autre). La vraie diff est plus d'ordre politique (qui developpe PySide vs qui developpe PyQt, qui finance, etc etc...), et ya aussi bien sur le fait que pyside est natif maya (tu peux faire import PySide.QtGui, ca marchera), tandis que pyQt ne l'est pas (import PyQt4.QtGui ne fonctionnera pas).
PyMel, c'est le studio Luma Pictures qui, voyant que python en mel n'etait pas du tout "pythonnique" (c.a.d. pas vraiment oriente objet, et pas ecrit comme du beau code python (d'ou le fait que je te dise que c'est pas forcement la peine de te taper 20h de formation theorique au python, dans un premier temps)), ont cree leur propre version, open source (tu peux check leur github : https://github.com/LumaPictures/pymel).
Personnellement, je n'aime pas ca, mais des gens adorent et trouvent ca tres pratique. La raison pour laquelle je n'aime pas, c'est que c'est un binding d'un binding d'un binding, et donc c'est tres tres lent. A titre d'exemple, certaines operations qui prennent entre 1 et 2 secondes en MEL ou Python pourront monter jusqu'a 20 secondes en pymel (cas extreme, mais veridique malgre tout).
PyGame et le reste, tu t'en fous, tu l'utiliseras probablement pas. PyGame ca te permet de faire du jeu video, des moteurs graphiques, toussa... Je l'ai utilise 3 fois a tout casser, et c'etait en dehors de maya ^^

Mais je vais déjà me poser devant le tuto que tu m'as envoyé !
C'est peut-etre un petit peu tot pour cette video, en fait. Mais ca viendra en son temps !
Pour les matrices, en un mot, c'est un tableau de valeurs (4x4 pour maya) qui decrit les informations de position, orientation et echelle dans un espace 3D. C'est aussi ce que tu connais sous la forme d'equations a x inconnues, du lycee ! Tout ca est evidemment lie, et je te recommande les super lectures de gilbert strang sur le sujet ( https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/ ), c'est absolument passionnant (les 2 ou 3 premieres suffisent pour ce dont on parle la)

Enfin, le showreel, we bien sur, envoie, hesite pas ! (et oui c'est moi le pote d'allicroco)

Sneyek Sneyek
MP
Niveau 12
20 juillet 2017 à 21:50:16

Merci encore pour ton message, comme tu me l'a demandé, je t'ai recontacté par mail :)

Je vais me renseigner sur un peu tout ce que tu m'a dit :o))

fruityfrank fruityfrank
MP
Niveau 6
20 juillet 2017 à 22:42:21

oui, donc l'idee c'est de faire une session twitch ou un autre truc du genre, pour parler un peu rig, dev, toussa ^^ Si ca interesse d'autres gens (je sais que le rig c'est le truc des pestiferes, personne aime, mais on sait jamais =p), hesitez pas a vous signaler / joindre =]

allicroco allicroco
MP
Niveau 10
21 juillet 2017 à 02:12:09

Suce

Moi on me dit pas merci pour avoir ramené mon pote trop balese ?

Sneyek Sneyek
MP
Niveau 12
21 juillet 2017 à 23:32:59

Si évidemment !

Merci l'ami, grâce à vous je vais progresser un bon coup et ça va me faire le plus grand bien ! :)

fruityfrank fruityfrank
MP
Niveau 6
22 juillet 2017 à 02:54:54

haha si, merci allicroco ^^ T'as ramene un pote trop baleze ? styley, c'est qui ? \o/

DébutPage précedente
12
Page suivantePage suivante
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment