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.