"Kreiranje i razvoj imidža lika." Skeletna animacija u igricama

Pretplatite se
Pridružite se koon.ru zajednici!
U kontaktu sa:

Obično se koristi u 2D igrama. Na primjer, ako trebate napraviti animaciju hodanja lika, tada se crta nekoliko slika lika u različitim fazama kretanja. Zatim se u igri ovi okviri mijenjaju sa određenim vremenskim intervalom. Profit.

Ovaj pristup podrazumijeva prilično veliku količinu rada umjetnika. Motion Capture se ovdje ne može sjebati. Ali umjetnik, naravno, može koristiti snimke ljudi i životinja u različitim fazama kretanja kao reference.

Sa tehničke strane, obično se nameću sledeći zahtevi (zgodnije je raditi sa okvirima): slike moraju imati prozirnu pozadinu, mora postojati isti vremenski interval između kadrova, animacija mora biti „na mestu“ (pomeranje likova je obično se izvršava programski), ne bi trebalo postojati potreba za pomicanjem okvira jedan u odnosu na drugi.

Daljnje radnje variraju ovisno o motoru igre i želji lijeve pete programera. Ali najčešće se slike skupljaju u atlas (koji se naziva i spritesheet), koji se sastoji od slike s mnogo okvira + opisa koordinata okvira na ovoj slici (i njihovih naziva), koje može pročitati motor .

U 2d, animacije okvir po kadar su uglavnom jedini način da se naprave realistične animacije likova.

I ovdje kretanje, okreni se, promjena veličine- ove animacije se obično rade programski. Mislim da je lako pretpostaviti da je sa svih strana mnogo isplativije pomeriti lik iz koda nego crtati sav njegov pokret uvučen od početne tačke.

Ali, na isti način, možete u potpunosti animirati lik!

2. Skeletna animacija u 2d

Ako ga nacrtate ne u potpunosti, već ga napravite da se sastoji od zasebnih dijelova (ruke, noge, tijelo itd.), Tada se svaki od dijelova može pomicati u odnosu na drugi, a kao rezultat toga može se dobiti animirani lik.

Slična tehnika je korištena, na primjer, u projektu koji je demonstrirao 2d mogućnosti Unity3d motora kada su se prvi put pojavili u njemu. Lik se sastoji od zasebnih dijelova koji se pomiču jedan u odnosu na drugi koristeći različite alate za animaciju motora. Kada se izvodi u najnovijim verzijama Unity-a, možda će biti potrebno finalizirati projekat pomoću datoteke.

Skeletna animacija je razvoj ove ideje. Lik je još uvijek podijeljen na dijelove. Tek sada su ti dijelovi vezani za kosti određenog skeleta i kreću se s njima. Kako to radi se vrlo jasno vidi u Spine promo videu (za svaki slučaj upozoravam da je Spine sistem koji se plaća).

Međutim, primjena Motion Capture na likove stvorene na ovaj način neće biti ništa drugo do bacanje novca. 100% Realizam i dalje neće biti postignut (za 2d), a prosječan 2d umjetnik/animator će sve raditi brže, jeftinije i bolje.

Ali, zapravo, razlika od animacije pojedinih dijelova tijela "ručno" je samo u pogodnijem alatu za kreiranje animacija.

Ali razlike u odnosu na animacije okvir po kadar su značajne. Prednosti skeletne 2d animacije su u mnogo manjoj količini tekstura (na PC-u skoro da i nije bitno, ali na mobilnim platformama je i dalje bitno), u mnogo manjoj količini rada umjetnika (potrebno je nacrtati ne 100.500 kadrova jednog lika, ali samo nekoliko dijelova tijela) i mogućnost prijenosa animacija između likova s ​​istim kosturom. Loša strana je manje realizma.

3. Skeletna animacija u 3d

U 3D stvari su malo drugačije. Lik je trodimenzionalni model koji nije podijeljen na dijelove (ali se može podijeliti ako je potrebno). Prilikom animiranja skeleta, mreža modela se deformiše. Da biste razumjeli, vidjeli i osjetili kako se sve ovo stvara i funkcionira, mogu preporučiti (na engleskom) kako napraviti lik u Blenderu i uvesti ga u Unity.

Za likove sa istim kosturom, animacija ovdje također može biti uobičajena. U istom Unityju, na primjer, postoji Mecanim Humanoid Rig. Kao rezultat toga, možete besplatno kupiti/napraviti/preuzeti gotovu animaciju i primijeniti je na sve humanoidne likove (naravno, i likovi i animacije moraju biti kreirani i konfigurirani na određeni način).

Animacije mogu kreirati i modelar i zasebni animator, uključujući korištenje Motion Capture. Zapravo, nakon primanja mocap-podataka od stvarne osobe (ovaj proces, mislim, trebao bi biti jasan), oni se finaliziraju datotekom i pretvaraju u obične animacije. Plus je, naravno, očigledan - animacije postaju realističnije. Problemi su u tome što realizam nije uvijek dobar i što sam animator to često radi bolje, brže i jeftinije ručno.

Pored navedenog, vrijedi spomenuti i Ragdoll. Suština je da se umjesto animacije, fizika primjenjuje na kosti kostura, zbog čega lik može "realnije" (sa stanovišta fizike) pasti, umrijeti itd. Ragdoll se, inače, dešava i u 2d, ali to je rijetko.

A u vezi sa srodnim pitanjem, obratiću pažnju na IK (Inverse Kinematics) - vrlo je vjerovatno da se koristio u ovim igrama. Ali, generalno, ovo je samo moja pretpostavka, nisam držao sveću kada sam razvijao ove igre.

ŠTA RADITI?

Šta učiniti ako niste umjetnik, a ne animator, a ne modeler itd.

  1. Besplatno pronađite umjetnika/modelera (onda idite na gamedev.ru).
  2. Pronađite umjetnika / modelera za novac (za vas na berzi slobodnih zanimanja).
  3. Besplatno pronađite rad umjetnika modelara (počnite na opengameart.org, a također provjerite trgovine i forume popularnih motora za igre - postoji mnogo besplatnih sprijtova i modela).
  4. Pronađite rezultate rada umjetnika / modelera za novac (u trgovinama popularnih motora ili jednostavno u online trgovinama tekstura i 3d modela, ali budite oprezni u posljednjem - nisu svi modeli optimizirani za igre).

Budite oprezni sa licencama! Mnoge "besplatne" licence imaju zahtjeve koji možda nisu mogući u projektu! Vlasnički - čak i više!

  1. Naučite i radite sve sami. Ruke se ispravljaju uz veliku želju i upornost. Druga stvar je da će profesionalci u svojoj oblasti sve uraditi "odmah".
  2. Budite kreativni i pojednostavite lik tako da čak i vi možete crtati animacije za njega.
  3. Pokažite još više kreativnosti: uzmite lik u 3D (mnogo je lakše pronaći ga besplatno nego animacije lika po kadar za 2d igre), napravite snimke ekrana iz pravog ugla s pravom animacijom. Profit.

P.S. Kao bonus - baza podataka za snimanje pokreta Carnegie Mellon University. Ona, pretvorena za Unity: , , . Besplatno.

Kreiranje trodimenzionalnog lika za logo ili reklamu samo je pola bitke. Čim je izgled vašeg lika spreman, dogovoren i odobren, počinje zabava - kreiranje 3d animacije. Ovo je dugotrajan i nevjerovatno zanimljiv proces, koji vam na kraju omogućava da "oživite" bilo koju ideju.. Na primjer, naučite lika da razgovara sa klijentom, bude tužan i sretan, razmišlja i kreće se, "upuštajte se" u avanture i na prstima pokažite kako primijeniti svoj proizvod.

Rad 3d animatora je kolosalan rad koji vam omogućava da stvorite ne samo pokretnu sliku, već i potpuno pouzdanu stvarnost oko sebe. Kako se stvara trodimenzionalna animacija i koja se čuda mogu vješto napraviti, detaljnije ćemo analizirati u članku.

Da citiram dr. Frankensteina: živ je!

Animacija trodimenzionalnih objekata značajno se razlikuje od 2d animacije - "ravnih" crtanih filmova, gdje je volumen postignut uz pomoć perspektive i pravilnog slikanja likova i okoline. Danas vam tehnologija omogućava da odmah pokažete njen oblik pomoću osvjetljenja i kretanja kamere. U ovom slučaju, koncept animacije se mijenja:

2d animacija- stvaranje iluzije kretanja ili mijenjanje oblika predmeta korištenjem tehnika.

animacija 3d— automatsko kretanje ili transformacija objekata u prostoru i vremenu.

Jednostavno rečeno, prije je bilo potrebno crtati kretanje svakog lika okvir po kadar. Sada je dovoljno napraviti trodimenzionalni model lika, nakon čega se može pomicati u prostoru bez dodatnih napora i crteža. Ali, lako je reći, ali u stvarnosti, animiranje 3d modela likova je prilično kompliciran proces. Da bi se figurica pokrenula, nije dovoljno imati pristup kompjuteru i pametnim programima. Također morate zamisliti kako se junak može kretati, koje sile utječu na njega (ne one koje su veće, već, na primjer, gravitacija, sila trenja i otpora).

Ako želite da dobijete karakter, važno je obratiti se animatorima koji su svjesni svih suptilnosti i spremni su fanatično razraditi svaki detalj. Ne samo hod, već i izrazi lica, i kretanje dlačica, i klizanje tkanine (ako junak, naravno, nosi odjeću).

Da uzmete u obzir sve odjednom, morate biti mali mađioničar i malo genije - sasvim dobar opis za animatore studija KLONA.

Kako stvoriti ne-zombije: karakteristike 3D animacije likova

Kao što moderna mudrost kaže: ništa nije zombi nego zombi. A ako vaš junak nije on, onda bi animacija lika trebala biti „uživa“, ili, kako se sada kaže, verbalna. Gledalac mora vjerovati da junak zaista hoda, gleda, pravi grimasu ili se smiješi. stupa u interakciju sa okolinom.

Kreiranje i animacija 3d lika je stvaranje priče koja se ne priča riječima na papiru (ili ekranu), već pokretom. Na primjer, izrazi lica lika mogu puno reći o liku. Ali za to mora imati dovoljno "kvalitetno" lice da bi se mišići pokrenuli.

Kada se pristupi pitanju bez dužne pažnje ili na pola snage, u pravilu se dobije nešto u najmanju ruku neprirodno, a ponekad čak i zastrašujuće.

Stoga, uzmimo kao početnu tačku i vidimo šta se može učiniti s tim:

  1. Animirati po ključnim kadrovima;
  2. Animirajte duž staze;
  3. Kreirajte animaciju u dinamičnom okruženju;
  4. Animirajte pomoću snimanja pokreta.

Svaki od načina je najlakše objasniti, uzimajući u obzir ne samo tehnologiju, već i primjere.

Animacija ključnog kadra: od tačke A do tačke B

- jedan od najčešćih načina za kreiranje 3D animacije likova. Suština metode je sljedeća: na vremenskoj skali postavlja se nekoliko glavnih tačaka u kojima se mijenja položaj ili oblik objekta. Animator postavlja tražene parametre modela u navedenim okvirima, a program automatski izračunava "srednja" stanja.

Primjer: Radi jednostavnosti, uzmimo gumenu loptu koja udari o tlo i odskoči uvis. Da bi se prikazao jedan takav "skok", proces se mora podijeliti u tri faze: lopta na vrhu - lopta na zemlji - lopta opet na vrhu. Na dobar način, trebalo bi postaviti više ključnih okvira, uzeti u obzir gomilu sitnica. Kao i činjenica da se pri padu gumeno kućište rasteže, a kada se udari spljošti.

Ako pravilno deformirate objekt u svakom fiksnom trenutku, 3d animacija će se pokazati što prirodnijom.

Nisu uvijek 3d modeli likova ljudi ili životinje. Naš junak može biti bilo koji predmet, na primjer, leteća kamera ili NLO (općenito, sve što je dovoljno za fantaziju). U ovom slučaju, treperenje svjetala i rotiranje duž ose neće biti dovoljno - nije zanimljivo. Ali natjerati objekt da leti duž putanje, pa čak i "pošalji" kameru da prati kretanje, približava se i udaljava na vrijeme ...

A vješto rukovanje fokusom (upravo to bi trebao biti sposoban studio za 3d animaciju) pretvorit će jednostavno kruženje objekta u prostoru u gotovo fascinantan blockbuster.

Suština metode je da:

  • postaviti početnu tačku (početak putanje objekta);
  • označiti putanju (put koji objekt čini);
  • navedite krajnju tačku (gdje bi model trebao stati).

Nakon što se lik/objekat „prikači“ na putanju, program sam izračunava i kreira kretanje. Ako dodate animaciju samog objekta (mahtanje krilima, otvaranje zračnih brava, uvlačenje stajnog trapa) i „igranje“ s kamerom, možete postići vrlo zanimljive efekte.

Tim studija CLONE tačno zna kako napraviti jednostavan pokret po zacrtanoj ruti i zadivljujuće dinamičan.

Naš heroj nije u vakuumu. Svaki lik je okružen nekom vrstom stvarnosti, u kojem nužno postoji gravitacija (ako nije u svemiru), kretanje vazdušnih masa i druge vrste vibracija. Sve ovo treba uzeti u obzir kako bi animacija likova bila dovoljno realistična.

Kako izgleda rezultat takve animacije i gdje se može vidjeti?

U detalje. Kada lik hoda gradom, a ogrtač vijori na naletima vjetra, ili kada se kosa zalijepi za lice pod vodom, sve se to postiže zahvaljujući animaciji koja uzima u obzir faktore okoline.

strogo govoreći, animacija u dinamičnom okruženju- prilično računski rad sa dubokim uranjanjem u fizičke karakteristike objekata. Ali bez svega ovoga, čak ni najdetaljnije 3d modeliranje neće oživjeti lik.

Snimanje pokreta: pretvaranje filma u crtani film

Tehnologija snimanja pokreta- mlad, ali veoma popularan. Danas se snimanje pokreta koristi u gotovo svim naučnofantastičnim filmovima. Suština ove metode je izuzetno jednostavna:

  • senzori su pričvršćeni za glumca;
  • dok se glumac kreće, kamere snimaju položaje senzora;
  • njihovo pomicanje obrađuje program i stvara pokretni "kostur" sa skupom ključnih okvira;
  • rezultirajući informativni paket je "umotan" u ljusku - za to se koristi 3d modeliranje karaktera.

Kao rezultat toga, akcije junaka su realistične, uvjerljive, a animatori se ne moraju baviti fizikom i pamtiti gdje se nešto savija.

Dijeli savjete koji će vam pomoći da brže i efikasnije kreirate visokokvalitetnu animaciju.

Svako se može naučiti koristiti 3D aplikacija za kreiranje animacija i manipulaciju krivuljama, IK ili oblicima blenda. Ali to ga još ne čini animatorom, jer prava animacija ima mnogo komponenti.

Savjet br. 1: Blokirajte poze ključeva

Fokusirajte se na važne pokrete karaktera, imajući na umu "širu sliku".

Ne pokušavajte odmah, kada je u pitanju animacija, razraditi svaki pokret lika. Ako se stalno fokusirate na bilo koji trenutak, nećete vidjeti cijelu sliku, stvarajući animaciju neprirodnog izgleda.

U animaciji svaki pokret mora biti harmoničan, pa je vrlo važno vidjeti cijelu sliku, fokusirajući se na ključne poze.

Savjet #2: Kopiraj-zalijepi ključeve

U nekim slučajevima, kao što je kada radite na ciklusima hodanja ili trčanja, nema smisla odvojeno raditi na pozama u ogledalu. Stoga možete varati i, na primjer, jednostavno kopirati i zalijepiti ključeve s lijeve noge na desnu. Istovremeno, zapamtite da to prije svega radite da biste ubrzali sam proces rada.

Savjet #3: Koristite pouzdanu opremu

Dobra 3D animacija ne zavisi samo od talenta animatora, već i od kvaliteta opreme koju koriste. Brza osnovna oprema će vam omogućiti da kreirate osnovnu animaciju. Stoga, oprema mora biti prilagođena vašim specifičnim visoko specijaliziranim potrebama. Neprofesionalno montiranje samo će vam uzrokovati nepotrebne probleme. Takođe, animator ne bi trebao biti u mogućnosti da uređuje ograničenja i druge sisteme, jer će to jednostavno "ubiti" opremu.

Najbolja oprema je ona koja omogućava animatoru da animira bez razmišljanja o nepotrebnim stvarima za njega. Tako je cool kada samo uzmeš lik i pomjeriš ga u sceni, ukucavaš, bez razmišljanja o bilo kakvim tehničkim stvarima, kada ne moraš svakih 5 minuta pisati rigeru, pitajući zašto je ruka ovog lika raznesena na pod ekrana.

Savjet #4: Neka vaši PZR-ovi funkcioniraju

Animacija nije samo ključ. Samo uz njihovu pomoć prilično je teško kontrolirati animaciju. Takođe, ako podesite ključeve u svakom kadru, scena će biti preopterećena, animacija će biti veoma teška za editovanje, a pokreti lika će biti neprirodni.

Prije nego što se izbezumite zbog činjenice da dobivate neprirodnu animaciju, eksperimentirajte s krivuljama i tangentama animacije. Svaki taster ima PTT koji se može podesiti i koji se takođe može koristiti za kontrolu srednjih kadrova.

Savjet #5: Pustite aplikaciju da radi umjesto vas

Čak i ako radite u najskupljoj 3D aplikaciji najnovije verzije, i dalje radite animaciju na tradicionalan način. Premještanje zglobova i dodjeljivanje ključeva je puno posla, pa prepustite programu da obavi posao umjesto vas.

Ovo se posebno odnosi na sekundarnu animaciju, jer se dinamika može koristiti za renderiranje kose, odjeće ili repa lika. Ovo će se automatski izračunati, omogućavajući vam da se fokusirate na ključnu animaciju.

Savjet #6: Koristite proxy model da osvijetlite okvir za prikaz

Kada radite na ključnim potezima, bolje je koristiti low-poly proxy model umjesto high-poly.

Model visokog polja može objesiti okvir za prikaz jer se mora deformirati i pomicati u sceni uz pomoć skeleta ili drugih složenih deformatora. Ovo postaje posebno uočljivo ako animaciju puštate u realnom vremenu.

Kada radite na ključnim pozama i osnovnim pokretima, sakrijte visokopolitički model i animirajte lagani proxy. To može biti ili pojednostavljena verzija lika, ili par kocki s pravim proporcijama. Ovaj pristup će vam omogućiti da pažljivo razradite osnovne pokrete, koje ćete zatim primijeniti na model s visokim stupom.

Savjet #7: 3 ključa dobre animacije: priprema, akcija i reakcija

Planirajte svoju animaciju oko 3 faze: priprema, akcija i reakcija

Kada radite na sekvencama ili animacijama općenito, ne zaboravite na 3 važne faze: očekivanje, akciju i reakciju. Gotovo svaki pokret sadrži dio svake od ovih faza.

Na primjer, prije nego što skočite, savijte koljena ili vratite ruku prije nego što nešto bacite. Ovo je pripremna faza. Skakanje ili bacanje je akcija. Reakcija - savijanje koljena ili pomicanje ruku nakon doskoka. Isti pristup vrijedi i za animaciju lica. Da biste postigli efekat komičnosti, možete preuveličati sve pokrete ili izraze lica.

Savjet #8: Gledajte stvari očima lika

Nemojte se plašiti da se snimite kamerom

Najbolja referenca za animatora je video. Mogućnost da ga stalno gledate, pauzirate, puštate u usporenom snimku omogućit će vam da detaljno razradite pokrete lika.

I ovo nije novo. Ozbiljni studiji za animaciju uvijek snimaju glasovne glumce dok čitaju tekst. Ovaj video se zatim prosljeđuje animatoru koji će animirati likove na osnovu ponašanja i izraza lica glumca.

Ovaj pristup nije svima nama dostupan, jer nemamo neograničene mogućnosti filmskog studija. Ipak, možemo ustati sa stolice i barem snimiti video kako hodamo ili se ponašamo. Pokušajte reproducirati scenu koju radite na sebi, ma koliko vam se činilo teškom ili teškom. To će vam pomoći da se brže nosite s blokiranjem i kreirate bolje animacije.

Savjet #9: Koristite ogledalo

Vaša najbolja referenca ste vi sami

Kada završite sa animacijom tijela vašeg lika, prijeđite na njegovo lice. Najbolje je animirati lice na kraju. Ovo je vrlo važan dio animacije. U ovoj fazi morate stvoriti prirodne izraze lica koji će uvjeriti gledatelja da lik zaista doživljava određene emocije.

Kupite sebi malo ogledalo i gledajte se dok radite, napravite sebi par lica u njemu. Da biste kreirali animaciju visokog kvaliteta, potrebne su vam dobre reference, a koja referenca može biti bolja od vas samih?

Savjet #10: Ponovno koristite animaciju

Biblioteka sa animacijama pomoći će vam da radite brže i efikasnije

Ovaj savjet se odnosi na sve oblasti CG industrije. Može se koristiti i u animaciji.

Trebat će vam više od jednog ili čak dva sata rada da se stvori kvalitetan ciklus hodanja ili trčanja, pa kada ga kreirate, koristite ga u narednim projektima. Fokusirajte se na ključne poze, a zatim ih poradite detaljnije, učinite ih raznovrsnijima i tako učinite lik jedinstvenim.

I na kraju. Zapamtite da lice treba animirati posljednje.

Ranije sam spomenuo koliko je važno raditi na liku kao cjelini, blokirajući ključne poze i zatim ih usavršavajući. Ali ovo se odnosi samo na animaciju tijela likova, jer se u najmanju ruku treba pozabaviti izrazima lica.

Anima je duša koja razlikuje žive od mrtvih. Aristotelova duša je princip kretanja, koji se manifestuje u četiri oblika: kretanje, transformacija, smanjenje i povećanje. Gotovo dvije i po hiljade godina kasnije, koristimo iste kategorije u kompjuterskoj grafici. Skeletna animacija određuje kretanje, morfiranje se koristi za transformacije, a smanjenje i povećanje je uobičajeno skaliranje. Animirana grafika oživljava sliku, udahnjuje dušu u sliku, a to je, po mom mišljenju, još važnije od pouzdane igre svjetla i sjene.

Kreiranje visokokvalitetnih 3D skeletnih animacija danas je možda najteži zadatak za indie programere. To je vjerovatno razlog zašto ima tako malo indie igara u 3D, a toliko projekata u stilovima pixel arta ili primitivizma, kao i avanturističkih igara bez likova u kadru. Ali sada se ovaj omjer može promijeniti...

Pokušajte izbrojati broj različitih animacija u Uncharted 4. Procjenjujem da postoji oko sat vremena jedinstvenih pokreta, ne računajući animaciju lica ( 850 izraza prema autorima). Igre poput ove postavljaju fantastičnu traku za kvalitet.

Uncharted 4 primjeri animacije (>40mb GIF)



Ako fizičko renderiranje i kreiranje dobro osvijetljenih statičnih scena postanu dostupni entuzijastima putem moćnih besplatnih mehanizama za igre i alata za 3D modeliranje, onda stvaranje dobre animacije zahtijeva opremu za snimanje pokreta i mukotrpan rad na njihovoj implementaciji. Jedan od najpristupačnijih sistema je neuronmocap odijelo, koje košta oko 1,5 hiljada dolara, bez dostave.

Nisam uspeo da pronađem primere kreiranja čak ni bliskih nivoa animacije korišćenjem ručnog pristupa kadru ili bilo koje vrste proceduralne animacije. Maksimum koji se može napraviti ručno, po mom mišljenju, su jednostavni potezi, brzi pokreti i stilizirana crtana animacija. Ali kako napraviti realistično hodanje stepenicama, gdje ima puno detalja vezanih za prenosivi centar gravitacije i ravnotežu tijela? Nije moguće sve ih reproducirati ručno. Možda griješim, a neko će pokazati rad stručnjaka ovog nivoa? ..

Sjećam se svega ovoga kako bih cijenio velikodušni poklon od Mixamo. Doslovno otvara vrata na novi nivo za nezavisne programere: kompaniju Adobe kupio Mixamo, a sada poklanjaju 2,5 hiljade skeleta animacija za likove potpuno besplatno "za neograničenu komercijalnu ili nekomercijalnu upotrebu":
www.mixamo.com

Prije pola godine, mogli ste ih dobiti samo izdvajanjem oko 36.000 dolara (pa, ili duh u mreži). Pored animacija, kompanija nudi i besplatnu verziju alata za postavljanje i skidanje kože, alat za kreiranje više nivoa detalja sa minimalnim gubitkom kvaliteta (LOD), generator karaktera i dodatak za snimanje animacija lica.

Dobivanje visokokvalitetnih i raznovrsnih animacijskih isječaka samo je prvi dio zadatka.
Drugi dio je pravilno korištenje primljenih animacija prilikom upravljanja likom. Da biste to učinili, prvo morate odlučiti kako uopće pomjeriti lik u sceni: na osnovu podataka same animacije (1), ili na osnovu nekih drugih razmatranja (na primjer, fizika krutog tijela) (2 ). Odnosno, ili će se animacija izračunati na osnovu proizvoljnog (fizičkog) kretanja objekta u prostoru (2), ili će sam pomak u prostoru proizaći iz snimljene animacije, zanemarujući druge intervencije (1).

Oba pristupa imaju prednosti i nedostatke. U stara vremena, prije masovne upotrebe motion capture, o tome gotovo da i nije bilo govora - likovi su se kretali proceduralno, na osnovu nekih jednostavnih principa, a isječci animacije jednostavno su se puštali kako bi odgovarali ovom pokretu. No, što su animacija i grafika općenito postajali sve bolji, to je nesklad između pokreta nogu i kretanja lika postajao uočljiviji, kao i neprirodnost dinamike pokreta.

Jedan od najsjajnijih primjera je Guild Wars 2, gdje su animacija pokreta i grafika već prilično dobri, ali širok raspon mogućih brzina i smjerova kretanja lika nije osiguran tako velikim skupom animacija, a likovi ili klize. na mjestu ili skliznuti naprijed kao na ledu. Isti problem već duže vrijeme proganja igre na Gamebryo motoru (TES serije: Morrowind, Skyrim) i mnoge druge.

Pravo ljudsko kretanje je nelinearno – prvo se nagnemo naprijed, zatim izbacujemo nogu, pa tek onda počinjemo da se krećemo, brzo ubrzavajući nakon što stopalo dodirne tlo, i krećemo se po inerciji na sljedeći korak. Teško je pronaći funkciju koja precizno opisuje takav pokret, a rijetko ko o tome i razmišlja. Što tek reći o složenijim pokretima - strafing, prijelazi između smjerova, kočenje i skretanje.

Dakle, da bismo postigli realizam, trebat će nam gigantski set raznih klipova sa pokretima u različitim smjerovima, različitim brzinama itd. u svakom slučaju... Također, animirani klipovi se rijetko mogu koristiti izolovano, puštajući se jedan za drugim. Najčešće igra ima puno animacija, između kojih nema posebnih animiranih prijelaza. Stoga se koristi glatko miješanje za njihovu simulaciju kroz linearnu interpolaciju rotacija kostiju. Za zgodnu konfiguraciju ovakvih prijelaza, tzv. državni stroj ili državni stroj. UE i Unity imaju posebne alate za to: Persona i Mecanim. Za svaki čvor postoji neko stanje skeletnog modela (pripremljeni animacijski klip ili rezultat njihovog miješanja - Blend Tree). Kada su ispunjeni neki zadati uslovi, vrši se glatki prelazak iz jednog stanja u drugo, pri čemu oba imaju vremenski proporcionalno dejstvo na rotaciju kostiju i pomeranje predmeta. Time se postiže iluzija kontinuiteta kretanja.

Stanje možda neće biti jedan klip, već skup isječaka pomiješanih na isti način (Blend Tree / Blend Space). Na primjer, možete odabrati nekoliko isječaka kretanja karaktera sa strane, miješajući ih proporcionalno željenom vektoru kretanja, i dobiti kretanje pod bilo kojim proizvoljnim kutom. Međutim, postoje neke animacije za koje miješanje rezultira pogrešnim pozama. Na primjer, kada jedna animacija pomiče noge lika naprijed, a druga u stranu, linearno miješanje može uzrokovati da se noge prekriže jedna preko druge. Da biste to izbjegli, morate pažljivo odabrati isječke animacije, sinkronizirati njihovu fazu, dužinu i brzinu ili dodati poseban klip posebno za ovu vrstu kretanja. Sve je to složen i mukotrpan posao. I što je više mogućih stanja i prijelaza između njih, teže ih je međusobno uskladiti i osigurati da svi potrebni prijelazi funkcioniraju kada je to potrebno.

1) Najočiglednije rješenje je uhvatiti pokrete pravog glumca pomoću Motion Capture i povezati pomak lika u igri sa pomicanjem "korijenske kosti" u samoj animaciji - princip Root Motion. Tada će se lik kretati tačno onako kako se kretao glumac tokom snimanja.

Izgleda veoma realno. Štaviše, ovo je jedini način da se vjerno reproduciraju složeni manevri kao što su iskoraci, izbjegavanje i pariranje napadima bliskim oružjem.

Ali ovaj pristup ima i očigledne probleme.

Recimo da neki lik želi da se pomeri na ivicu litice: glumac na snimku se sagne, podigne nogu i hrabro zakorači preko scene. A lik korača pravo u provaliju... Da biste to izbjegli, morate prekinuti korak negdje na sredini, ali to ne samo da izgleda neprirodno, već i otežava igraču da odabere pravi trenutak zbog nelinearnost pokreta, što može biti duga priprema (nagib), a zatim oštar samouvjeren pokret (korak). Možete snimiti više pokreta. Recimo: opreznim malim koracima, normalno i trčanje. A zatim ih pomiješati prema traženom parametru brzine, koji se može linearno i predvidljivo povećati. Ali šta ako su nam potrebni bočni pokreti? Dakle, za svaku opciju širine koraka potrebne su nam još tri ili četiri opcije (bez zrcalnih). I lik mora biti u stanju da se okreće dok se kreće. Dakle, za svaku opciju su nam potrebni pokreti sa okretom. A ako skretanje može biti brzo i sporo? Dakle, još jednom pomnožite broj potrebnih klipova sa dva. A sada se moramo kretati po nagnutoj površini! A onda želimo da lik može učiniti isto dok sjedi. Ukupno - samo stotine i hiljade opcija animacije koje je potrebno pomiješati i osigurati da se to dogodi ispravno i da dovede do pokreta pravom brzinom. Ipak, u mnogim slučajevima, kontrole će biti spore, jer će inercija glumca i naša nesposobnost da predvidimo sve moguće ljudske manevre lišiti igrača kontrole nad likom. Ovaj problem su, inače, osjetili i igrači u The Witcheru 3, pa su u jednom od većih ažuriranja programeri uveli alternativnu opciju upravljanja, gdje animacija brže reagira na kontrolu nauštrb realizma. Kod šutera, problem nelinearnosti kretanja postaje posebno izražen: igrač često mora zaviriti iza ugla i brzo se vratiti, a trenutak nagle promjene smjera može biti vrlo različit - igrač se mora vratiti nazad. pokrijte što prije, a nemamo načina da unaprijed predvidimo koju širinu koraka planira i pustimo odgovarajuću animaciju. Igrač će se, pak, teško naviknuti na širinu koraka koji njegov lik čini i brzinu ovog koraka kako bi ga na vrijeme prekinuo.

Drugo, Root Motion nije pogodan za online igrice. Nelinearnost kretanja ne samo da otežava igraču da predvidi brzinu, već nam onemogućava da interpoliramo i ekstrapoliramo kretanje kako bismo kompenzirali kašnjenje mreže, što je vrlo važan i težak aspekt u brzim mrežnim igrama. . Ako je pomak lika postavljen samo animacijom, tada je teško analitički odabrati potrebne parametre državnog stroja (miješanjem različitih animacija) koji će dovesti do toga da se lik kreće točno u smjeru koji nam je potreban i upravo onom brzinom koja nam je potrebna ( odabrano da kompenzira neslaganje). Ako učinite suprotno, tako da će se animacija fokusirati na stvarno kretanje, tada će prilikom ispravljanja neslaganja između servera i klijenta biti lako odabrati najprikladniju animaciju, pa čak i ako malo ne odgovara stvarnom pomaku, skoro niko neće primetiti.

Stoga se tehnika Root Motion često koristi u igrama za jednog igrača od treće osobe, gdje se kontrola provodi kontekstualno - ovisno o prisutnosti zaklona, ​​preprekama, načinu kretanja ili drugim okolnostima, a rijetko se koristi u mrežnom modu i MMOG-ovima.

Nedavni značajni projekti koji koriste Root Motion uključuju The Witcher 3. Teško je precijeniti trud uložen u proizvodnju svih njegovih pokreta.

Primjer animacije The Witcher 3 i njegovog snimanja



2) Drugo rješenje je obrnuto od principa Root Motion - potrebno je da animaciju dovedete u najtačniju korespondenciju sa pokretom koji se dogodio ili je planiran. Tada se rješavaju mnogi od gore opisanih problema - kretanje lika može se učiniti ravnomjerno ubrzanim i predvidljivim uz mogućnost proizvoljno brze promjene smjera. Ali kako uskladiti nelinearnu i inercijsku animaciju s takvim kretanjem? Zanimljiv integrirani pristup opisali su programeri igre Paragon. Njegova suština je pronaći i reproducirati samo potrebnu seriju okvira animacije za postizanje potrebnog pomaka/rotacije, preskačući dodatne. I koristite inverznu kinematiku da modificirate širinu koraka.

Prva očigledna poteškoća u usklađivanju animacije s pokretom je da se pokret već dogodio, a animacija još nije odigrana. Stoga je vrlo koristan sistem predviđanja pokreta koji izračunava poziciju karaktera za sljedeći kadar. Zatim, znajući pomak koji lik mora napraviti u sljedećem kadru, preskočite onoliko kadrova isječka animacije pokreta koliko je potrebno da postignete traženi pomak i pustite okvir u kojem je postignut traženi pomak. U takvom slučaju, animacija će se igrati modificiranom brzinom koja točno odgovara stvarnom pomaku, a ta brzina može biti brža ili sporija od originalne jer nije moguće natjerati pravog glumca da održava konstantno ubrzanje ili brzinu. Ovaj pristup će izgladiti animaciju i uskladiti je sa bilo kojim složenim proceduralnim modelom kretanja koji se mijenja tokom igre (lik može popiti neku vrstu napitka za ubrzavanje ili ga neprijatelj uspori). Loša strana je, naravno, to što animacija može postati manje realistična zbog velikih promjena u brzini. Međutim, u praksi ovo daje vrlo dobar prozor dostupnih varijacija u kojima se kršenja brzine ne primjećuju. I zajedno s korekcijama za širinu koraka pomoću inverzne kinematike, pokriva još veći raspon.

Ali, nažalost, ova metoda dosta razbija uobičajeni pristup animaciji i stoga nisam mogao pronaći lak način da je implementiram, na primjer, koristeći standardnu ​​komponentu Unity animacije. Unreal Engine također još uvijek nema neophodnu funkcionalnost, međutim, programeri obećavaju jednog dana da će prenijeti niskorazine razvoja napravljene za Paragon u javnu verziju motora. Glavna poteškoća je traženje i reprodukcija željenog kadra na osnovu podataka o stvarnom pomaku i rotaciji. Da bi to učinili, autori predlažu da se predobrade animacijske isječke i generiraju dodatni blok podataka za svaki od njih: krivulja udaljenosti, u kojoj će vrijednosti pomaka i rotacije korijenske kosti u odnosu na početak ili kraj animacije biti sačuvan kadar po kadar. Zatim, u toku uzorkovanja, možete izvršiti brzu binarnu pretragu željenog okvira, gdje su postignuti odgovarajući parametri pomaka i rotacije, te ga reproducirati.

U međuvremenu, možete se držati prethodnog pristupa, te manje precizno prilagoditi brzinu animacije brzini planiranog kretanja, fokusirajući se samo na brzinu lika u zadnjem kadru. Ono što je najvažnije, sada je dostupan dobar set duša za eksperimente!

Tagovi:

  • unity3d
  • animacija
  • državna mašina
  • gamedev
Dodaj oznake

Povratak

×
Pridružite se koon.ru zajednici!
U kontaktu sa:
Već sam pretplaćen na koon.ru zajednicu