3DVF Network :
ico_magazine
Magazine
ico_boutique
Boutique
ico_cgjobs
Portail Emploi
ico_upload
Hébergement d'image
blogs
Blogs
ico_progiss
Progiss
ico_social
Social
Login Membre :
blogs
Login
?
Join
space
space
  FORUM 3DVF
  3D
  Dev - Script

  Aide pour un script pour Alignement d'objet et Switch IKFK

 

18 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide pour un script pour Alignement d'objet et Switch IKFK

n°6214
Nicklaus l​e vrai
Posté le 21-11-2009 à 16:59:32  profilanswer
 

Bonjour tout le monde
 
 
Voilà je suis en train de bosser sur le rig d'un bras dans 3dsmax avec un switch entre FK et IK un peu plus pratique et facile d'utilisation que tout ce que j'ai pu trouver (a mon gout bien sur) et j'aurai besoin de vos competences en script pour faciliter quelques trucs sur mon rig
 
 
En fait je cherche à faire un script pour aligner un objet à un autre et vice versa  
 
 
Je m'explique, par exemple j'ai un cube et une sphere dans ma scene
 
j'ouvre le fameux script sous forme d'une fenetre par exemple dans la quelle j'ai deux boutons (un "pick object 1" et l'autre "pick object 2" )
 
je clic "pick objet 1", je selectionne ma sphere, et dans "pick objet 2" je selectionne mon cube  
 
Et j'ai ensuite deux boutons en dessous : ALIGN 1 sur 2 et ALIGN 2 sur 1
 
comme ça en cliquant sur l'un ou sur l'autre ça m'aligne soit la sphere sur le cube soit le cube sur la sphere
 
et tout ceci devrait pouvoir rester en memoire dans la fenetre pour pouvoir reservir plus tard dans la scene
 
 
Est ce que c'est realisable facilement?, en fait j'ai testé juste de capter le script avec le listenner de Max mais c'est pas top, je vois comme comment selectionner tel objet, activer l'outil d'align mais pas possible de trouver comment indiquer la cible, bref, je galere un peu question language...
 
 
Ensuite si cela est realisable le mieux serait de pouvoir integrer ce panel de bouton dans un attribute holder (un peu a la maniere du bras de Lowmax qu'on peut trouver un peu partout)
 
Le mieux serait d'avoir une sorte de panel qui permetrai ceci
 
Un bouton "Pick Objet CTRL FK1"
Un bouton "Pick Objet CTRL FK2"
Un bouton "Pick Objet CTRL FK3"
Un bouton "Pick Objet SpSw FK"
Un bouton "Pick Objet Sp IK1"
Un bouton "Pick Objet Sp IK2"
Un bouton "Pick Objet CTRL IK"
Un bouton "Pick Objet Sw IK"

 
puis deux autres boutons
 
"Align FK sur IK"
 
qui permetrait, dans l'ordre :
 
d'aligner  
 
CTRL FK1 sur Sp IK1
CTRL FK2 sur Sp IK2
CTRL FK3 sur CTRL IK
 
 
"Align IK su FK"
 
qui permetrait, dans l'ordre :
 
d'aligner
 
CTRL IK sur CTRL FK3
Sw IK sur SpSw FK
 
 
Tous les alignements se font en position et orientation
 
 
Serait ce possible aussi ( oui j'en demande beaucoup) que lorsqu'on clic sur un des deux boutons "Align" :
 
une clef se crée pour chaque objet dans la position cible de l'alignement  
une clef se crée en position avant alignement mais juste une frame avant (histoire d'avoir sur une frame, les objets alignés et une frame avant, les objets dans leur position avant alignement)
 
 
 
 
 
Je commande ensuite avec un switch mon systeme qui permet de passer de l'anim en FK a l'anim en IK
 
là aussi j'ai une petite question : comment créer dans la viewport une sorte de slider a base de splines mais qui serai contraint a avoir que deux positions?  
 
j'en au fait un avec une spline , un cercle aligné dessu, des floats limit et jai une sorte de slider qui va de 0 a 14 (float limits) or j'aimerai qu'en le deplaçant il se snape automatiquement en 0 ou 1 sans passer par les valeurs intermediaires, c'est possible?
 
 
 
 
la perfection absolue serait donc de faire en sorte que :
 
je selectione mon switch (snappé en zero par exemple) et dès que je le deplace en 1 (snappé aussi) cela sur mon switch crée une cléf sur la frame selectionnée et en crée une une frame juste avant en position 0 (histoire de pas avoir d'interpolation de mouvement sur plusieurs frames
 
De plus le mouvement de 0 vers 1 activerai le bouton Align FK sur IK et le mouvement de 1 a 0 activerai le bouton Align IK sur FK
 
 
Voià, ça fait pas mal de trucs je sais mais si par hasard quelqu'un a une idée ou meme les parties de script a employer pour les actions decrites je suis prenneur.
 
Un grand merci d'avance!!


Message édité par Nicklaus le vrai le 21-11-2009 à 17:04:12
(Publicité)
n°6228
Malikarn
- F1 -
Posté le 22-11-2009 à 12:21:55  profilanswer
 

salut
oue je vois.
Note que les fonctions que tu décris existent déjà, apres oui si tu veux les rassembler dans une UI pk pas.
Mais les commandes ik/fk snap et ik/fk poses permettent précisément et comme tu le dis "d'aligner ik sur fk" et "d'aligner fk sur ik".
Apres je sais pas trop quoi te dire, je n'ai pas l'intention de faire ce script a ta place. Je pense que personne n'en a l'intention. C'est beaucoup de travail...
Le mieux est que tu attaques ton script et si une fonctionnalité bien précise te pose problème, on pourra t'aider.
Mais la je ne vois pas vraiment ce que tu attends de nous. A moins que tu souhaites que quelqu'un developpe cet outils moyennant finances :)
dans ce cas on peut discuter ^^
++

n°6229
Nicklaus l​e vrai
Posté le 22-11-2009 à 14:48:28  profilanswer
 

Salut , merci pour ta reponse, en fait bien sur que je ne pense pas chopper le script tout fait par quelqu'un, c'est pas vraiment mon genre, ce que je cherche c'est surtout a comprendre comment fonctione le script et le faire moi meme , en fait j'aimerai savoir par exemple commet créer une sorte de fenetre avec les boutons que je decris et voir si apres je peux positionner cette fenetre dans un attribute holder par exemple apres il faut juste que 'assigne telle commande a tel bouton mais là je sais pas comment faire car j'ai pas de "dictionnaire" des commandes en script ainsi que leur fonction.
 
En fait il me manque un lexique decrivant la commande script a utiliser pour effectuer les actions que je recherche, parceque l j'epluche ici et là des scripts et autres tutos mais c'est pas evident de partir de rien et de s'attaquer a ça , donc si quelqu'un connait quelques tutos assez bien fait pour commencer a scripter je suis prenneur
 
En fait il me faudrai juste savoir  
 
comment creer ma sorte d'interface
comment ecrire la commande d'alignement d'un objet sur l'autre
et queques autres fonctions  
 
comme ça je tenterai de tout assembler moi meme correctement  
 
 

n°6230
Malikarn
- F1 -
Posté le 22-11-2009 à 15:31:06  profilanswer
 

Re
Ok. Alors pour créer une interface il y a plusieurs approches. Ceci en est une.
 
Ceci est un exemple (tiré de la ref mxs) de tous les types de controls à ta disposition.
Pour l'utiliser et l'éditer je suppose que tu sais comment faire, sinon tu es sacrément mal barré pour ton propre script :)
 
Je t'oriente vers la référence maxscript quant à l'usage de tous ces controles au chapitre :
MAXScript tools and interactiosn with 3ds max //creating maxscript tools//scripted utilities and rollouts//rollout users interfaces controls//rollout user interface controls types
 
Pour aligner un objet sur un autre (en termes de position d'orientation ET d'echelle (attention donc)) il faut ecrire avec A et B deux wrappers de type node

Code :
  1. $A.transform = $B.transform


L'objet A sera aligné sur l'objet B. Attention aux questions d'échelle ! pour manipuler les transformations, oriente toi vers la réf maxscript au chapitre :
Maxscript language reference // 3ds max objects // Node : MaxWrapper // nodes common properties operators dans methods // node transform properties
 
++

n°6233
Nicklaus l​e vrai
Posté le 23-11-2009 à 15:43:19  profilanswer
 

Salut, merci pour ta reponse (pour la commande on venait juste de me la filer en fait)  
 
Le truc c'est que je vais tenter d'aprehender le probleme differement je pense histoire de faire un script automatisé un peu comme le stretchy bones, j'ai un collegue de boulot dans lon centre de formation qui touche bien en script, je vais voir avec lui et je reposte ici dès que ça avance un peu


Aller à :
Ajouter une réponse
  FORUM 3DVF
  3D
  Dev - Script

  Aide pour un script pour Alignement d'objet et Switch IKFK

 

Haut de page
space
space
space
A Propos | Contact
Copyright © 2000-2012 3DVF. Tous droits réservés. | Infogérance serveur | tracker
space