Programare Python Maya Obiecte Nurbs

Obiectele de tip NURBS se folosesc pentru crearea formelor cu suprafete rotunjite. Le gasim la Curves/Surfaces.
La inceput , o sfera NURBS seamana cu una poligonala. Facem clic-dreapta pe ea si alegem “Control Vertices”. Avem acces la punctele de control pe care le putem muta cu “Move”.
Incepem programarea: construim un plan, numele lui e nurbsPlane1. Acest plan simplu are 4 randuri de cate 4 cv-uri. Cele doua numere , care indica pozitia vertexului in plan, sunt intre 0 si 3.. Selectez un cv (control vertex) , cel de pe pozitia [0][0] si il mut in pozitia 0,0,1 .
Planul acesta este foarte simplu , are putine vertexuri de control. Daca vreau sa obtin obiecte mai complicate am nevoie demai multe cv-uri. Urmatorul plan va avea mai multe cv-uri. Dreptunghiurile cele mici din care e facut planul se numesc patch-uri (adica petice). Daca scriu u=8 si v=6 voi avea 8 randuri si pe fiecare rand 6 patch-uri. Vor fi 8+3 =11 randuri si pe fiecare rand 6+3=9 cv-uri. Daca vreau sa mut cv-ul din colt pe directia z pe distanta 1 atunci scriu si r=True adica mutarea va fi relativa. Aici, cele 4 colturi sunt [0][0], [0][8], [10][8] si [10][0].
Daca vreau sa mut mai multe cv-uri odata, pot sa scriu [3][2:6] adica cv-urile 2,3,4,5,6 de pe linia treia. Sau [5][:] adica toate cv-urile de pe linia numarul 5.

Continue reading “Programare Python Maya Obiecte Nurbs”

Programare Python Animatii Maya

Pentru a crea animatii avem nevoie de keyframe-uri, Prima data facem keyframeuri fara programare . Simple, pentru miscarea , rotirea si redimensionarea obiectului. Le vedem jos, rosii, in Time Slider.

Facem o sfera poligonala si punem pe ea o imagine luata de pe internet.
Imaginea apare pe obiect doar dupa ce apasam pe butonul “Textured”
Fixam doua keyframe-uri pentru marime. Modificam pe rand valorile “v” si timpul “t” obtinand animatii diferite. De jos modific numarul de frame-uri a animatiei si numarul de frame-uri afisate in time-slider.

Apoi vom anima o multime de mici cuburi pe o sfera. Facem 3 materiale , o sfera simpla si 250 cuburi mici. Folosim variabila col1 pentru a schimba culoarea cuburilor. pointPosition ne ajuta sa aflam coordonatele vertexurilor sferei. Punem cuburile in acele pozitii si animam marimea lor, cu doua keyframeuri. Pornim programul si , ca sa vedem animatia, apasam butonul play.

Continue reading “Programare Python Animatii Maya”

Programare Python Maya Face Extrusion

Example 1

import maya.cmds as cmds
#create a polygonal sphere
cmds.polySphere()
#delete faces , from 160 to the end
cmds.delete('pSphere1.f[160:]')
#extrude all remaining faces
#extrusion distance 0.1
# faces are pulled independently
cmds.polyExtrudeFacet('pSphere1.f[:]',kft=False, ltz=.1)

Example 2

import maya.cmds as cmds
cmds.polySphere()

# extrude one face 20 times
# for every extrusion we perform a rotation and a translation
for i in range(1,20):
if i%2 ==0:
cmds.polyExtrudeFacet(‘pSphere1.f[0]’,rx=60,ty=2)
else:
cmds.polyExtrudeFacet(‘pSphere1.f[0]’,rx=-60,ty=2)

Example 3

#create a polygonal sphere having 10 subdivisions on x , 10 on y and radius equal to 5
cmds.polySphere(n=’sfera’,sx=10,sy=10,r=5)
#find out the number of faces
nrFete=cmds.polyEvaluate(f=True)
#extrude the faces with an even number , pulling them independently
for i in range(1,nrFete):
if i%2 ==0:
cmds.polyExtrudeFacet(‘sfera.f[%d]’%i,ltz=2,kft=False)