C2 Schelete şi cinematica inversă

28
Curs 2 Schelete şi cinematica inversă 1. Schelete şi cinematica inversă Când se modelează un personaj, trebuie plasat în interior un schelet pentru a-l anima. Scheletul este construit ca urmare a unei ierarhii de articulaţii individuale conectate de către oase. În general natura este cel mai bun şablon pentru plasarea articulaţiilor. Ar fi bine să se folosească poze ale scheletelor umane sau animale figura 1, o articulaţie de umăr trebuie să fie plasată la umăr, o articulaţie de cot, la cot si aşa mai departe. Dar nu trebuie exagerat, de exemplu, deşi laba piciorului uman are 26 de oase, se poate anima un pantof folosind numai trei dintre ele. Oriunde se doreşte o îndoire, acolo trebuie plasată o articulaţie, sau un punct de îmbinare. Fig. 1 In interiorul acestui personaj se poate observa scheletul, care este folosit la animarea personajului Articulaţiile sunt ierarhice – adică, cele de sus le vor mişca pe cele de sub ele. Prima articulaţie va fi cea de sus în ierarhie şi se numeşte « root joint » (articulaţie rădăcină). Aceasta este încheietura care mişcă întregul schelet. Deoarece genunchiul, glezna şi articulaţia piciorului sunt situate sub articulaţia şoldului, restul piciorului se mişcă când aceasta este rotită. Animarea în acest fel e numită “forward kinematics” (FK) (cinematica directă) figura 2. [1]

Transcript of C2 Schelete şi cinematica inversă

Page 1: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

1. Schelete şi cinematica inversă

Când se modelează un personaj, trebuie plasat în interior un schelet pentru a-l anima. Scheletul este construit ca urmare a unei ierarhii de articulaţii individuale conectate de către oase.În general natura este cel mai bun şablon pentru plasarea articulaţiilor. Ar fi bine să se folosească poze ale scheletelor umane sau animale figura 1, o articulaţie de umăr trebuie să fie plasată la umăr, o articulaţie de cot, la cot si aşa mai departe. Dar nu trebuie exagerat, de exemplu, deşi laba piciorului uman are 26 de oase, se poate anima un pantof folosind numai trei dintre ele. Oriunde se doreşte o îndoire, acolo trebuie plasată o articulaţie, sau un punct de îmbinare.

Fig. 1 In interiorul acestui personaj se poateobserva scheletul, care este folosit la animarea personajului

Articulaţiile sunt ierarhice – adică, cele de sus le vor mişca pe cele de sub ele. Prima articulaţie va fi cea de sus în ierarhie şi se numeşte « root joint » (articulaţie rădăcină). Aceasta este încheietura care mişcă întregul schelet. Deoarece genunchiul, glezna şi articulaţia piciorului sunt situate sub articulaţia şoldului, restul piciorului se mişcă când aceasta este rotită. Animarea în acest fel e numită “forward kinematics” (FK) (cinematica directă) figura 2.

Fig. 2 Ilustrând principiul FK, atunci când şoldul este rotit, toate articulaţiile se rotesc o dată cu el

Inverse kinematics, sau IK, se referă la animarea începând de la baza ierarhiei în sus. În acest tip de animaţie, dacă se mişcă laba piciorului, genunchiul şi şoldul vor urma mişcarea figura 3.

[1]

Page 2: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 3 Piciorul este mişcat folosind un handler IK.Unii animatori se folosesc de acest tip de animaţie deoarece are tendinţa de

a mişca membrele mai degrabă în linii drepte decât în arcuri naturale.

FK sau IK   ?

Care este cea mai bună soluţie – FK sau IK ?Răspunsul este că amândouă au avantaje şi dezavantaje. FK permite o mişcare foarte precisă

si maşinală dar necesită mai mult efort din partea animatorului deoarece fiecare articulaţie dintr-un lanţ ar trebui animată.

IK este perfectă pentru creaturile bipede şi cu patru picioare, cum ar fi oameni sau câini, deoarece se poate plasa mâna, piciorul sau laba caracterului prin animarea handler-ului corespunzător decât prin ajustarea fiecărei articulaţii din schelet. Oricum, handler-ele IK se pot răsuci, iar obţinerea unei mişcări precise din articulaţiile intermediare poate fi dificilă.

IK-urile de tip spline(discutate ulterior în acest curs) se folosesc la tentacule, şi coloane vertebrale şi pentru orice schelet care conţine multe articulaţii care trebuiesc mişcate într-o manieră fluidă, organică.

Un personaj complex va angaja toate aceste metode pentru a da animatorului un grad mare de libertate si control.

1.1 Articulaţii

Când se creează articulaţii oasele apar automat între ele. Este importantă ordinea în care sunt create articulaţiile: prima articulaţie creată este în vârful ierarhiei, a doua este înrudită cu prima (fiind transformată în copilul primei articulaţii şi determinând-o să urmeze mişcările acesteia), a treia este înrudită cu a doua, şi tot aşa până la finalul liniei.

O articulaţie este ca un punct de pivotare într-o ierarhie. Nu se poate îndepărta punctul de pivotare al articulaţiei ; cele două rămân pentru totdeauna împreună. Poziţia unei articulaţii în ierarhie determină articulaţiile care se vor mişca o dată cu ea. Articulaţiile situate dedesubt se rotesc, cele de deasupra nu sunt afectate de mişcarea ei. A nu se face confuzie între această ierarhie şi articulaţiile care se află mai sus sau mai jos din punct de vedere fizic. O articulaţie poate fi deasupra alteia în direcţia Y, dar sub ea în ierarhie.

1.1.1Crearea articulaţiilor:

[2]

Page 3: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Crearea unei articulaţii se face alegând din meniul Skeleton unealta Joint Tool. În mod normal, când se creează articulaţiile se foloseşte o vedere ortogonală figura 4.

Fig. 4 O articulaţie este creată într-o vedere ortogonalăprin selectarea Skeleton > Joint Tool

Dacă se creează două articulaţii consecutive, între cele două articulaţii va apărea un os figura 5.

Fig. 5 A doua articulaţie a fost creată. Între cele două articulaţii apare un os, demonstrând că acestea două sunt înrudite.

Osul este mai gros la articulaţia părinte decât la cea copil.

Pentru a încheia un schelete se apasă tasta ENTER. Scheletul este complet, iar unealta Joint nu mai este activă. Este selectată articulaţia de sus în ierarhie, ceea ce determină marcarea întregului schelet.

Indicaţii■ De obicei este bine ca scheletul să fie construit având activată opţiunea de aliniere rapidă

la grilă pentru ca toate articulaţiile să fie aliniate. O metodo convenabilă de a face acest lucru constă în ţinerea apăsată a tastei X în momentul plasării articulaţiei.

■ Articulaţiile se pot mării sau micşora selectând Display > Joint Size şi alegând o mărime dintre cele din listă.

■ Pentru a şterge o articulaţie, se selectează, după care se apasă tasta DEL. Aceasta va fi ştearsă împreună cu articulaţiile situate sub ea în ierarhie.

Câteodată se doreşte ramificarea dintr-o articulaţie a ierarhiei. De exemplu, ambele mâini pornesc din articulaţia pieptului.

Ramificarea dintr-un schelet deja existent:

Cu ajutorul uneltei Joint şi folosind un schelet deja existent putem construii o nouă articulaţie legată de scheletul original printr-un os figura 6.

[3]

Page 4: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 6 Din articulaţiile existente apare una nouă

În acelaşi timp din meniul Window, putem selecta hypergraph pentru a vedea ierarhia rezultată. Se observă că două articulaţii se află la acelaşi nivel în ierarhie, amândouă înrudite sub aceeaşi articulaţie figura 7.

Fig. 7 Joint 3 şi Joint 4 sunt amândouă copiii articulaţiei intitulată Joint 2. Acest lucru înseamnă că dacă Joint 2 este rotit, Joint 3 şi Joint 4 se vor roti odată cu ea.

1.1.2 Înrudirea şi oglindirea articulaţiilor:

Oasele se pot considera ca fiind o reprezentare vizuală a ierarhiei articulaţiilor scheletului. Oasele apar atunci când se înrudesc articulaţiile. Dacă se desface o înrudire, osul dispare. Uneori este mult mai uşor să se creeze ierarhii separate şi apoi să se aşeze într-un singur schelet prin înrudire.

Înrudirea articulaţiilor:

În vederea laterală se creează scheletul unui picior şi laba piciorului din cinci articulaţii figura 8.

[4]

Page 5: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 8 Acesta este un model tipic de picior. Începând de sus, articulaţiile sunt şold, genunchi, gleznă, osul piciorului şi deget. Dacă personajul poartă pantofi, nu este nevoie de oase pentru

fiecare deget; un singur os e suficient pentru mişcarea părţii din faţă a piciorului.

Într-o ierarhie separată, în cadrul vederii laterale, se creează articulaţiile coloanei vertebrale începând de jos în sus figura 9.

Fig. 9 O coloană vertebrală se creează începând de jos în sus. Acest lucru transformă articulaţia de jos în părintele coloanei. Restul articulaţiilor sunt mai jos în ierarhie, deşi, din punct de vedere

spaţial, se află situate mai sus.

În vederea frontală, se mută piciorul într-o parte (tasta W). În acest moment avem două schelete separate. În faza următoare se selectează articulaţia de sus a piciorului, iar apoi, ţinând apăsată tasta SHIFT, se selectează articulaţia inferioară a coloanei. Se apasă tasta P. Între cele două a apărut un os figura 10.

Fig. 10 Piciorul a fost înrudit cu coloana. Acum articulaţia de jos este articulaţia de bază pentru întregul personaj.

Când această articulaţie se mişcă, întregul personaj se mişcă.

Indicaţie

[5]

Page 6: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

■ În mod similar se desfac înrudirile. Se selectează articulaţia care se doreşte a fi desfăcută şi se apasă simultan tastele SHIFT şi P. Articulaţiile s-au desfăcut, iar osul dispare.Pentru a economisi timp, odată ce s-a creat un picior sau o mână, se poate face o copie în oglindă a acestuia, copie care va apărea în partea opusă a corpului.

Oglindirea articulaţiilor:

Folosind piciorul din secţiunea precedentă, “Înrudirea articulaţiilor” , se selectează articulaţia şoldului figura 11.

Fig. 11 Este selectată articulaţia şoldului, astfel încât piciorulsă poată fi oglindit în partea cealaltă.

Pentru realizarea unei oglindiri, din meniul Skeleton, se selectează caseta din dreptul opţiunii Mirror Joint Options. Oglindirea se face faţă de un plan definit de două coordonate. În cazul de faţă pentru atributul Mirror Across, se selectează YZ figura 12.

Fig. 12 S-a selectat opţiunea YZ astfel încât piciorul să se oglindească după planul YZ

Un nou picior apare de cealaltă parte, figura 13.

[6]

Page 7: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 13 Piciorul opus este creat folosind Mirror Joint Optionsdin meniul skeleton

Indicaţii

■ Dacă piciorul a fost construit în vederea laterală, el ar trebui oglindit după planul YZ. Pentru a determina care este planul care trebuie folosit, se urmăreşte axa de vedere din colţul panoului şi se imaginează două dintre axe formând planul faţă de care se doreşte oglindirea. Dacă noul picior nu apare în locul corect, se reface oglindirea şi se încearcă alegerea altui plan din fereastra Mirror Joint Option

■ Nu se oglindeşte o articulaţie care cade exact la mijlocul corpului. Dacă se face acest lucru se vor obţine două articulaţii, una deasupra celeilalte.

1.1.3 Mişcarea articulaţiilor

Când se mişcă o articulaţie pentru poziţionare, toate articulaţiile aflate sub ea în ierarhie se mişcă simultan. Se poate mişca o articulaţie independent de poziţia din ierarhie folosind modul mişcare pivot.

Mişcarea unei articulaţii:

Având deja creat scheletul se selectează articulaţia genunchiului. Figura 14, prin apăsarea tastei W Se mişcă piciorul înapoi. Restul piciorului se mută odată cu el figura 15.

Fig. 14 A fost selectată articulaţia genunchiului, astfel încât ea să poată fi mişcată

[7]

Page 8: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 15 Când genunchiul se mişcă în spate, oasele labei piciorului se mişcă odată cu el.Se observă că osul dintre şold şi genunchi devine mai lung.

O altfel de mişcare se poate face prin apăsarea simultană a tastelor INSERT/HOME, activând modul pivot. Se mişcă piciorul înainte. Restul piciorului nu se mută odată cu el figura 16.

Fig. 16 Când articulaţia genunchiului se mişcă în modul mişcare pivot, laba piciorului, care este mai jos în ierarhie, stă pe loc.

Apăsarea simultană a tastelor INSERT/HOME dezactivează modul mişcare pivot.

1.1.4 Inserarea şi îndepărtarea articulaţiilor dintr-o ierarhie

Inserarea unei articulaţii:

Având deja un schelet cu mai multe articulaţii figura 17, putem insera şi alte articulaţii prin selectarea uneltei Insert Joint.

[8]

Page 9: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 17 Se creează în vederea ortogonală un schelet cu mai multe articulaţii

Se execută clic pe o articulaţie şi se trage cu ajutorul mouse-ului pentru a crea noua articulaţie. Aceasta va fi inserată între articulaţia selectată şi cea de sub ea în ierarhie. Acest lucru se realizează cel mai uşor în cadrul vederii ortogonale figura 18.

Fig. 18 Între două articulaţii existente s-a creat a treia. Aceasta este poziţionată între cele două, atât fizic, cât şi ierarhic.

Pentru a încheia şi a ieşi din unealta cu care s-a lucrat se apasă tasta ENTER.Uneori este posibil să se creeze mai multe articulaţii decât sunt necesare. Dacă se întâmplă

acest lucru, se selectează articulaţia şi se poate scoate din ierarhie fără a şterge alte noduri adiţionale, este de ajuns doar s-ă se şteargă articulaţia.

Îndepărtarea unei articulaţii din ierarhie:

Pentru îndepărtare unei articulaţii se selectează articulaţia care se doreşte a fi ştearsă figura 19, din meniul Skeleton se selectează Remove Joint figura 20, articulaţia este scoasă din ierarhie şi ştearsă din scenă. Odată îndepărtată articulaţia, osul de la încheietura părinte se termină la articulaţia copil figura 21.

[9]

Page 10: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 19 Se poate selecta o articulaţie prin selectarea acesteiadin fereastra de modelare, sau prin selectarea nodului corespunzător din Hypergraph

Fig. 20 Se selectează Remove Joint din meniul Skeleton

Fig. 21 Articulaţia selectată (joint15) este complet ştearsă din scenă şi nu e vizibilă în Hypergraph.

[10]

Page 11: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Uneori s-ar putea dori extragerea unei porţiuni dintr-un schelet creat anterior, spre a fi folosită la altul. Să zicem că este vorba de un personaj jumătate om, care foloseşte un sistem de articulaţii uman – cu braţele umane, dar nu şi cu picioare umane. Prin deconectarea articulaţiei centrale se poate folosi partea de sus a scheletului uman la partea umană din personajul respectiv.

Deconectarea unei articulaţii din ierarhie:

Pentru deconectarea unei articulaţii din ierarhie, se selectează articulaţia care se doreşte a fi deconectată din ierarhie figura 22 şi se utilizează unealta Disconnect Joint (figura 23) din meniul Skeleton. Articulaţia selectată şi copii săi sunt deconectaţi din ierarhia originală.

Fig. 22 O articulaţie poate fi selectată fie apăsând pe ea în fereastra de modelare, fie apăsând pe nodul articulaţiei respective în Hypergraph

Fig. 23 Se selectează Disconnect Joint din meniul Skeleton.

[11]

Page 12: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Din meniul Window, se selectează Hypergraph. Acesta se deschide într-o nouă fereastră. Se apasă tasta A pentru a focaliza toate articulaţiile din fereastra Hypergraph. Scheletul este acum împărţit în două ierarhii care pot fi selectate şi mutate independent figura 24.

Fig. 24 Deşi în vederea de modelare scheletul încă pare să fie întreg, se poate vedea în Hypergrph că acum sunt două ierarhii separate.

1.2 Handler-e şi solver-e în IK (IK-cinematica inversă)1.2.1 Definiţii

Cinematica inversă face animaţia mai uşoară în multe situaţii. De exemplu, pentru plasarea labei unui picior într-o anumită poziţie folosind cinematica directă ar trebui să se rotească şoldul şi genunchiul. Folosind un handler IK (cinematica inversă) la gleznă, se mută direct la laba piciorului în poziţia dorită, iar şoldul şi genunchiul se vor muta după ea figura25.

Fig. 25 În partea stângă, piciorul este mişcat de un hendler IK. În dreapta ş i şoldul şi glezna sunt rotite pentru a mişca piciorul.

De asemenea, se foloseşte handler-ul IK pentru a determina rămânerea în acelaşi loc a labei piciorului sau a unei mâini. Când personajul se plimbă şi se doreşte ca laba piciorului să îi rămână pe sol, acest lucru se realizează mult mai uşor folosind handler-ul IK (deoarece rotirile multiple ale articulaţiilor conectate la handler-ul IK ajută la păstrarea acestuia în acea poziţie figura 26).

[12]

Page 13: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 26 Partea de sus a piciorului se mişcă, dar glezna rămâne pe loc deoarece prezintă un handler IK pentru care s-a definit un cadru cheie. De notat faptul că acest picior mai are un handler IK

începând de la gleznă la osul piciorului şi de acolo la deget. Aceste handle-e păstrează laba piciorului în loc.

1.2.2 Adăugarea unui handler IK:

Odată ce este realizat un cadru cheie, laba piciorului va sta pe loc, deşi articulaţiile din lanţul IK se rotesc. La fel se întâmplă şi cu braţele sau mâinile. Dacă personajul urcă o scară sau se sprijină de un zid, un handler IK îl va ţine în loc.

Adăugarea unui handler IK:

Considerăm un schelet tipic de picior (figura 27). Se creează handler-ul IK prin selectarea articulaţiilor şoldului şi gleznei, prin alegerea din meniul Skeleton unealta IK Handel Tool.

Fig. 27 Acesta este un schelet tipic de picior. Uneori este adăugată o articulaţie pentru călcâi, dar aceasta este folosită rareori, din cauză că se îndoaie încheietura corespunzătoare gleznei şi nu

călcâiului.

După ce se creează handler-ul se mişcă ca în figura 28.

[13]

Page 14: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 28 Handler-ul IK este mişcat, permiţând o bună plasare a piciorului

Dacă se selectează Twist (răsucire) din Channel Box şi având butonul din mijloc al mouse-ului apăsat, se trage din stânga în dreapta în vederea de tip Perspective, piciorul se mişcă după lanţul handler-ului figura 29.

Fig. 29 Piciorul este rotit cu ajutorul atributului Twist

Atributul Twist acţionează numai în tipul de handler IK intitulat Rotate Plane (RP-plan rotit). Implicit, este creat un solver RP atunci când se construieşte un handler IK. Dacă handler-ul IK este mutat prea sus, piciorul se dă peste cap, iar genunchiul se va afla în direcţia opusă figura 30.

Fig. 30 Dacă se foloseşte un handler IK RP,când este ridicat prea sus, piciorul se poate da peste cap.

[14]

Page 15: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Această problemă se poate rezolva prin ajustarea atributelor Pole Vector, care pentru handler-ele IK se găsesc în Channel Box.

O altă alternativă este de a crea un solver Single Chain. Deşi acesta nu include atributul Twist, aşa cum o face solver-ul RP, solver-ul Single Chain nu prezintă aceleaşi probleme de răsucire. Când se foloseşte un solver Single Chain, se poate roti membrul prin simpla rotire a handler-ului IK. Oricum, solver-ul RP este considerat ca fiind mai previzibil deoarece nu este afectat de rotirea handler-ului IK.

Crearea unui handler IK de tip Single Chain:

Considerăm un schelet tipic de picior figura 31.

Fig. 31 Acesta este scheletul de bază pentru un picior

Din meniul Skeleton, se selectează caseta de lângă opţiunea IK Handler Tool. Este deschisă fereastra Tool Settings - Current Solver (figura 32) – ikSCsolver. Se selectează articulaţia şoldului şi gleznei – se creează handler-ul IK cu solver-ul Single Chain. Dacă se roteşte handler-ul IK, membru se roteşte.

Fig. 32 În caseta de dialog Tool Settings, se alege ikSCsolver.Acest tip de handler IK nu va cauza probleme de răsturnare aşa

cum poate produce handler-ul RP.

Indicaţii

■ Se poate schimba de asemenea tipul solver-ului după ce s-a creat handler-ul IK: se selectează handler-ul şi se deschide Attribute Editor. Dacă se execută clic pe IK Solver Attributes, se poate selecta tipul de solver din meniul contextului figura 33.

[15]

Page 16: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 33 În fereastra Attribute Editor corespunzătoare handler-ului IKse poate schimba tipul solver-ului după ce acesta va fi creat.

■ Handler-ele IK se pot roti de asemenea şi atunci când personajul animat se întoarce la 180o sau 360o . Pentru a evita acest tip de problemă, se poate constrânge orientarea Pole Vector a unui handler IK la articulaţia de deasupra lui. Pentru mai multe informaţii despre constrângeri, se va consulta CURSUL «ANIMAŢIA»

1.2.3 IK-uri spline

IK-urile spline oferă posibilitatea de a controla multe articulaţii utilizând o curbă în locul rotirii directe a acestora. Acest lucru este folositor în mod special când există un lanţ continuu (o coloană vertebrală sau o coadă), deoarece se poate mişca scheletul rapid în poziţia dorită fără a roti individual fiecare articulaţie figura 34.

Fig. 34 Prin crearea unui IK spline la aceste articulaţiise poate anima un schelet de forma unei coloane vertebrale sau a unei

cozi prin mişcarea doar a unui singur punct. Ar fi mult mai dificilă obţinerea unor efecte asemănătoare folosind cadrele cheie.

[16]

Page 17: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Crearea unui IK spline:

Se creează un schelet care să reprezinte o coloană vertebrală sau o coadă, începând de jos în sus figura 35. Din meniul Skeleton, se selectează IK_Spline Handle Tool.

Fig. 35 Coloana vertebrală umană are o curbă naturală.Când se creează o coloană pentru un personaj este bine să se potrivească cu forma naturală a

spatelui.

Pentru a se crea handler-ul se apasă pe articulaţia rădăcină şi se selectează a doua articulaţie de la baza scheletului. Sunt create două lucruri, handler-ul IK şi o curbă. Implicit, curba este automat înrudită cu articulaţiile. Se selectează Twist din Channel Box

Având butonul din mijloc al mouse-ului apăsat, se trage din stânga în dreapta. Oasele se rotesc. Din Hypergraph se selectează curba care tocmai a fost creată figura 36.

Fig. 36 Este mai uşor să se selecteze o curbă în cadrul Hypergraph-ului, deoarece pictograma poate fi izolată.

În cadrul Pick Mask se selectează modul Component. Acum sunt vizibile punctele de control ale curbei. Se selectează şi se mută un CV (punct de control) figura 37.

[17]

Page 18: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 37 Când este mişcat punctul de control, coloana se îndoaie în forma curbei de control.

Indicaţie

■ În general nu se doreşte utilizarea articulaţia rădăcină a scheletului ca parte din lanţul IK spline. Dacă se doreşte totuşi acest lucru, atunci când sunt mutate punctele de control, întregul schelet se va roti. Pentru a evita o astfel de situaţie, ca bază a IK-ului spline se alege o articulaţie mai sus de rădăcină.

1.2.4 Puncte de control (crearea cluster-elor)

Când se foloseşte IK spline pentru animarea personajului, se mută şi se realizează cadre cheie pentru punctele de control. Totuşi, punctele de control nu au nod propriu. Din moment ce sunt componente, nu apar în Hypergraph sau Outliner ca nod ce poate fi animat. În acest sens, poate fi folositoare crearea unui cluster pentru fiecare punct de control al curbei, astfel încât să existe un nod care să poată fi urmărit când se realizează animaţia. Un cluster poate fi folositor de asemenea în procesul de selecţie din moment ce se poate muta handler-ul unui cluster la distanţă de curba spline, fiind mai uşor de selectat.

Crearea cluster-elor pentru punctele de control IK spline:

Folosind un Spline IK creat anterior, se selectează unul dintre punctele de control ale curbei de control. Articulaţia rădăcină nu trebuie să fie inclusă în lanţul IK. Din meniul Deform se selectează caseta din dreptul opţiunii Create Cluster. Este deschisă fereastra de dialog Cluster Options.Se selectează caseta de validare din dreptul opţiunii Relative (figura 38).

[18]

Page 19: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Fig. 38 În cadrul casetei de dialog Cluster Options, se bifează caseta de validare din dreptul Relative.

Prin selectarea acesteia, cluster-ul se va mişca odată cu curba. Dacă nu se bifează Relative, cluster-ul va face o transformare dublă, ceea ce înseamnă că se va mişca de două ori mai mult decât se mişcă articulaţia rădăcină. Dacă se apasă butonul Create, se va crea Clusterul şi este reprezentat de o literă C figura 39.

Fig. 39 Apare o literă C (prescurtarea de la cluster) acolo unde este punctual de control. Cluster-ul controlează puncul de control.

Ţinând apăsată tasta SHIFT se selectează articulaţia rădăcină a scheletului. Se apasă tasta P. Cluster-ul este acum înrudit cu rădăcina, astfel încât se va muta odată cu întregul schelet.

Se repetă paşii 2 până la 7 pentru toate punctele de control ale curbei de control, mai puţin cel de la limita inferioară. Acum sunt create cluster-e pentru fiecare punct de control, care pot fi selectate şi animate uşor figura 40.

Fig. 40 C-urile sunt folosite drept unelte de selecţie pentru rotirea coloanei.

[19]

Page 20: C2 Schelete şi cinematica inversă

Curs 2 Schelete şi cinematica inversă

Indicaţie

■ Atunci când se realizează un cluster pornind de la punctul de control al unei curbe pentru IK spline, punctul de control de la limita inferioară a curbei este lăsat liber. Mutarea acestui punct va determina a oaselor – lucru total nedorit deoarece tot corpul se deşiră.

Înţelegerea Hypergraph-ului şi a scheletului

Atunci când este creat un personaj, Hypergrph-ul joacă un rol important în ordinea ierarhiei şi în selecţie. De fapt, este cea mai bună unealtă pusă la dispoziţie de Maya pentru a ajut la înţelegerea modului în care sunt formate ierarhiile, precum şi felul în care diferitele elemente din Maya relaţionează unul cu celălalt.Hypergraph furnizează două modalităţi de afişare: Freeform şi Automatic, Automatic fiind cea implicită. Dacă se alege Automatic, Maya dispune automat interfaţa Hypergrph-ului, având nodul rădăcină în partea inferioară a ierarhiei şi fiecare copil sub părintele corespunzător, nodurile fiind unite între ele cu ajutorul unei linii. În plus, ele sunt blocate astfel încât ierarhiile rămân vizibile şi organizate.

Spre deosebire de Automatic, dacă se alege Freeform din meniul Options > Layout, se pot muta şi organiza nodurile după bunul plac. În plus, pentru fundalul Hypergraph-ului se poate importa o imagine a personajului creat, astfel încât articulaţiile, punctele de îmbinare, să poată să fie aliniate la poziţiile corespunzătoare imaginii, devenind în acest fel mult mai simplă selectarea punctelor individuale. Într-o ierarhie simplă acest lucru nu este neapărat necesar, dar în momentul în care există sute de puncte de control şi suprafeţe, selecţia acestora se poate dovedi a fi greoaie.Hypergraph-ul afişează fiecare articulaţie folosind pictogramă albastră. Atunci când este selectată o singură articulaţie în panoul de vizualizare, sunt reliefaţi toţi copiii acesteia pentru a indica prezenţa unei relaţii cu articulaţia selectată. Atenţie la faptul că, deşi aceştia sunt reliefaţi în cadrul panoului de vizualizare, ei nu au fost selectaţi individual.

Se selectează o articulaţie şi se deschide Hypergraph-ul. Articulaţia selectată are culoarea galbenă pentru a indica faptul că este activă, dar punctele de îmbinare de sub ea (copiii acesteia) nu sunt active. Datorită faptului că este selectat părintele, copiii îi vor urma acestuia. Dacă în Hypergraph se selectează copiii prin apăsarea tastei SHIFT şi apoi se rotesc articulaţiile, se poate vedea faptul că fiecare punct de îmbinare va fi rotit. Deşi rareori selecţia articulaţiilor se va face în acest mod, este important de înţeles ce este şi ce nu este selectat într-o ierarhie.

Articulaţiile pot fi mutate dintr-o ierarhie în alta, sau pot fi deconectate de la aceasta – toate lucrurile se realizează de la nivelul Hypergraph-ului. Se foloseşte butonul din mijloc al mouse-ului pentru a muta articulaţiile în interiorul sau exteriorul sau exteriorul unei ierarhii. Pentru a muta articulaţia împreună cu copiii acesteia într-o altă ierarhie, se trage cu ajutorul butonului din mijloc al mouse-ului peste nodul selectat (împreună cu copiii acestuia) este conectat la noua ierarhie.Pentru a şterge o ierarhie şi copiii acestuia dintr-o ierarhie, se selectează nodul folosind butonul din mijloc al mouse-ului şi se scoate din ierarhie (dând drumul la buton în momentul în care nodul a fost îndepărtat din ierarhie). Această tehnică este bună de asemenea pentru îndepărtarea obiectelor dintr-un grup din interiorul Hypergraph-ului.

[20]