Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
GRAFICA 3D - Mel
MEL(Maya Embedded Language) reprezinta un limbaj de scripting ce foloseste C++ in care sunt definite obiecte si metode specifice Maya. Cu acest limbaj se pot crea scipt-uri ce au definite anumite actiuni care altfel sunt inaccesibile din meniurile Maya Tot ce se realizeaza in Maya este generat in cod C++ in Script Editor. Exemplu: creem un cilindru, codul atasat este:
cylinder -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 1 -hr 2 -d 3 -ut
0 -tol 0.01 -s 8 -nsp 1 - ch 1; objectMoveCommand;
Aceasta comanda este echivalenta cu Create > Cylinder.
Pentru a modifica cilindrul din forma initiala in forma din dreapta
s-a generat urmatorul cod :
cylinder -p 0 0 0 -ax 0 1 0 -ssw 0 -esw 360 -r 1 -hr 2 -d 3 -ut
0 -tol 0.01 -s 8 -nsp 1 -ch 1; objectMoveCommand;
displaySmoothness -divisionsU 3 -divisionsV 3 -pointsWire 16 -
pointsShaded
subdivDisplaySmoothness -smoothness 3;
scale -r 1 5.217409 1 ;
scale -r 1 1.184601 1 ;
nonLinear -type bend -lowBound -1 -highBound 1 -curvature 0;
// Result: bend1 bend1Handle //
select -addFirst bend1 ;
setAttr 'bend1.curvature' 1.2;
select -r nurbsCylinder1 ;
displaySmoothness -divisionsU 3 -divisionsV 3 -pointsWire 16 -
pointsShaded
subdivDisplaySmoothness -smoothness 3;
rebuildSurface -ch 1 -rpo 1 -rt 0 -end 1 -kr 0 -kcp 0 -kc 0 -su
8 -du 3 -sv 8 -dv 3 -tol 0.01 -dir 2 'nurbsCylinder1';
// Result: nurbsCylinder1 rebuildSurface1 //
Prezint un alt exemplu de utilitate a limbajului MEL. Una din limitarile Maya este faptul ca din meniuri nu se poate sterge animatia obiectelor. Atunci scriem un script care sa creeze o fereastra modala prin care sa intrebe utilizatorul daca doreste sa stearga toate cheile unei animatii. La selectarea optiunii Yes se va sterge orice animatie prezenta in scena. In cazul No se iese din fereastra fara a se modifica scena.
// delete All Keys
if (`window -q -ex 'rusure'`) ;
window -s off -t ' ' -tb on rusure;
windowPref -w 230 -h 110 -le 200 -te 200 rusure;
columnLayout
text -l ' ';
text -l ' Delete all keys ?';
text -l ' ';rowLayout -nc 5 -cw5 10 100 10 100 10;
text -l ' ';
button -l ' OK ' -c 'delete -c -
all;deleteUI -window rusure';
text -l ' ';
button -l ' Cancel ' - c 'deleteUI -window
rusure
setParent
showWindow rusure;
Regulile de programare MEL urmeaza regulile generale ale limbajului C++.
Copyright © 2024 - Toate drepturile rezervate