Úvod#
Inverzná kinematika (IK) zjednodušuje proces animácie a umožňuje vytvárať pokročilejšie animácie s menším úsilím.
Inverzná kinematika umožňuje umiestniť poslednú kosť v reťazci kostí a ostatné kosti sa umiestnia automaticky. Je to podobné, ako keď niekto pohne prstom a ruka ho bude nasledovať. Pri bežných technikách póz by ste museli začať od koreňovej kosti a postupne nastavovať kosti, kým nedosiahnete špičku kosti: Keď sa každá rodičovská kosť pohne, jej kosť potomka by zdedila jej polohu a rotáciu. Preto je vykonávanie drobných presných zmien v pózovaní ťažšie ďalej v reťazci, pretože možno budete musieť najprv nastaviť všetky rodičovské kosti.
Použitím inverznej kinematiky sa tomuto úsiliu účinne vyhnete.
Inverzná kinematiky sa väčšinou vykonáva vynútením kostí, hoci v režime pózy existuje aj jednoduchá funkcia Automatická inverzná kinematika. Pracujú rovnakou metódou, ale vynútenia ponúkajú viac možností a kontroly. Podrobnosti o týchto vynúteniach nájdete na nasledujúcich stránkach:
Panel Inverzná kinematika armatúry#
Referencia
- Režim:
Režim pózy
- Panel:
Tento panel sa používa na výber typu riešiteľa Inverzná kinematika pre armatúru: Vyberte možnosť Štandardná alebo iTaSC. Väčšinou sa používa Štandardná IK.
Štandardná#
Úloha na dopracovanie.
iTaSC#
iTaSC je skratka (instantaneous Task Specification using Constraints) pre okamžitú špecifikáciu úloh použitím vynútení.
iTaSC používa na výpočet Jakobiánu inú metódu, vďaka ktorej dokáže spracovať aj iné vynútenia ako len polohu a orientáciu koncových efektorov: iTaSC je všeobecný riešiteľ IK s viacerými vynúteniami. Táto schopnosť však v súčasnej implementácii ešte nie je plne využitá, spracovať možno len dva ďalšie typy vynútení: Vzdialenosť v karteziánskom priestore a rotáciu kĺbov v priestore kĺbov. Prvý z nich umožňuje udržiavať koncový efektor vnútri, na alebo mimo sféry so stredom v cieľovej polohe, druhým je možnosť priamo ovládať rotáciu kosti vzhľadom na jej rodiča. Záujemcovia o matematiku nájdu krátky opis metódy použitej na zostavenie Jakobiánu tu.
iTaSC akceptuje kombináciu vynútení a viacero vynútení na jednu kosť: riešiteľ vypočíta optimálnu pózu podľa príslušných váh jednotlivých vynútení. Ide o zásadné zlepšenie oproti súčasnému systému vynútení, v ktorom sa vynútenia riešia jedno po druhom v poradí ich definície, takže konfliktné vynútenia sa navzájom prepisujú.
- Presnosť
Maximálna odchýlka koncového efektora medzi dvoma po sebe nasledujúcimi opakovaniami, pri ktorej sa získa dostatočne stabilná poloha a riešiteľ by mal zastaviť opakovanie. Nižšie hodnoty znamenajú vyššiu presnosť polohy koncového efektora.
- Opakovania
Horná hranica počtu opakovaní.
- Riešiteľ
Vyberie inverzný jakobiánsky riešiteľ, ktorý iTaSC použije.
- SDLS
Automaticky vypočíta tlmenie odhadom úrovne „zrušenia“ v kinematike armatúry. Táto metóda funguje dobre s vynútením Kopírovať pózu, ale má nevýhodu v tom, že tlmí viac, ako je potrebné, v okolí singulárnej pózy, čo znamená pomalšie pohyby. Samozrejme, je to viditeľné len v režime simulácie.
- DLS
Vypočíta tlmenie ručne, čo môže zabezpečiť väčšiu reaktivitu a presnosť.
- Maximálne tlmenie
Maximálne tlmenie. Menšie hodnoty znamenajú menšie tlmenie, teda väčšiu rýchlosť a lepšiu presnosť, ale aj väčšie riziko oscilácie pri jednotlivej polohe. 0 znamená žiadne tlmenie.
- Epsilon tlmenie
Rozsah tlmiacej zóny okolo singulárnej polohy. Menšie hodnoty znamenajú menšiu zónu riadenia a väčšie riziko prechodu cez singulárnu polohu, čo znamená osciláciu.
Poznámka
Tlmenie a Epsilon sa musia nastaviť pre každú armatúru. Mali by ste použiť najmenšie hodnoty, ktoré zachovávajú stabilitu.
Poznámka
Riešiteľ SDLS nefunguje spolu s vynútením Limit vzdialenosti. Ak chcete mať v animácii s vynútením Limit vzdialenosti jedinú pózu, musíte použiť riešiteľ DLS.
Obaja riešitelia fungujú dobre, ak nemáte jedinú pózu.
Animácia#
V režime animácie pracuje iTaSC ako riešiteľ IK: je bezstavový a ako počiatočnú pózu pred IK zbiehavosťou používa pózu z interpolácie F-kriviek. Cieľová rýchlosť sa ignoruje a riešiteľ vykonáva približovanie, kým sa nedosiahne daná presnosť. Napriek tomu je nový riešiteľ zvyčajne rýchlejší ako starý a poskytuje funkcie, ktoré sú vlastné iTaSC: viacero cieľov na kosť a viacero typov vynútení.
Simulácia#
Režim simulácie je stavový režim riešiteľa: odhaduje rýchlosť cieľa, pracuje v kontexte „skutočného času“, ignoruje rotáciu z kľúčových snímok (okrem limitácie rotácie kĺbov) a automaticky vytvára zásobník stavu.
- Opakovania
- Nikdy
Riešiteľ začína od pokojovej polohy a neopakuje sa (konverguje) ani pri prvej snímke. To znamená, že na začiatku animácie bude trvať niekoľko snímok, kým sa dostane do cieľa.
- Počiatočná
Riešiteľ začína od pokojovej polohy a opakuje sa, kým sa nedosiahne daná presnosť, ale len na prvej snímke (t. j. snímke, ktorá nemá v zásobníku žiadnu predošlú snímku). Táto možnosť v podstate umožňuje zvoliť inú počiatočnú pózu ako je pokojová póza a je to predvolená hodnota. Pre nasledujúce snímky bude riešiteľ sledovať cieľ integráciou rýchlosti kĺbov vypočítanej riešiteľom Jakobiána v časovom intervale, ktorý snímka predstavuje. Presnosť snímania závisí od koeficientu spätnej väzby, počtu čiastkových krokov a rýchlosti cieľa.
- Vždy
Riešiteľ opakuje každú snímku, kým sa nedosiahne daná presnosť. Táto možnosť vynecháva väčšinu dynamického správania iTaSC: maximálna rýchlosť kĺbov a spojitosť medzi snímkami už nie je zaručená ako kompenzácia lepšej presnosti polôh koncových efektorov. Je to prechodný režim medzi Animáciou a Simuláciou v reálnom čase.
- Automatický krok
Túto možnosť použite, ak chcete, aby riešiteľ nastavil, koľko čiastkových krokov sa má vykonať pre každú snímku. Medzikrok je delenie času medzi dvoma snímkami, pre ktoré riešiteľ vyhodnocuje rovnicu IK a aktualizuje polohu kĺbu. Viac čiastkových krokov znamená viac spracovania, ale lepšiu presnosť snímania cieľov. Algoritmus automatického kroku odhaduje optimálny počet krokov na dosiahnutie najlepšieho kompromisu medzi spracovaním a presnosťou. Funguje na základe odhadu nelinearity polohy a limitu amplitúdy zmeny kĺbu počas čiastkového kroku. Možno ho nakonfigurovať ďalšími dvoma parametrami:
- Minimum
Navrhované minimálne trvanie medzikroku (v sekundách). Algoritmus automatického kroku môže ďalej skrátiť medzikrok na základe rýchlosti kĺbov.
- Maximum
Maximálne trvanie medzikroku (v sekundách). Algoritmus automatického kroku nepovolí dlhší medzikrok, ako je táto hodnota.
- Kroky
Ak je funkcia Automatický krok vypnutá, môžete týmto parametrom zvoliť pevný počet medzikrokov. Medzikrok by nemal byť dlhší ako 10 ms, čo znamená, že počet krokov je 4 pre animáciu s 25 snímkami za sekundu. Ak sa zdá, že armatúra je medzi snímkami nestabilná (vibruje), môžete zvýšiť stabilitu zvýšením počtu krokov.
- Spätná väzba
Koeficient chyby polohy koncového efektora na nastavenie korekčnej rýchlosti kĺbu. Časová konštanta korekcie chyby je inverznou hodnotou tejto hodnoty. Tento parameter má však malý vplyv na dynamiku armatúry, pretože algoritmus v každom prípade vyhodnocuje cieľovú rýchlosť. Nastavenie tohto parametra na hodnotu 0 znamená „otvorenie slučky“: riešiteľ sleduje rýchlosť, ale nie polohu; chyba sa bude rýchlo hromadiť. Príliš vysoké nastavenie tejto hodnoty znamená nadmerné množstvo korekcií a riziko nestability. Hodnota by sa mala pohybovať v rozmedzí 20 až 100. Predvolená hodnota je 20, čo znamená, že chyby snímania sa korigujú v typickom čase 100-200 ms. Koeficient spätnej väzby je dôvodom, prečo sa armatúra v režime simulácie naďalej mierne pohybuje, aj keď sa cieľ prestal pohybovať: zostatková chyba sa postupne potláča snímku za snímkou.
- Maximálna rýchlosť
Indikatívna maximálna rýchlosť kĺbu v radiánoch za sekundu. Tento parameter má dôležitý vplyv na dynamiku armatúry. Menšia hodnota spôsobí, že sa armatúra bude pohybovať pomaly a zaostávať, ak sa ciele pohybujú rýchlo. Nastavením tohto parametra na nízku hodnotu môžete simulovať zotrvačnosť.
Panel Inverzná kinematika kostí#
Referencia
- Režim:
Režim pózy
- Panel:
Tento panel sa používa na ovládanie spôsobu práce s kosťami pózy v reťazi IK.
- Roztiahnuť IK
Roztiahne vplyv na cieľovú IK.
- Zamknúť
Zakáže pohyb okolo osi.
- Tuhosť
Tuhosť okolo osi. Vplyv vypnutý, ak sa používa Zámok.
- Limit
Obmedzí pohyb okolo osi.
Riešiteľ iTaSC#
Ak sa použije Riešiteľ IK iTaSC, panel kostí IK sa zmení a pridá tieto dodatočné parametre.
- Ovládanie rotácie
Aktivuje obmedzenie rotácie kĺbu na danej kosti. Rotácia pózy vypočítaná z interakcie Akcie alebo Užívateľského rozhrania sa konvertuje na hodnotu kĺbu a odovzdá sa riešiteľovi ako cieľ pre kĺb. Tým získate kontrolu nad kĺbom, zatiaľ čo riešiteľ stále sleduje ostatné ciele IK. Túto funkciu môžete použiť na zadanie preferovanej pózy pre kĺby (napr. pokojová póza) alebo na animáciu uhla kĺbu tým, že na ňom prehráte akciu.
- Váha
Dôležitosť vynútenia rotácie kĺbov na základe vynútenia váhy v prípade, že nie je možné dosiahnuť všetky vynútenia súčasne. Napríklad ak chcete silne vynútiť rotáciu kĺbov, nastavte vysokú váhu na vynútenie rotácie kĺbov a nízku váhu na vynútenie IK.
Príklad výbavy ramena#
Táto ruka využíva dve kosti na prekonanie problému s krútením predlaktia. Na zastavenie ohýbania predlaktia sa používa IK uzamknutie, ale predlaktie sa dá stále krútiť manuálne stlačením R Y Y v režime pózy alebo použitím iných vynútení.
Upozorňujeme, že ak sa použije Pole Target, uzamknutie IK na koreňovej kosti nebude fungovať.