Vai al contenuto
chick

Mel Tutorial

Recommended Posts

In questa serie di tutorial spiegherò come utilizzare MEL, il linguaggio di scripting di Maya.

Poiché l'argomento è molto vasto non sarà possibile coprire ogni aspetto della programmazione in MEL, piuttosto cercherò di dare delle indicazioni che potranno poi essere usate come punto di partenza per sperimentare i propri script.

Il tutorial sarà diviso in diverse parti (per ora ne ho in programma 5, ma potrebbero essere di più), partendo dai concetti basilari (per chi proprio di MEL non sa nulla) arrivando a cose un più complesse.

PARTE 1 – INTRODUZIONE

Prima di iniziare credo sia opportuno chiarire cosa sia MEL e quando può tornare utile usarlo.

MEL ("Maya Embedded Language", cioè "linguaggio contenuto in Maya") come già detto è un linguaggio di scripting, questo significa che è utile per creare delle "macro" per velocizzare il flusso di lavoro in Maya. Come regola generale tutto ciò che si può fare a mano in Maya (con poche eccezioni) è riproducibile anche in MEL: quindi se avete intenzione di creare il vostro nodo personalizzato che vi fa un nuovo tipo di texture o un nuovo tipo di deformatore siete sulla strada sbagliata! Per fare qualcosa del genere infatti è necessario utilizzare il Maya SDK e programmare in C++.

MEL può invece essere utile per automatizzare processi noiosi e ripetitivi, che richiedono molto tempo per essere fatti manualmente. Ricordate tuttavia che, poiché l'interprete di MEL è Maya, MEL non è il massimo per quanto riguarda la velocità di esecuzione, quindi se volete creare script che fanno cose molto complesse pensate seriamente a scrivere un plugin con l'SDK.

Essendo MEL parte integrante di Maya, esistono molti posti dove possiamo inserire script MEL.

La Command Line

Il punto più semplice dove scrivere MEL è la Command Line, che si trova in basso nella finestra di Maya

commandline.jpg

La Command Line è utile per inserire ed eseguire velocemente una linea di comandi MEL. Per esempio, proviamo a scrivere:

sphere
e dare INVIO per confermare. Maya creerà una sfera NURBS al centro della scena. Questo è esattamente equivalente a creare la sfera usando il pulsante nella shelf Surfaces o il menu Create. Nella Command Line possiamo anche inserire più di un comando, separando le varie istruzioni con un punto e virgola, come in questo esempio:
sphere; cylinder
Dando invio vedremo che Maya ci ha creato un cilindro e una sfera NURBS. Un'ultima cosa interessante della Command Line è che possiamo "navigare" nei comandi precedenti usando le frecce in su e in giu (quindi la freccia in su ci riscriverà il comando precedente e quella in giu quello successivo). La Command Shell Molto simile alla command line è la command shell, che troviamo nel menu Windows->General Editors->Command Shell. commandshell.jpg La Command Shell è essenzialmente una versione più grande della Command Line, funziona allo stesso modo, ma ci fa continuare a vedere i comandi più vecchi e gli eventuali messaggi di errore o conferma in risposta ai nostri comandi. Lo Script Editor Questa è sicuramente la finestra più utilizzata per creare script: per aprirla possiamo usare il menu Windows->General Editors->Script Editor o, più semplicemente usare il pulsantino in basso a destra (vedi figura). scripteditor.jpg Lo script editor è diviso in due parti: nella parte inferiore possiamo scrivere i nostri script, mentre la parte superiore ci mostra la history di tutto ciò che è successo in Maya. In sostanza, ogni operazione che eseguiamo in Maya verrà riportata in questo pannello e questo ci può tornare molto utile se vogliamo scoprire che comando MEL usare per fare una determinata operazione (l'altra opzione è usare l'help, ovviamente). Ad esempio, supponiamo di voler creare un piano NURBS con MEL: creiamolo nel modo "tradizionale", con il pulsante nella barra Surfaces e guardiamo cosa succede nello Script Editor. Ci appaiono queste righe:
CreateNURBSPlane;

nurbsPlane -p 0 0 0 -ax 0 1 0 -w 1 -lr 1 -d 3 -u 1 -v 1 -ch 1;
La prima riga appare se abbiamo usato il pulsante, ma non se usiamo il menu create, e semplicemente richiama il comando nella seconda riga, che è quello che ci interessa. In questo modo abbiamo scoperto che il comando per creare un piano NURBS è nurbsPlane. Se infatti proviamo a scrivere nella Comman Line:
nurbsPlane
Maya ci creerà un piano NURBS (ATTENZIONE! MEL è case-sensitive, quindi se provate a scrivere ad es. Nurbsplane non funzionerà! Questa è una delle maggiori cause di errore… quindi attenti alle maiuscole!) Se confrontiamo i due piani, però, vediamo che sono orientati diversamente: planes.jpg Questo, come potrete facilmente immaginare, dipende dal fatto di non aver scritto tutta la strana serie di parametri dopo nurbsPlane. Quei parametri servono a definire le caratteristiche del piano (es. la larghezza, l'orientamento etc.): se vengono omessi Maya usa i parametri di default che creano un piano verticale anziché orizzontale. Se infatti specifichiamo l'asse normale al piano scrivendo
nurbsPlane –ax 0 1 0
il piano sarà costruito orizzonatalmente (vedremo meglio come usare i parametri nel prossimo tutorial). Benissimo, ora proviamo a scrivere uno script nello Script Editor. Useremo i tre comandi che abbiamo visto fino ad ora. Scriviamo:
sphere;

cylinder;

nurbsPlane;

Innanzitutto notiamo due cose:

1) ogni linea termina con un punto e virgola. Questo è necessario per separare i vari comandi.

2) nello script editor, premendo INVIO lo script non viene eseguito. Per eseguirlo possiamo usare il menu Script->Execute o premere CTRL+INVIO.

In entrambi i casi, il nostro script sarà eseguito e verranno creati una sfera, un cilindro ed un piano.

Con nostro sommo dispiacere, però, noteremo che, dopo averlo eseguito, il nostro script è scomparso dalla parte in basso dello Script Editor. Niente paura, però! Basta guardare nella history e vedremo che le tre righe dello script sono state riportate lì, quindi possiamo selezionarle dalla history e fare copia/incolla oppure usare il tasto in mezzo del mouse e trascinarle nella parte in basso dello script editor.

Capite che però questo può essere piuttosto noioso soprattutto se il nostro script è molto lungo. Per evitare questo problema possiamo semplicemente selezionare il testo del nostro script e poi fare CTRL+INVIO. In questo modo Maya eseguirà le linee selezionate ma le lascierà nello script editor.

Questo può essere usato per eseguire solo parte di uno script: ad esempio, selezionando solo le ultime 2 righe e facendo CTRL+INVIO, verranno creati solo il cilindro ed il piano, ma non la sfera.

Bene, ora che abbiamo scritto questo fantastico script, vogliamo salvarlo per riutilizzarlo in un secondo momento. Questo è molto semplice: selezioniamo il nostro script e scegliamo "Save selected" dal menu file. Per caricare lo script ovviamente usiamo "Load script" sempre dallo stesso menu.

Una cosa molto utile da sapere è che se selezionate lo script nello script editor (o dovunque l'abbiate scritto) e lo trascinate con il tasto centrale su di una shelf, Maya creerà in automatico un pulsante che eseguirà quello script.

L'Expression Editor

Un'ultima finestra dove vi potrete ritrovare a scrivere comandi MEL è l'expression editor, che trovate nel menu Windows->Animation Editors. Non mi soffermo a spiegare questo tool adesso perché ci sarà un tutorial apposta, vi dico solo che serve per "comandare" un attributo di un oggetto con un'espressione matematica o ad esempio a "collegare" due differenti attributi fra loro.

Benissimo, questo è tutto per questa prima parte introduttiva. Nella prossima parte cominceremo a vedere la sintassi di MEL più nel dettaglio.

post-1-1146237564.jpg

Condividi questo messaggio


Link al messaggio
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

  • Navigazione recente   0 utenti

    Non ci sono utenti registrati da visualizzare in questa pagina.

×