Programare Python Maya Animatii de Personaje

Download de aici https://drive.google.com/file/d/1SLmDfw1WAw-DoIaCBtmwgtwiOIsBHC-D/view?usp=sharing
arhiva friend.zip care contine un personaj cu numele friend1.fbx si materialele friend1.fbm
Personajul se importa in Maya. Folosim importul atunci cand avem obiecte facute in alte programe sau in alte versiuni de Maya. E cam mare asa ca ne indepartam de el , ca sa-l putem vedea mai bine. Nu are materialele vizibile pana cand nu apasam butonul “textured”. Materialul alb al ochilor (Cornea) trebuie corectat, il cautam in “hypershade” si il facem transparent. Salvam scena in Maya.


Personajul contine, pe langa partea exterioara, vizibila , si un schelet, care e mai bine sa fie invizibil: Show- Joints. Acum personajul arata mai bine.
Scriem primul program care animeaza un picior. La fiecare comanda trebuie sa scriem numele articulatiei (joint)care se misca. Aceste nume se gasesc in fereastra Outliner, si le putem vedea pe toate apasand pe “+”. La fiecare clic pe “+” apar noi nume de articulatii. Acum ne ocupam de rotirea gleznelor (shin) si a coapselor (thigh). Incercam diferite numere la t si la v, pana le gasim pe cele mai bune. Modificam numarul de frame-uri din animatie , vor fi 150 ( 5 secunde). Piciorul se misca incet cand facem clic pe butonul Play.

Continue reading “Programare Python Maya Animatii de Personaje”

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)