Introduktion

Inverse Kinematics (IK) förenklar animationsprocessen och gör det möjligt att göra mer avancerade animationer med mindre ansträngning.

Inverse Kinematics gör att du kan positionera det sista benet i en benkedja och de andra benen positioneras automatiskt. Det är ungefär som när man flyttar ett finger så att armen följer efter. Med normala poseringstekniker måste du börja från rotbenet och ställa in benen sekventiellt tills du når spetsbenet: När varje föräldraben flyttas ärver dess barnben dess placering och rotation. Det blir alltså svårare att göra små exakta förändringar i poserna längre ner i kedjan, eftersom du kanske måste justera alla föräldrabenen först.

Denna ansträngning undviks effektivt genom att använda IK.

IK görs mestadels med benbegränsningar även om det också finns en enkel Auto IK-funktion i Pose Mode. De fungerar med samma metod men begränsningarna erbjuder fler alternativ och kontroll. Se följande sidor för mer information om dessa begränsningar:

Armatur IK Panel

Referens

Läge:

Pose-läge

Panel:

Egenskaper ‣ Armatur ‣ Invers Kinematik

Denna panel används för att välja IK-solvertyp för ankaret: Standard eller iTaSC. För det mesta kommer man att använda Standard IK-solver.

Att göra

Uppdatera bilden

../../../../../_images/animation_armatures_posing_bone-constraints_inverse-kinematics_introduction_panel.png

IK-panelen för armaturen.

Standard

Att göra

Lägg till denna information.

iTaSC

iTaSC står för instantaneous Task Specification using Constraints (omedelbar uppgiftsspecifikation med hjälp av begränsningar).

iTaSC använder en annan metod för att beräkna jakobianen, vilket gör att den kan hantera andra begränsningar än bara position och orientering för endeffektorer: iTaSC är en generisk IK-lösare med flera begränsningar. Denna förmåga utnyttjas dock ännu inte fullt ut i den nuvarande implementeringen, endast två andra typer av begränsningar kan hanteras: Avstånd i det kartesiska utrymmet och ledrotation i ledutrymmet. Den första gör det möjligt att hålla en end effector inom, vid eller utanför en sfär centrerad på en målposition, den andra är möjligheten att direkt styra rotationen av ett ben i förhållande till dess förälder. De som är intresserade av matematiken kan hitta en kort beskrivning av den metod som används för att bygga Jacobian här.

iTaSC accepterar en blandning av begränsningar och flera begränsningar per ben: lösaren beräknar den optimala posen enligt respektive vikt för varje begränsning. Detta är en stor förbättring jämfört med det nuvarande begränsningssystemet där begränsningarna löses en efter en i definitionsordning så att motstridiga begränsningar skriver över varandra.

Precision

Den maximala variationen av endeffektorn mellan två på varandra följande iterationer vid vilken en pose erhålls som är tillräckligt stabil och lösaren bör stoppa iterationerna. Lägre värden innebär högre precision för endeffektorns position.

Iterationer

Den övre gränsen för antalet iterationer.

Lösare

Väljer den inversa Jacobian-solver som iTaSC ska använda.

SDLS

Beräknar dämpningen automatiskt genom att uppskatta graden av ”annullering” i armaturens kinematik. Den här metoden fungerar bra med begränsningen Copy Pose men har nackdelen att den dämpar mer än nödvändigt runt den singulära posen, vilket innebär långsammare rörelser. Naturligtvis märks detta bara i simuleringsläget.

DLS

Beräknar dämpningen manuellt, vilket kan ge större reaktivitet och mer precision.

Dämpning Max

Maximal mängd dämpning. Mindre värden innebär mindre dämpning och därmed högre hastighet och bättre precision, men också större risk för svängning vid singulär position. 0 betyder ingen dämpning alls.

Dämpning Epsilon

Intervall för dämpningszonen runt singulär position. Mindre värden innebär en mindre kontrollzon och större risk att passera över den singulära positionen, vilket innebär svängning.

Observera

Damping och Epsilon måste ställas in för varje armatur. Du bör använda de minsta värdena som bevarar stabiliteten.

Observera

  • SDLS-lösaren fungerar inte tillsammans med en Distance constraint. Du måste använda DLS-solvern om du ska ha en singulär pose i din animation med Distance constraint.

  • Båda lösningarna fungerar bra om du inte har en singulär pose.

Animering

I animationsläget fungerar iTaSC som en IK-lösare: den är statslös och använder posen från F-kurvornas interpolering som startposen före IK-konvergensen. Målhastigheten ignoreras och solvern konvergerar tills den givna precisionen har uppnåtts. Ändå är den nya solvern vanligtvis snabbare än den gamla och tillhandahåller funktioner som är inbyggda i iTaSC: flera mål per ben och flera typer av begränsningar.

Simulatorspel (Alla)

Simuleringsläget är lösarens tillståndsläge: det uppskattar målets hastighet, arbetar i en ”sanntidskontext”, ignorerar rotation från nyckelrutor (utom via en ledrotationsbegränsning) och bygger upp en tillståndscache automatiskt.

Upprepning
Aldrig

Lösaren startar från vilopositionen och upprepar inte (konvergerar) ens för den första bildrutan. Detta innebär att det tar några bildrutor att nå målet i början av animationen.

Initialer

Lösaren startar från restpositionen och upprepar tills den angivna precisionen uppnås, men endast på den första bilden (dvs. en bild som inte har någon tidigare bild i cacheminnet). Med det här alternativet kan du i princip välja en annan startposition än restpositionen och det är standardvärdet. För de efterföljande bildrutorna kommer lösaren att spåra målet genom att integrera ledhastigheten som beräknas av Jacobian-lösaren över det tidsintervall som bildrutan representerar. Precisionen i spårningen beror på återkopplingskoefficienten, antalet delsteg och målets hastighet.

Alltid

Lösaren upprepar varje bildruta tills den angivna precisionen har uppnåtts. Det här alternativet utelämnar det mesta av iTaSC:s dynamiska beteende: den maximala ledhastigheten och kontinuiteten mellan bildrutorna garanteras inte längre i kompensation för bättre precision i positionerna för endeffektorn. Det är ett mellanläge mellan Animation och Simulering i realtid.

Auto steg

Använd det här alternativet om du vill låta solvern ställa in hur många substeg som ska utföras för varje bildruta. Ett substeg är en underindelning av tiden mellan två bildrutor för vilken lösaren utvärderar IK-ekvationen och uppdaterar ledpositionen. Fler substeg innebär mer bearbetning men bättre precision i målföljningen. Auto-stepalgoritmen uppskattar det optimala antalet steg för att få den bästa avvägningen mellan bearbetning och precision. Den fungerar genom att uppskatta poseringens olinjäritet och genom att begränsa amplituden för ledvariationen under ett delsteg. Den kan konfigureras med följande två parametrar:

Min

Föreslagen minsta varaktighet för substeget (i sekunder). Den automatiska stegalgoritmen kan minska substeget ytterligare baserat på ledhastigheten.

Max

Maximal varaktighet för substep (i sekunder). Den automatiska stegalgoritmen tillåter inte substep som är längre än detta värde.

Steg

Om Auto Step är inaktiverat kan du välja ett fast antal substeps med denna parameter. Substep bör inte vara längre än 10 ms, vilket innebär att antalet steg är 4 för en animation med 25 fps. Om armaturen verkar instabil (vibrerar) mellan bildrutorna kan du förbättra stabiliteten genom att öka antalet steg.

Feedback

Koefficient för positioneringsfelet för endeffektorn för att ställa in korrigerande ledhastighet. Tidskonstanten för felkorrigeringen är inversen av detta värde. Denna parameter har dock liten effekt på armaturens dynamik eftersom algoritmen utvärderar målhastigheten i vilket fall som helst. Om denna parameter sätts till 0 innebär det att ”loopen öppnas”: lösaren följer hastigheten men inte positionen, och felet ackumuleras snabbt. Om värdet är för högt innebär det en överdriven mängd korrigeringar och risk för instabilitet. Värdet bör ligga inom intervallet 20-100. Standardvärdet är 20, vilket innebär att spårningsfel korrigeras inom en typisk tid på 100-200 ms. Återkopplingskoefficienten är anledningen till att ankaret fortsätter att röra sig något i simuleringsläget även om målet har slutat röra sig: det kvarvarande felet undertrycks successivt bild för bild.

Max hastighet

Indikativ maximal ledhastighet i radianer per sekund. Denna parameter har en viktig effekt på armaturens dynamik. Ett mindre värde gör att ankaret rör sig långsamt och släpar efter om målen rör sig snabbt. Du kan simulera en tröghet genom att ställa in denna parameter på ett lågt värde.

IK-panel för ben

Referens

Läge:

Pose-läge

Panel:

Egenskaper ‣ Ben ‣ Invers Kinematik

Denna panel används för att styra hur Pose Bones fungerar i IK-kedjan.

Att göra

Uppdatera bilden

../../../../../_images/animation_armatures_bones_properties_inverse-kinematics_panel.png

IK-panelen för ben.

IK Stretch

Sträck inflytande till IK-mål.

Lås

Förbjud rörelse runt axeln.

Styvhet

Styvhet runt axeln. Inverkan inaktiverad om du använder Lock.

Begränsa

Begränsa rörelsen runt axeln.

iTaSC-lösare

Om iTaSC IK Solver används ändras IK-panelen för ben så att dessa ytterligare parametrar läggs till.

Kontroll Rotation

Aktiverar en begränsning för ledrotation på det benet. Den poseringsrotation som beräknas från Action- eller grafisk gränssnittsinteraktion konverteras till ett ledvärde och skickas till solvern som mål för leden. Detta ger dig kontroll över leden medan lösaren fortfarande spårar de andra IK-målen. Du kan använda den här funktionen för att ange en önskad pose för leder (t.ex. vilopose) eller för att animera en ledvinkel genom att spela upp en action på den.

Bredd

Betydelsen av begränsningen för ledrotationen baserat på begränsningens vikt om alla begränsningar inte kan uppnås samtidigt. Om du t.ex. vill förstärka ledrotationen kraftigt ska du ange en hög vikt för ledrotationsbegränsningen och en låg vikt för IK-begränsningarna.

Exempel på armrigg

Den här armen använder två ben för att lösa problemet med underarmens vridning. IK-låsning används för att hindra underarmen från att böjas, men underarmen kan fortfarande vridas manuellt genom att trycka på R Y Y i Pose Mode, eller genom att använda andra begränsningar.

../../../../../_images/animation_armatures_posing_bone-constraints_inverse-kinematics_introduction_example.png

IK Arm Exempel.

Observera att om ett Pole Target används kommer IK-låsning inte att fungera på rotbenet.