Tema

Dessa riggar implementerar ett flexibelt system för att rigga hud med hjälp av flera interagerande B-Bone-kedjor. Detta utvecklas som en bas för en ny modulär Rigify ansiktsrigg. Det här är systemets huvudidéer:

Generisk B-Bone kedja

En grundtanke med systemet är att det mesta av deformationen ska kunna genomföras med hjälp av en kraftfull B-Bone kedjerigg av standardtyp. Dessa kedjor stöder avancerat beteende genom att interagera med andra riggkomponenter. Detta i motsats till att ha flera domänspecifika riggar som var och en genererar sina egna deformationskedjor.

Implementeringen ger två versioner av kedjeriggen: skin.basic_chain fäster bara B-Bones på kontrollerna utan att någon automatisering läggs till själva kontrollerna. Riggen skin.stretchy_chain interpolerar dessutom rörelsen hos ändkontrollerna (och en valfri mittkontroll) till de andra kontrollerna i kedjan.

Automatisk sammanslagning av kontroller

Systemets deformationsdel består av kedjor av en eller flera B-Bones som förbinder kontrollpunkter (noder). När kontrollerna för två kedjor skulle överlappa varandra helt, slås de automatiskt samman.

För varje sammanslagen kontroll väljs en av kedjorna som ägare, baserat på heuristiska faktorer som föräldradjup från roten, förekomst av symmetrimarkörerna .T/.B .L/.R och till och med alfabetisk ordning som sista utväg. Detta kan åsidosättas genom en uttrycklig prioritetsinställning i de fall då den gissar fel.

Ägaren och dess föräldrar bestämmer ytterligare automatisering som placeras på kontrollen. Som ett specialfall, om en kontroll är sammanslagen med sina symmetriska motsvarigheter .T/.B .L/.R (upptäcks enbart genom namngivning), beräknas automatiseringen från alla symmetriska syskon till ägaren i genomsnitt.

Föräldrakontroller

I stället för att bara använda det överordnade metariggbenet (ORG) som överordnat för kontroller och kedjemekanismer innehåller det nya systemet ett gränssnitt för överordnade riggar. Det tillhandahåller uttryckligen överordnade ben och genererar automatiseringsmekanismer för överordnade kontroller för sina underordnade kedjekontroller genom att ärva från lämplig bas och åsidosätta metoder.

Detta gör det möjligt att implementera riggar som integrerar och hanterar sina underordnade kedjor på ett intelligent sätt för att lägga till extra automatisering som är specifik för vissa områden. Det grundläggande skin-systemet innehåller ett enkelt exempel på en skin.transform.basic-rigg, som översätter sina underordnade kontrollpunkter enligt dess kontrollbenstransformation.

Anpassad riggning

Slutligen erbjuder det nya systemet möjligheter att integrera med anpassad automation som ingår direkt i metariggen via två extra riggkomponenter.

Riggen skin.anchor genererar en enda kontroll med ärvda begränsningar etc., liknande basic.super_copy. Men den integreras också i skin-systemet som en kedja med noll längd och högsta prioritet. Detta gör det möjligt att åsidosätta det normala beteendet genom att tillhandahålla en kontrollpunkt under full kontroll av användaren, som andra kedjor automatiskt skulle fästa vid.

Riggen skin.glue kommer å andra sidan att fästa sig vid den kontroll som genereras vid dess position (det är ett fel om det inte finns någon). Den kan användas för att läsa kontrollens position från anpassad riggning i metariggen, eller för att injicera begränsningar i kontrollbenet. Det är också möjligt att upptäcka kontrollen vid limbenets svans och använda den som mål i begränsningarna, och på så sätt kopiera transformationen mellan kontrollerna.

hud.grundläggande_kedja

Det här är den grundläggande kedjeriggen, som kopplar ihop kontroller med B-Bones men inte lägger till någon automatisering av själva kontrollerna.

När kontrollerna bara flyttas beter sig kedjorna som om de använde vanliga automatiska handtag, men om kontrollerna roteras och eventuellt skalas kommer resultatet att justeras.

Segment av B-ben

Anger antalet segment som ska användas. Om du anger 1 inaktiveras allt avancerat beteende och punkterna överbryggas bara med ett Stretch To-ben.

Sammanfoga rotation och skala för föräldrar

Detta kan aktiveras för att låta kedjan svara på rotation och skala som orsakas av föräldrar till kontroller som ägs av andra kedjor som denna kedjas kontroll har slagits samman med.

Använd handtagsskala

Gör det möjligt att använda kontrollskalan för att styra skala och/eller easing av B-Bone.

Anslut med spegel

Anger om kedjans ändar ska ansluta smidigt när kontroller slås samman med dess .T/.B .L/.R symmetri motsvarighet. Det relevanta alternativet måste vara aktiverat på båda kedjorna för att fungera.

Anslut matchande ändar

Anger om kedjans ände ska ansluta till den motsatta änden av en annan kedja när kontroller slås samman. På så sätt bildas en kontinuerlig smidig kedja i samma riktning. De relevanta alternativen måste vara aktiverade på båda kedjorna.

Vässa hörnet

Anger om riggen ska generera en mekanism för att bilda ett skarpt hörn vid den relevanta anslutna änden, beroende på den vinkel som bildas av intilliggande kontrollpositioner. När kontrollvinkeln blir skarpare än det angivna värdet börjar ease att minska från 1 till 0.

Orientering

Anger att kontrollerna ska vara orienterade på samma sätt som det markerade benet, i stället för att vara inriktade på kedjan.

Kopiera till vald

Kopiera till valda riggar som har samma alternativ. Detta gör det möjligt att välja ben utan åtskillnad utan att tilldela onödiga värden.

Prioritet för kedjan

Gör det möjligt att åsidosätta den heuristik som används för att välja den primära ägaren vid sammanslagning av kontroller.

hud.stretchig_kedja

Den här riggen utökar den grundläggande kedjan med automatisering som sprider förflyttning av start och slut, och en valfri mittkontroll, till andra kontroller. Detta resulterar i att hela kedjan sträcks ut när man flyttar en av ändarna, snarare än bara de omedelbart intilliggande B-Bones.

Mittenkontrollposition

Anger positionen för det mellersta reglaget i kedjan; inaktiverad när den är noll.

Falloff

Anger kurvorna för avtagande påverkan för start-, mitt- och slutkontrollerna. Noll resulterar i linjär falloff, ökande breddar inflytandet och -10 inaktiverar inflytandets spridning från den kontrollen helt.

Sfärisk falloff

Växla knappar för att ändra formen på falloff-kurvan från en kraftkurva som vid falloff 1 bildar en parabel \(1 - x^{2^f}\) till en kurva som bildar en cirkel \((1 - x^{2^f})^{2^{-f}}\).

Falloff längs kedjekurvan

Beräknar falloff-kurvan längs kedjans längd, istället för att projicera den på den raka linje som förbinder start- och slutpunkterna.

Förökar sig Twist

Anger om kedjans vridning ska överföras till kontrollpunkter mellan huvudkontroller.

Utbreda skala

Anger om vinkelrät skalning av kedjan ska överföras till kontrollpunkter mellan huvudkontrollerna.

Förökas till kontroller

Gör det möjligt för andra kedjor att se spridd vridning och skala via Merge Parent Rotation and Scale när deras kontroller slås samman till den här kedjan, istället för att det är helt lokalt för den här kedjan.

Primära kontrollskikt

Specificerar valfritt benkollektioner för ändkontrollerna.

Sekundära kontrollskikt

Anger eventuellt benkollektioner för den mellersta kontrollen, faller tillbaka till Primary Control Layers om den inte anges.

Huvudkontrollerna med aktiv falloff har effekten av Merge Parent Rotation and Scale automatiskt aktiverad bara för dem.

hud.ankare

Denna rigg fungerar effektivt som en nollängdskedja med högsta prioritet, vilket säkerställer att den blir ägare när kontroller slås samman med andra kedjor. Och den gör det också möjligt att mata in anpassade automatiseringsinflytanden i skin-systemet.

Alla begränsningar på meta-rigg-benet flyttas till den skapade kontrollen.

Generera deformera ben

Skapar ett deformationsben som är parenterat till kontrollen.

Undertrycka kontroll

Gör kontrollen till ett dolt mekanismben för att dölja den för användaren.

Widget-typ

Väljer vilken widget som ska genereras för kontrollen.

Begränsningar för återlänkning

Fungerar på samma sätt som i basic.raw_copy, förutom att alla begränsningar flyttas från ORG till kontrollbenet.

Orientering

Anger det ben som används för att orientera kontrollen, precis som för andra kedjor.

hud.lim

Den här riggen liknar skin.anchor, men istället för att åsidosätta kontroller används den för att läsa eller justera tillståndet för kontroller som genereras av andra riggar. Benets huvud måste överlappa en kontroll från en annan skin-rigg.

Riggen ställer in sitt ORG-ben så att det läser av styrenhetens tillstånd, samtidigt som alla begränsningar som ursprungligen fanns på benet flyttas till styrenheten.

Lim-läge

Anger hur ORG-benet är kopplat till hudkontrollen.

Barn av kontroll

Gör ORG-benet till ett barn till kontrollbenet.

Spegel av kontroll

Gör ORG-benet till ett syskon till kontrollen med en Copy Transforms-begränsning från kontrollen. Den resulterande lokala rymdtransformationen är densamma som kontrollens lokala rymd.

Spegla med föräldrarna

Föräldrar ORG-benet till den föräldraautomatisering som en kontroll som ägs av limriggen skulle ha haft, samtidigt som den följer den faktiska kontrollen. Detta inkluderar både direkt och föräldrainducerad rörelse av kontrollen i benets lokala rymdtransformation.

Deformation Bridge

Förutom att lägga till limbegränsningar till kontrollen fungerar riggen som en grundläggande deformkedja med ett segment. Detta är praktiskt när ett par kontroller måste överbryggas både med lim och ett deformationsben.

Begränsningar för återlänkning

Fungerar på samma sätt som i basic.raw_copy, förutom att alla begränsningar flyttas från ORG till kontrollbenet.

Använda Tail Target

Återlänkar TARGET eller andra begränsningar med ett tomt målben och ingen återlänkningsspecifikation för att referera till kontrollen som ligger i svansen på limbenet.

Lokal målgrupp med föräldrar

Byter svansmål för att fungera på liknande sätt som Mirror With Parents.

Lägg till begränsning

Gör det möjligt att lägga till en typisk limbegränsning med specifik Influence, som om den vore i början av ORG-benbegränsningsstapeln.

skin.transform.basic

Den här riggen tillhandahåller en förenklad förälderkontrollant, som använder vanlig translation, rotation eller skala för att ändra platser men inte orientering eller skala för sina underordnade kedjekontroller.

Generera kontroll

Anger om en synlig kontroll ska genereras eller om ORG-benets transformation ska användas som en del av en mer komplex och specifik riggkonfiguration.