Home           
Premier tutorial sur les UI : les fenêtres
 

<< Les procédures en MEL   Les fenêtres modales >>

Nous allons voir aujourd'hui comment réaliser des interfaces pour les utilisateurs (ou UI) simples à l'aide de MEL.
Nous verrons d'abord comment créer une fenêtre, ensuite nous verrons comment ajouter des boutons, etc. Enfin nous verrons MELANIE.

Les fenêtres

Nous verrons comment créer une fenêtre en changeant la taille, le nom, la couleur de la fenêtre.

Voyons déjà comment faire une fenêtre :

window -title "mafenetre" win1;
showWindow win1;

Et voici le résultat :

Nous venons de voir les mots clés : window et showWindow :

  • window : permet de créer une fenêtre ;
  • showWindow : permet d'afficher la fenêtre.

Ici window possède une option -title qui permet d'indiquer le titre de la fenêtre : "mafenetre". Ensuite le nom de la fenêtre est win1.

Nous avons créer notre première fenêtre!!

Maintenant, rajoutons des ornememts à notre fenêtre.
window -title "ma Fenetre" -h 400 -w 200 -sizeable true -bgc 0.5 0 0.7 win2;
showWindow win2;

Et voilà le résultat :

Observons les options de window :

  • -title ou -t : permet de donner un titre à la fenêtre ;
  • -height ou -h : permet de donner la hauteur initiale de la fenêtre ;
  • -width ou -w : permet de donner la largeur initiale de la fenêtre ;
  • -sizeable ou -s : permet d'indiquer si la fenêtre est redimmensionnable ou non ;
  • -backgroundColor ou -bgc : permet d'indiquer la couleur de fond de la fenêtre sous la forme r,v,b (de 0.0 à 1.0) (fonctionne seulement sous Windows).
Ajoutons maintenant un bouton dans notre fenêtre :

window -title "bouton" -h 400 -w 200 -sizeable true -bgc 0.5 0 0.7 win3;
   columnLayout;
      button -l "Fait quelqueChose";
showWindow win3;

Et voilà comment cela ressort :

Nous avons ajouté des options dans ce code. Tout d'abord, columnLayout. Ce mot clé permet d'ajouter et d'arranger des boutons, des sliders, etc. Ensuite button pour créer un bouton. L'option -l permet d'indiquer le texte du bouton.

Ce que l'on remarque, c'est que la fenêtre n'est pas violette. Pour cela, il faut utiliser l'option -bgc de columnLayout.

Nous avons un bouton mais il ne fait rien. Ce n'est pas très utilse. Attachons donc une commande à ce bouton :
window -title "PolySphere" -h 100 -w 200 -sizeable true win4;
   columnLayout;
      button -l "PolySphere" -c "polySphere";
showWindow win4;

Maintenant notre bouton crée une polySphere grâce à l'option-c.

Nous avons vu comment ajouter un bouton dans une fenêtre et aussi comment attacher une comande à un bouton.

Interaction avec les objets

Nous allons voir dans cette partie comment intéragir avec les objets.

D'abord, voyons comment créer un matériau phong et changer sa couleur.

window -title "Attr Field Slider Groups";
   string $objName = `shadingNode -asShader phong`;
   columnLayout;
   attrColorSliderGrp -at ($objName+".color");
showWindow;

Cette fenêtre affiche tout ce qui est nécessaire pour le changement pour la couleur. Lors de la création, il est fait appel à la commande shadingNode.

Cette commande permet de classifier tous les noeuds du DG( dependency graph : base de données pour sauvegarder les informations graphiques) et permet d'utiliser n'importe quel noeud du DG. shadingNode donne des aide pour les UI : le retour de shadingNode. -asShader indique que le noeud est un shader.
Ensuite dans la fenêtre, c'est la commande attrColorSliderGrp qui est utilisé pour créer un slider gérant la couleur.

Ce que l'on peut remarquer c'est qu'aucun nom n'a été donné à la fenêtre. Il suffit juste d'appeler showWindow juste après avoir appelé window.

Voici la fenêtre :

Et voici ce que ça donne dans Maya :

Nous allons voir maintenant comment connaître le nom de la sélection.
   string $window = `window -widthHeight 400 100`;
   paneLayout;
   scrollField -wordWrap true -text ("The title of this window "
+ "will reflect the current object selection.");
   showWindow $window;

Avec cet exemple de code, on voit comment faire pour récupérer le nom de la fenêtre créée. Nous voyons une nouvelle option de window : -widthHeight.
Ensuite, il y a paneLayout : cette option permet de découper la fenêtre. Sans option, la fenêtre n'est pas découpée.
scrollField crée un champs de texte défilant sur plusieurs lignes. L'option -wordWarp indique que les lignes sont coupées aux espaces ou tabulation. L'option -text indique le texte de départ.

Voici le résultat :

Nous allons faire une commande pour connaître le nom de la sélection dans la barre de titre de la fenêtre. Voici cette commande : showSelectionInTitle $window;. Et voici maintenant le résultat quand la sphère est sélectionnée dans Maya :

Et voilà maintenant, il est possible de connaître la sélection.

Melanie

MELANIE est une éditeur de script MEL. Vous pouvez le télécharger sur le site de EXOOD4 Studios : leur site.

Démarrer MELANIE et allez dans File> New et choisissez UI - Window :

Et voilà tout est prêt pour créer une UI :

Il ne reste plus qu'à utiliser les différentes options de MELANIE pour créer la fenêtre. Une fois celle-ci créer, il faut faire Export Script. Il ne reste plus qu'à copier-coller le code dans le script editor et notre fenêtre est dessinée.

Pour l'instant nous n'avons vu comment faire que la fenêtre mais pas comment gérer les évenements de la fenêtre. Nous verrons ça dans un tutorial prochain.

 

<< Les procédures en MEL   Les fenêtres modales >>
  eXTReMe Tracker