Skeleta animācija

Vikipēdijas lapa
Jump to navigation Jump to search
Sintel-hand
"Kauli" (zaļā krāsā), ko izmanto, lai pozicionētu rokai. Praksē paši "kauli" bieži tiek paslēpti un aizstāti ar lietotājiem draudzīgākiem objektiem vai vienkārši iespiesti neredzami. Šajā atklātā pirmkoda projekta Blender piemērā šie “rokturi” (zilā krāsā) ir samazināti, lai saliektu pirkstus. Kauli joprojām kontrolē deformāciju, bet animators redz tikai rokturus.

Skeleta animācija ir tehnika kā datoranimācijā personāžs (vai kāds cits artikulēts objekts) tiek attēlots divās daļās: virsmas attēlojums, ko izmanto tēla zīmēšanai (tiek saukts arī par daudzpunktu režģi vai ādu) un savstarpēji savienotu daļu hierarhisks tīklojums (ko sauc par kauliem un kopā veido skeletu vai ietērpu), virtuāla armatūra, ko izmanto, lai atdzīvinātu (pozētu un izveidotu kadrus) tīklojumu.[1] Lai arī šo paņēmienu bieži izmanto cilvēku un citu organisku figūru atdzīvināšanai, tas kalpo tikai tam, lai animācijas procesu padarītu intuitīvāku, un to pašu paņēmienu var izmantot, lai kontrolētu jebkura objekta , piemēram, durvju, karotes, ēkas vai pat galaktikas deformāciju. Ja animētais objekts ir vairāk vispārīgs nekā , piemēram, cilvēka tēls, tad kaulu kopums var nebūt hierarhiski vai savstarpēji savienots, bet attēlo tās daļas kustību, kuru tā ietekmē.

Šo metodi 1988. gadā ieviesa Nadia Magnenat Thalmann, Richard Laperrière un Daniel Thalmann.[2] Šo paņēmienu izmanto praktiski visās animācijas sistēmās, kur vienkāršotas lietotāja saskarnes ļauj animatoriem kontrolēt sarežģītus algoritmus un milzīgu ģeometrijas kopumu; īpaši ar apgriezto kinemātiku un citām "uz mērķa orientētām" metodēm. Tomēr principā tehnikas mērķis nekad nav atdarināt reālus anatomijas vai fiziskos procesus, bet tikai kontrolēt tīklojuma (mesh) datu deformāciju.

Tehnika[labot šo sadaļu | labot pirmkodu]

Kā aprakstīts Josh Petty mācību rakstā:[3]

Takelāža (Rigging) padara mūsu personāžus spējīgus kustēties. Process ir tāds, ka mēs paņemam šo digitālo skulptūru un mēs sākam veidot skeletu, muskuļus, kā arī visam klāt pieliekam mūsu tēlam ādu. Mēs arī izveidojam animācijas vadības ierīču komplektu, kuru mūsu animatori izmanto ķermeņa stumšanai un vilkšanai apkārt.

Šo paņēmienu izmanto, veidojot kaulu virkni (kam nav jāatbilst nevienai reālās pasaules anatomiskai iezīmei), ko dažkārt dēvē arī par takelāžu (rigging) lietvārdu izpratnē. Katram kaulam ir trīsdimensiju transformācija no noklusējuma saistītās pozas (kas ietver tā pozīciju, mērogu un orientāciju) un izvēles pamata kaulu. Tāpēc kauli veido hierarhiju. Bērna mezgla pilnīga transformācija ir tā vecāku transformācijas un paša bērna pārveidošanas rezultāts. Tātad, pārvietojot augšstilba kaulu, tiks pārvietota arī apakšstilba daļa. Tā kā personāžs tiek animēts, kauli laika gaitā mainās to transformācijā kāda animācijas kontroliera ietekmē. Ietērpu parasti veido gan priekšējā kinemātika, gan apgrieztā kinemātika, kas var savstarpēji mijiedarboties. Skeleta animācija attiecas uz priekšējo kinemātisko daļu, kurā pilns kaulu konfigurāciju komplekts identificē unikālu pozu.

Katrs skeleta kauls ir saistīts ar kādu personāža vizuālā tīklojuma daļu. Visbiežāk daudzstūra tīklojuma gadījumā kauls ir saistīts ar virsotņu grupu; piemēram, cilvēka modelī augšstilba kauls būtu saistīts ar virsotnēm, kas veido daudzstūri modeļa augšstilbā. Personāža ādas daļas parasti var saistīt ar vairākiem kauliem, katram no tiem ir mērogošanas koeficienti, ko sauc par virsotņu svariem (vertex weights) vai sajaukšanas svariem (blend weights). Ādas kustību divu kaulu locītavu tuvumā var ietekmēt abi kauli. Lielākajā daļā mūsdienīgu grafisko dziņu, pateicoties ēnojuma programmai, ādas novilkšanas (skinning) process tiek veikts ar GPU.

Daudzstūra veida tīklojumā katrai virsotnei var būt katra kaula sajaukšanas svars (blend weight). Lai aprēķinātu virsotnes galīgo stāvokli, katram kaulam tiek izveidota transformācijas matrica, kas uzlikta uz virsotnes, virsotni vispirms ievieto kaulu telpā, pēc tam ievieto atpakaļ tīklojuma telpā. Pēc matricas uzlikšanas virsotnei tā tiek mērogota ar atbilstošo svaru. Šo algoritmu sauc par matrix-palette skinning vai linear-blend skinning [4], jo kaulu transformāciju kopa (kas tiek saglabāta kā transformācijas matricas) veido paleti ādas virsotnei, no kā izvēlēties.

Priekšrocības un trūkumi[labot šo sadaļu | labot pirmkodu]

Priekšrocības[labot šo sadaļu | labot pirmkodu]

  • Kauls apzīmē virsotņu kopumu (vai kādu citu objektu, kas apzīmē kaut ko, piemēram, kāju),
  • Animatoram ir mazāk jākontrolē modeļa raksturlielumu,
  • Animators var koncentrēties uz liela mēroga kustību,
  • Kauli ir neatkarīgi pārvietojami.
  • Animāciju var definēt ar vienkāršām kaulu kustībām, nevis virsotni pēc virsotnes (daudzstūra tīklojuma gadījumā).

Trūkumi[labot šo sadaļu | labot pirmkodu]

  • Kauls attēlo tikai virsotņu kopu (vai kādu citu precīzi noteiktu objektu) un tas nav abstrakts vai konceptuāls.
  • Nenodrošina reālu ādas un muskuļu kustību. Iespējamie šīs problēmas risinājumi:
    • Īpaši muskuļu kontrolieri , kas pievienoti kauliem.
    • Konsultācijas ar fizioloģijas ekspertiem, lai palielinātu skeleta-muskuļu sistēmas reālisma precizitāti ar rūpīgākām virtuālās anatomijas simulācijām.

Lietojumprogrammas[labot šo sadaļu | labot pirmkodu]

Skeleta animācija ir standarta veids kā animēt personāžus vai mehāniskus objektus ilgstošā laika posmā (parasti virs 100 kadriem). To parasti izmanto videospēļu mākslinieki un filmu industrija un to var izmantot arī mehāniskiem objektiem, un visiem citiem objektiem, kuri sastāv no stingriem elementiem un savienojumiem.

Veiktspējas uzturēšana (vai kustību uzturēšana) var paātrināt skeleta animācijas attīstības laiku, kā arī palielināt reālisma līmeni.

Kustībai, kas ir pārāk bīstama veiktspējas uzturēšanai ir paredzētas dator-simulācijas, kas automātiski aprēķina kustības un pretestības fiziku skeleta kadriem. Reālistiskajiem atlecošajiem, saliecošajiem, lūzumu un akrobātikas efektiem, kas pazīstami kā virtuāli triki var pievienot tādas virtuālās anatomijas īpašības kā ekstremitāšu svars, muskuļu reakcija, kaulu stiprums un locītavu ierobežojumi. Tomēr ir arī citi virtuālās anatomijas simulāciju pielietojumi, piemēram, militārajā jomā [5] un ārkārtas reaģēšana. Virtuālos karavīrus, glābšanas darbiniekus, pacientus, pasažierus un gājējus var izmantot apmācībai, virtuālajai inženierijai un aprīkojuma virtuālai pārbaudei. Virtuālās anatomijas tehnoloģiju var kombinēt ar mākslīgo intelektu, lai turpinātu uzlabot animācijas imitācijas tehnoloģijas.  

Atsauces[labot šo sadaļu | labot pirmkodu]

  1. Marc Soriano. «Skeletal Animation». Bourns College of Engineering. Skatīts: 2011. gada 5. janvāris.
  2. Magnenat-Thalmann, Nadia; Laperrière, Richard; Thalmann, Daniel (6–10 June 1988). "Joint-Dependent Local Deformations for Hand Animation and Object Grasping". Proceedings of Graphics Interface '88 (Edmonton): 26–33. lpp.
  3. Josh Petty. «What is 3D Rigging for Animation & Character Design?». Concept Art Empire. Skatīts: 2018. gada 29. novembris.
  4. Ladislav Kavan. «Direct Skinning Methods and Deformation Primitives». Skinning.org. University of Pennsylvania. Ignorēts nezināms parametrs |url-status=
  5. «Defense». Santos Human Inc. Skatīts: 2011. gada 5. janvāris.