Ombra Podcast · animation · skills "animationsflode" och "kontaktmotor"

Kontaktmotorn

Från en AI-film till en färdig animation där Lisa sitter rätt i fåtöljen. Kedjan har femton steg i fyra program. Rumpan vilar på sitsen, händerna på armstöden, armbågarna på knäna, fingrarna följer kanten och fötterna står still.

Unreal tar fram rörelsen ur filmen. Cascadeur är verkstaden. En kontaktmotor i Blender räknar ut rättningarna i bakgrunden, och de läggs i egna lager i Cascadeur, så grunden alltid finns kvar. En sensor i Unreal går sist igenom hela klippet på 20 sekunder. Ett klipp tar i dag cirka 50 minuter maskintid och fyra klick. Sedan 7 oktober finns också en hylla med färdiga klipp som går samma väg på en kvart, och lager i Unreal där Stefan gör detaljerna.

Version 15 7 oktober 2026 Nytt: hyllan, Control Rig-lager och armar som lager i Unreal Testad på AIScen_1 (gå fram och sätta sig) och AIScen_2 (armbågarna mot knäna)
Till vänster AI-filmen där kvinnan lutar sig fram med händerna framför knäna. Till höger Lisa i Unreal i samma pose, i samma fåtölj och från samma vinkel.
AIScen_2, bildruta 150. AI-filmen till vänster, Lisa i Unreal efter hela kedjan till höger. Kameran är densamma.
Översikt

Hela kedjan på en bild

Samma ögonblick, bildruta 150, genom kedjan. Startbilden renderas i Unreal och AI-filmen görs från den. Unreal tar fram rörelsen ur filmen, och efter städning, kontakt och lager sitter Lisa som i filmen.

Fyra bilder i rad: startbilden där Lisa sitter upprätt med händerna på armstöden, AI-filmen där hon lutar sig fram, Unreals råa mocap och den färdiga animationen.
Startbild, AI-film, Unreals råa mocap och färdig animation.
UnrealAI-film (LTX)Blender, dold miniräknareCascadeur, verkstaden
Steg för steg

Från AI-film till färdig animation

I den ordning de körs, med ungefärlig tid för ett klipp på 10 sekunder (301 bildrutor). Claude kör alla steg med skript. Stefan klickar fyra gånger: godkänner, kopplar bort och kopplar på Live Link, och importerar filmen när Cascadeurs egen video-mocap används.

  1. Förberett en gång per karaktär och möbel
  2. 0UnrealBlenderCascadeurScen, möbel och mallaren gång

    En egen AI-scen i Unreal med grått golv och vägg, mjukt ljus, den riktiga fåtöljen och Lisa på samma plats som i studion. Studion rörs aldrig.

    Möbeln får en kopia med exakt kollision för sensorn. Sensorn får 250 punkter på Lisas hud. Blender får en scen med Lisas exakta proportioner och fåtöljen på rätt plats. Cascadeur får en mallscen med riggad Lisa, fåtöljen och arbetsområde 0–300.

  3. Rörelsen
  4. 1UnrealStartbildca 4 min

    Lisa renderas i fåtöljen i den pose där förra klippet slutade. Då börjar det nya klippet där det gamla slutade.

    Kameran står snett framifrån, cirka 30°, med 35 mm cirka 3 m bort. En framåtlutning syns mycket bättre för mocapen från sidan än rakt framifrån. Renderas med Movie Render Queue.

  5. 2LTX 2.5 lokaltAI-filmca 9 min

    En lokal videomodell gör en film på 10 sekunder ur startbilden och en beskrivning av rörelsen. Den kostar inget att köra.

    Startbilden blir både första och sista bild, så klippet slutar i startposen och går att loopa. Kameran är låst i prompten. 720p, 24 bilder per sekund. Motorn startas bara när en film behövs och stoppas efteråt.

  6. 3UnrealVideo blir rörelseca 4 min

    Unreals Markerless Mocap (MetaHuman Animator) tar fram kroppens rörelse ur filmens 241 bildrutor.

    Vi provade Cascadeurs egen video-mocap på samma film. Fötterna gled 24 cm och hela kroppen hamnade fel, medan Unreals fötter höll sig inom 2,8 cm. Stefan sa "som natt och dag", så Unreals mocap är standard.

  7. 4UnrealPlacering och sanningca 1 min

    Klippet placeras så att de första bildrutorna ligger exakt där förra klippet slutade. Sedan spelas varje ben in i varje bildruta, precis som Unreal visar det på Lisa.

    Placeringen passar höft, knän och fötter mot förra klippets slut. Sanningen spelas in medan Sequencer stegas bild för bild med full detaljnivå, så fingrarnas hjälpben kommer med: 341 ben × 301 bildrutor på 21 sekunder, utan att byta nivå.

  8. 5BlenderBron och vilohandenca 1 min

    Blender bygger exakt samma pose ur sanningen, flyttar in den i fåtöljens koordinater och ger fingrarna Lisas neutrala vilohand i hela klippet.

    Mocap av fingrar fungerar inte: de rullar och hoppar. Därför har grunden alltid vilohanden, och fingrar görs separat. Bron stämmer på 0,0003 cm. Hela klippet exporteras som en FBX.

  9. Städningen i Cascadeur
  10. 6CascadeurKlippet inca 1 min

    En kopia av mallscenen öppnas i en ny flik, och hela klippet klistras in på en gång.

    Live Link måste vara bortkopplat innan en flik öppnas, annars får Unreal fel scen. Inklistringen stämmer på 0,5 cm.

  11. 7CascadeurBlenderSuperbildrutorca 6 min

    Rörelsen görs om till ett trettiotal nycklar som går att redigera för hand. Gesterna finns kvar.

    Cascadeurs Animation Unbaking väljer först sina nycklar. Blender jämför sedan med mocapen och lägger nycklar med originalposen där det avviker mest, i rundor. Till sist får alla nycklar vilohanden, för Unbaking lägger annars till egna knutna fingrar.

  12. Kontakten
  13. 8BlenderKontaktmotornca 4,5 min

    Motorn rättar varje bildruta. Fötterna står kvar och rumpan vilar på sitsen. Händerna läggs på armstöden, och armbågarna på knäna när hon lutar sig fram. Händer och underarmar hålls ute ur benen.

    Den mäter mot riktiga punkter i hud och kläder och mot möbelns exakta form. Passen beskrivs längre ned. För klipp där hon går används också gångvägen, så att hon går runt möblerna.

  14. 9BlenderJämna ut rättningenca 1 min

    Rättningen jämnas ut över tiden så att den aldrig rycker.

    Skillnaden mot grunden jämnas ut per led över ±4 bildrutor. Innan ryckte huvud och armbågar upp till 3,4 cm per bildruta², mot 0,05 i mocapen. Efteråt är rörelsen lika mjuk som mocapen och kontakten densamma.

  15. 10BlenderFingrarnaca 1 min

    Bara där händerna vilar böjs fingrarna från vilohanden över armstödets kant. Annars är handen neutral.

    Led för led, med vinkeln vald över hela klippet så att den lugnaste vägen vinner. Fingrarna gick från 5 cm in i armstödet till 0,2 cm.

  16. Lagren och kontrollen
  17. 11CascadeurLager för kropp och fingrarca 12 min

    Kroppsrättningen läggs i lager ett och fingrarna i lager två. Grunden ligger orörd under. Varje lager kan slås av och på, tonas ner eller justeras.

    Nycklarna väljs så att lagret följer motorn inom 1°: 54 för kroppen och 27 för fingrarna. En inklistring sparar skillnaden mot allt under lagret. Steget är långsamt, cirka 5 sekunder per nyckel, och kan göras med en enda inklistring.

  18. 12BlenderKontrollca 2 min

    Allt med lagren på exporteras och mäts mot motorns facit: kontakt, glipor, glidning och ryck.

    AIScen_2: medelavvikelsen mot facit är 0,1 cm. Det finns 15 små fingerhopp, mot 132 innan, och 3 små kroppsryck, mot 34.

  19. 13CascadeurUnrealLive Linkett klick

    Stefan startar Live Link på fliken. Unreal visar då Cascadeurs animation direkt, och varje ändring syns på en gång.

  20. 14UnrealSkanning20 s

    Sensorn går igenom alla 301 bildrutor i Unreal och mäter varje punkt mot möblerna och golvet.

    AIScen_2 version 3: inga bildrutor där något går in i fåtöljen. Fingrarna ligger an mot kanten inom en halv millimeter. Sensorn visar dessutom röda, gröna och gula prickar live medan man jobbar.

  21. 15UnrealRendering och jämförelseca 4 min per vinkel

    Klippet renderas från AI-filmens vinkel och läggs bredvid filmen. Ett överlägg med båda bilderna genomskinliga visar direkt hur väl rörelsen följer.

    Sedan kommer det som görs sist i Unreal: ansikte från rösten, små detaljer i Sequencer-lager och slutrendering.

Tid

Var tiden går

Maskintid för ett klipp på 10 sekunder, steg för steg. Stefans fyra klick är inte inräknade.

Startbild
4 min
AI-film
9 min
Unreal-mocap
4 min
Sanning, bro
2 min
Klippet in
1 min
Superbildrutor
6 min
Kontaktmotorn
4,5 min
Utjämning, fingrar
2 min
Lagren in
12 min
Kontroll
2 min
Skanning
20 s
Rendering
4 min
≈ 50 minmaskintid i dag för ett klipp på 10 sekunder, plus fyra klick.
≈ 35 minnär lagren klistras in med en enda inklistring och mjukas med ett kommando, och bara slutversionen renderas.
12 mindet största enskilda steget: varje lagernyckel klistras in för sig, cirka 5 sekunder styck.
Beslut

Tre regler som avgör kvaliteten

De här har vi lärt oss den hårda vägen. De står överst i skillen animationsflode.

Unreals mocap

Alltid Unreal för video till rörelse

På samma AI-film gled Cascadeurs fötter 24 cm och Unreals 2,8 cm. Unreal fångade också att hon flyttar sig fram på sitsen och slutade där hon började. I överlägget ligger Unreals version nästan exakt på filmen.

Standard sedan 4 oktober
Vilohand

Grunden har alltid vilohanden

Mocap kan inte fånga fingrar: de rullar och hoppar. Grunden får Lisas neutrala vilohand. Fingrar som behövs, som böjen över armstödet, läggs i ett eget lager, och resten görs sist i Unreal.

Hård regel
Lager

Varje rättning i ett eget lager

Grunden rörs aldrig. Kroppsrättningen ligger i ett lager och fingrarna i ett annat. Egna ändringar görs i ett tredje lager. Allt kan slås av, tonas ner eller göras om.

Hård regel
Två genomskinliga överlägg på AI-filmen. Till vänster Cascadeur-kedjan, där huvud och kropp syns dubbelt. Till höger Unreal-kedjan, som nästan blir en enda bild.
Bildruta 150. Varje version ligger genomskinligt ovanpå AI-filmen. Ju mindre dubbelbild, desto mer lik. Till vänster med Cascadeurs video-mocap, till höger med Unreals.
Beslutet bakom motorn

Varför kontakten räknas i Blender

Vi provade tre vägar den 3 oktober. Blender är bara en dold miniräknare. Ingen behöver öppna den.

Unreal-fysik

Aktiv ragdoll

Med löst inställda leder föll armarna ner på låren. Med styva leder svävade händerna cirka 2,5 cm, handlederna slets upp och fingrarna saknade fysikkroppar.

Förkastad
Cascadeur Indie

AutoPhysics och FixFoot

Fysiken räknar bara golvet som stöd, inte fåtöljen. När händerna låstes sjönk kroppen 20–30 cm ner i fåtöljen. Kontakt med omgivningen kräver Pro.

Inte för kontakten
Blender

Egen kontaktmotor

Mäter mot varje punkt i hud och kläder och mot möbelns exakta form. Räknar i bakgrunden utan att låsa Unreal eller Cascadeur. Unreals Python kan inte läsa huden, så sensorn får nöja sig med 250 punkter.

Vald
341 × 301ben × bildrutor spelas in från Unreal på 21 sekunder, medan Sequencer stegas bild för bild. Blender bygger exakt samma pose ur det.
0,0003 cmskillnad mellan Unreal och Blender. Vägen via FBX gav mocap-skelettets benlängder och 2–4 cm fel.
Steg 7 · superbildrutor

Få nycklar, men gesterna kvar

En animation med en nyckel per bildruta går inte att redigera för hand. Cascadeurs Animation Unbaking gör om den till några få nycklar, men jämnar då ut små gester. Därför jämförs resultatet med mocapen, och nycklar läggs till där det avviker mest.

Avvikelse från mocapen, medel över händer, armbågar, huvud, rygg och ben

Unbaking
7 nycklar · 4,3 cm
Runda 1
23 nycklar · 1,35 cm
Runda 2
27 nycklar · 1,0 cm
Vilohand på alla
27 nycklar · 0,6 cm
Unbaking körs med skriptAllt markeras och Cascadeurs kommando för Animation Unbaking anropas. Det tar under en minut, och ingen behöver klicka.
Nycklar där det avvikerBlender letar toppar i avvikelsen och lägger originalposen där, med minst fyra bildrutor emellan, tills ingenting avviker mer än 2 cm.
Unbaking hittar på fingrarFast källan hade vilohanden lade Unbaking egna knutna fingrar på några nycklar (bild 0, 22, 239 och 300). Därför får alla nycklar vilohanden till sist. Det gjorde också kroppen närmare mocapen.
Mjukt mellan nycklarnaNya nycklar kommer in som hopp. Alla intervall ställs om till mjuka kurvor efter varje runda.
Steg 8 · motorn

Tio pass, i den här ordningen

Varje pass mäter först, ändrar sedan bara det som behövs och går mjukt in och ut. Vilka pass som körs beror på klippet. När hon sitter kör motorn fotankare, kropp, händer, lås, armbåge mot knä, underarm och frigång. När hon går kommer gångvägen först.

Pass A

Fotankare nytt i v14

Video-mocapen glider långsamt i djupled. Cascadeurs version gled 24 cm på 10 sekunder, så skenben och händer hamnade i fåtöljen. Fötternas mittpunkt hålls kvar där den var i första bildrutan, och hela kroppen flyttas med. Används när hon sitter och inte flyttar fötterna med avsikt.

utjämnat över 12 bildrutor · körs först
Pass 0

Gångväg

När hon går förbi en möbel flyttas hela kroppen åt sidan, lagom mycket för att höfter, lår, kjol, smalben och fötter ska gå fria. Banan räknas för hela klippet på en gång, så den svänger mjukt runt hörnet. Fötterna står kvar i varje steg, och när hon sitter är flytten noll.

1,5 cm luft · fötterna glider inte · noll när hon sitter
Pass 1

Kropp

Höften flyttas upp eller ner så att huden vilar på sitsen. Tyget får tryckas ihop. När hon står flyttas höften så att fötterna når golvet. Benen följer med IK. Med Unreals mocap behövdes bara 1–2 cm, med Cascadeurs 13 cm.

högst 0,5 cm in i sitsen
Pass 2

Händer

Handflatan läggs mot armstödet. Motorn provar olika vinklar runt handleden och väljer den där handflatan vilar och knogarna inte trycker för hårt. Armen räknas fram med IK. Kontakten slås på och av med fördröjning, så att den inte fladdrar.

luft 0,2 cm · lutning ±20° · rull ±12°
Pass 3

Lås mot glidning

En hand som vilar och en fot som står låses fast i läge och vinkel. Mocapen glider annars några centimeter. Två vilolägen tätt efter varandra binds ihop, så handen glider mjukt till nästa läge.

fötterna stilla 96–97 % i AIScen_2
Pass 4

Armbåge mot knä nytt i v14

Kropp mot kropp: när hon lutar sig fram läggs armbågarna på knäna. Överarmen hänger nästan lodrätt, så det är ryggens lutning och axeln som flyttar armbågen. Huvudet behåller blicken. Sedan böjs armbågen så att underarmen ligger ovanpå låret, och händerna hålls ute ur benen. När armbågen ska vila avgörs av mocapen själv.

glipa 0,2–0,3 cm · rygg högst 20° · axel högst 12°
Pass 5

Underarm

Armbågen vrids runt linjen mellan axel och handled så att underarmen vilar på armstödet. Den vrids bara om underarmen faktiskt når ner.

högst ±30° · bara när handen vilar
Pass 6

Fingrar

Från vilohanden böjs fingrarna led för led så att de följer armstödets kant, men bara där handen vilar. Vinkeln väljs över hela klippet, så den lugnaste vägen vinner. Fingrarna läggs i ett eget lager.

högst 5° per bildruta · tummen dras aldrig
Pass 7

Säkerhet för fingertoppar

Varje vertex i fingrarna kontrolleras. Där en topp fortfarande går in böjs fingret minsta möjliga, och rättningen sprids över bildrutorna runt omkring.

tillåtet: knoge 0,7 cm, topp 0,3 cm in
Pass 8

Frigång

Fötter och smalben som inte vilar men ändå går in i möbeln flyttas ut, och benet följer med IK. Medan foten står still är flytten konstant, så att den inte glider.

bara fötter och smalben

Efter motorn jämnas rättningen ut över ±4 bildrutor (steg 9). Kontakten blir densamma, men rörelsen blir lika mjuk som mocapen.

Utmaningen · AIScen_2

Armbågarna mot knäna, tre försök

Bibliotekets klipp 7: Lisa lutar sig fram med armbågarna på knäna, pratar med händerna och lutar sig tillbaka. Det var första gången kedjan körde kropp mot kropp. Första försöket gick med Cascadeurs video-mocap, det andra med Unreals mocap, och det tredje med vilohand och utjämnad rättning.

MåttCascadeur-mocapUnreal-mocap v1Unreal-mocap v3
Fötternas drift i mocapen24 cm2,8 cm2,8 cm
Grunden mot mocapen, medelavvikelse4,3 cm1,2 cm0,6 cm
Armbåge mot knä, glipa (median)0,3–0,4 cm0,3 cm0,2 cm
Arm eller hand in i benen, värst1,3–1,8 cm0,9 cm0,9 cm
Bildrutor med något inne i fåtöljen (Unreal-skanning)22 + 2900
Fötterna står still85 / 77 %96 / 97 %96 / 97 %
Fingerhopp, mer än 15° per bildruta–13215
Kroppsryck, mer än 2,5 gånger mocapen–343
Närbild av Lisas händer i bildruta 240. Till vänster med mocapens fingrar, som är knutna och rullar. Till höger med vilohand, där händerna ligger avslappnade och öppna på knäna.
Bildruta 240, när hon sätter sig längre bak. Till vänster mocapens fingrar, till höger vilohanden plus fingerlagret.

I första försöket landade höger hand i armstödet i 22 bildrutor och fingrarna gick in i 29. Det försvann med Unreals mocap. Stefan såg sedan rullande fingrar och små ryck i andra försöket. De kom från mocapens fingrar, från Unbakings egna fingerposer och från motorns snabba övergångar. I tredje försöket är alla tre borta.

Steg 11 · lager i Cascadeur

Rättningarna i egna lager, grunden orörd

Cascadeur har lager som kan slås av och på eller tonas ner. Lager ett har kroppsrättningen och lager två fingrarna. Grunden är Unreals mocap som superbildrutor. Egna ändringar görs i ett tredje lager.

Så fungerar det

Inklistring blir skillnad

När en pose klistras in i ett lager sparas skillnaden mot allt under lagret. Fingerlagret flyttar kroppen högst 1,6 mm, och lagren av ger exakt grunden.

Fällan

Allt följer med

Inklistringen gäller alla leder. Poserna byggs därför så att allt som inte ska rättas är lika med det som ligger under, till exempel vilohanden. Annars följer till exempel mocapens fingrar med in i lagret.

Mjukt

Inga hopp mellan nycklarna

Nycklar i ett lager hoppar från början. Lager ett mjukas med ett skript. Lager två och senare mjukas med tidslinjens eget kommando, eftersom skriptgränssnittet bara når första lagret.

Steg 14 · sensorn i Unreal

En sensor som känner kontakten

Stefans idé var en "igelkott" av strålar runt Lisa. Den blev en sensor som mäter medan han posar i Cascadeur och ser resultatet via Live Link. Han ser prickarna, och Claude får samma siffror med bildrutans nummer.

Lisa på väg att sätta sig i den röda fåtöljen i Unreal. Röda prickar på armstödet där fingertopparna går in, en grön prick vid en fingertopp och gula prickar vid kängan.
AIScen_1, bildruta 101. Röda prickar ritas på möbelns yta där huden går in, annars skulle möbeln dölja dem.
inne, mer än 0,5 cmkontakt, ±0,5 cmnära, högst 2 cm
250 punkter följer hudenPunkterna följer hennes ben precis som huden gör, med samma vikter. De räknas ut en gång per karaktär i Blender.
Två strålar per punktUnreals strålar ser bara ytor utifrån. En stråle går ut från huden och mäter glipan. En stråle går utifrån in mot huden: träffar den en yta på vägen är huden inne i möbeln.
Hela klippet på 20 sekunderSensorn stegar igenom alla 301 bildrutor och ställer sedan tillbaka tidslinjen. AIScen_2 version 3 hade inte en enda bildruta inne.
Kontrollerad mot BlenderLägena stämmer inom 0,1 cm och gliporna inom 0,24 cm i snitt. Sensorn känner möbler och golv. Arm mot knä mäter kontaktmotorn tills vidare.
AIScen_1 · gångvägen

Hon går runt fåtöljen, inte igenom den

I första klippet skar mocapens gångväg rakt genom fåtöljens hörn. Höften gick 10 cm in i armstödet och vänster smalben lika långt in i sidan. Pass 0 löste det utan att flytta möbeln.

Fyra bilder av Lisa när hon går förbi fåtöljen. Före: kjolen och vänster smalben går in i armstödet. Efter: hon går en bit längre ut och går fri från stolen.
Bildruta 47, framifrån och från sidan. Version 12 till vänster, version 13 till höger. Kontrollbilder från Blender.

Hur långt hon flyttas, bildruta för bildruta

Höftens flytt i sidled i centimeter, bildruta 0–130. Kurvan börjar i god tid, är som störst vid stolens hörn och är noll när hon sitter.

2520 1510 50 cm 020 4060 80100 120 23,3 cm vid hörnet hon sitter
2 cmså långt gick fåtöljen att flytta innan händerna gled av armstöden. Gången behövde 10–15 cm. Fåtöljen står kvar och animationen anpassas.
0,09cm per bildruta² som största ändring i flytten. Banan räknas för hela klippet på en gång, så höften rör sig lika mjukt som i originalet.
AIScen_1 · fingrarna i version 10 och 11

Planera över tid, inte bildruta för bildruta

Version 10 valde fingrarnas vinkel bildruta för bildruta, och de hoppade. Version 11 väljer över hela klippet med ett tak per bildruta. Samma lärdom gav senare gångvägen och utjämningen av rättningen.

Pekfingrets första led, vänster hand

Böjvinkel i grader, bildruta 60–200. Handen landar på armstödet kring bildruta 70 och vilar sedan.

Mocapen Version 10: 17 hopp, upp till 95° Version 11: inga hopp
100°75° 50°25° 0° 6080 100120 140160 180200
Nytt i v15 · hyllan

Färdiga klipp går samma väg som filmen

Filmen är huvudvägen. När mocapen inte räcker, eller tiden inte finns, tas rörelsen från en hylla: egna godkända klipp i banken, och gratis paket som Epics Game Animation Sample med cirka 500 städade klipp. Ett paketklipp får exakt samma städ som ett mocap-klipp och mäts med samma sensor. Flödet för alla projekt står i I:\Verkstad\ANIMATIONSFLODE.md.

Lisa sitter i den röda fåtöljen med händerna i knät, fötterna på mattan.
Samplets sittande bänk-idle, retargetad till Lisa och körd genom kontaktmotorn. Bild 300 av 750 i studion.
  1. 1UnrealRetargetca 1 min

    Epics egen retargetering från gubben till MetaHuman, i batch. Lisas kropp sätts som proportionskälla, så benen inte sträcks.

  2. 2UnrealPlacering och sanningca 1 min

    Samma skript som för mocap: bäckenet 10 cm framför fåtöljens pivot, vänd som fåtöljen. Sedan sanningen via Sequencer, 751 nycklar på 52 sekunder.

  3. 3BlenderKontaktmotornca 8 min

    Den direkta kedjan i en bakgrunds-Blender: bron, vilohand, sluten loop, passen, utjämning, mätning och FBX.

  4. 4UnrealImport, sekvens, sensor, bildca 2 min

    Klippet in, Lisa i fåtöljen i studion, skanning och en renderad bildruta. Sedan riggen och verktyget, se nästa avsnitt.

Zon, sensorn i studionRått paketklippEfter motorn
Bakdel mot sitsen7,1 cm inne0,07 cm luft
Lår mot sitsen7,5 cm inne3,7 cm inne, mjuk dyna som förut
Vänster fot mot golvet7,8 cm inne0,2 cm luft
Höger fot2,2 cm inne0,3 cm luft
Händer över armstöden9 cm13 cm, i knät

Fötterna står helt still, loopskarven är 0,02 cm och rörelsen är lika mjuk som originalet. Händerna ligger i knät i bänkposen, 13 cm från armstöden, och motorn fångar bara inom 8 cm. Så det här blev en idle med händerna i knät, en annan än den med händerna på armstöden. Stefans dom: "väldigt bra grundarbete så jag kan lägga min tid på detaljerna".

Nytt i v15 · lager i Unreal

Grunden orörd, detaljerna i lager

När grunden är mätt läggs MetaHumans egen Control Rig som lager ovanpå i Sequencer, och armar kan tas från ett annat klipp som additivt lager. Stefan gör det sista med lager och pickern i MetaHuman Animation Tool. Hur det går till, steg för steg: Lager i Unreal.

Två bilder av Lisa i fåtöljen. Till vänster vilar händerna i knät. Till höger är vänster hand lyft i en pratgest.
Samma grund. Till vänster bara grunden. Till höger med armarna från AIScen 2 som additivt lager på rad 1. Säte och fötter läser exakt lika i sensorn, händerna lämnar knät från bild 20 till 290.
Control Rig

Riggen som lager

MetaHumans kroppsrigg, 162 kontroller med FK och IK, som lagrat Control Rig-spår på kroppen. Riggen vill ha benen i IK och löste knäna på nytt, upp till 14 grader fel. Med benen i FK återger en tom rigg grunden inom 0,03 grader.

Mätt med export från Sequencer
Additivt klipp

Armar från ett annat klipp

En kopia av källklippet där alla ben utom armkedjan fryses på bild 0, så deras additiva skillnad blir noll. Fingrarna fryses också, så vilohanden står kvar. Kopian läggs som sektion på rad 1 och kan viktas, kortas och flyttas.

54 armben följer med, 288 ben frysta
Verktyg

MetaHuman Animation Tool

Locodromes picker för kropp och ansikte, FK/IK-växling per kroppsdel, tween, pose-urklipp, spegling och snap till sockets. Rent Blueprint, hämtat från ett 5.7-projekt. Knapparna behöver motorns plugin CommonUI.

Öppnas av kedjan när grunden är klar
Nytt klipp

Så startar du nästa animation

Ordningen och reglerna ligger i skillen animationsflode, verktygen i kontaktmotor. Det finns också en instruktionsbok för AI-agenter, ANIMATIONSKEDJAN_AI.md, som beskriver hela kedjan så att en annan agent kan köra den.

Enklast: säg "kör flödet på AIScen_3" och beskriv rörelsen. Claude gör alla steg, berättar vad varje steg gav och skannar till sist. Före start ska Cascadeurs skriptserver vara igång (Scripts → MCP → Start script server), och OmbraPodcast ska vara öppet i Unreal med AI-scenen.
Du klickar fyra gångerDu godkänner det som laddas ner, kopplar bort Live Link innan en ny flik öppnas och startar Live Link på den nya fliken. Om Cascadeurs egen video-mocap används importerar du också filmen.
Du finjusterarGör dina ändringar i ett eget lager i Cascadeur och följ prickarna i Unreal. Säg "kolla bild 140", så läser Claude sensorn för just den bildrutan.
Från hyllanSäg "ny grund från hyllan: <klipp>". Retarget, placering, sanning, kontaktmotor, import, sensor, rigg och verktyg kör i ett svep, cirka en kvart. Sedan gör du detaljerna i lager.
Lärdomar

Fällor vi redan har gått i

Unbaking hittar på fingrarÄven med vilohand i källan lägger Animation Unbaking egna knutna fingrar på några nycklar. Ge alla basnycklar vilohanden efteråt och kontrollera böjningen.
Rättningen ska vara långsamMotorns övergångar kan rycka där en kontakt börjar eller slutar. Jämna ut skillnaden mot grunden innan den blir ett lager.
Sista bildrutan visar viloposenEn sekvens på 300 bildrutor spelar 0–299. Bildruta 300 visar Lisa i A-pose, så den ersätts med 299.
Kläder har opålitliga normalerKjolen är en enkel yta. Händer 10 cm bort lästes som 15 cm inne. Avståndet till kläderna används därför utan tecken.
Varje flik har sin egen Live LinkKoppla bort Live Link innan en ny flik öppnas. Annars kan fel scen hamna i Unreal.
Spara aldrig AS_Body_<klipp>När källklippet sparas fylls retarget-posen i, och Lisas proportioner ändras. Välj "Don't Save".
Lita inte på FBX-längderFBX ger mocap-skelettets benlängder, 2–4 cm fel. Använd alltid sanningen och bron.
Flytta inte möblernaFåtöljen gick bara att flytta cirka 2 cm innan sittandet blev fel. Scenen får vara som den är, och animationen anpassas.
Unreals strålar är ensidigaEn stråle som börjar inne i en möbel ser ingenting av den. Sensorn använder därför två strålar per punkt.
Långa körningar i bakgrundenAnrop till Blender och Cascadeur kan få timeout medan jobbet fortsätter. Följ resultatfilen eller loggen i stället för att skicka om.
Riggen löser benen på nyttMetaHuman-riggens ben står i IK som standard och knäna avvek upp till 14 grader från grunden. Benen sätts i FK när riggen läggs på. Armarna är FK från början.
Samma namn i samma namnrymdBlender-jobbet exec:ar alla filer i en namnrymd. En flagga som hette FINGRAR skrev över lösarens lista med fingernamn, och motorn kraschade. Flaggan heter nu FINGRAR_PA.
Ingen kontakt är också ett fallMätningen av glidning delade med noll när händerna aldrig nådde armstöden. Nu ger den nollor och antal bildrutor, och scenen sparas direkt efter motorn.
Additivt kommer från klippetEn sektion i Sequencer behöver ingen blendtyp; den blandas additivt så fort tillgången är additiv. Att sätta blendtyp på sektionen biter inte från Python.
Verktyget behöver CommonUIPickerns knappar anropar en funktion ur motorns plugin CommonUI. Utan det kompilerar de inte, och en varningsruta dyker upp vid varje uppspelning.
Nästa

Kvar att göra

Baka lager till bankenGrund, armlager och Stefans lager ska bli ett klipp i banken med en rad i bank.json. Exporten från Sequencer finns redan.
Fler källor för armarMixamo har gratis sittande pratgester. Samma väg: additiv kopia med bara armarna.
Kontaktrigg i post-processFot-IK mot golv och hand-IK mot armstöd på alla klipp, även Live Link, som säkerhetsnät och grön/röd visning.
Sensorn och kropp mot kroppSensorn känner möbler och golv men inte arm mot knä. Den kan lära sig det med täta punkter på låren och armbågarna.
Ansikte och slutrenderingAnsikte från rösten, små detaljer i Sequencer-lager och slutrendering.
Mara och soffanSamma kedja ska fungera för Mara i soffan. Riggen får andra sockets, sensorn hennes punkter och soffan exakt kollision.
Filer

Var allt ligger

PlatsInnehåll
~\.claude\skills\animationsflode\Flödet steg för steg: ordningen, de hårda reglerna, lagren och sensorn.
~\.claude\skills\kontaktmotor\Verktygen och mätningarna bakom varje steg, och den här sidan i docs\.
…\kontaktmotor\blender\Motorn (kontakt_motor, kontakt_losare2, kontakt_egen), bron och scenbygget. I till_cascadeur\ ligger jobben för superbildrutor, utjämning, lager och kontroll.
…\kontaktmotor\cascadeur\Öppna flik, klistra in hela klipp och nycklar, lager, kopior, status och fönsterbilder.
…\kontaktmotor\unreal\Unreal-skripten: sanning via Sequencer (pod_truth_seq), placering, drift, sensorn och rendering.
…\kontaktmotor\scripts\Hjälparna för Unreal-konsolen och slingan för superbildrutor (superramar_loop.ps1).
I:\Verkstad\kedja\AI-filmen: LTX-motorn startas och filmen görs (ltx_starta.ps1, ltx_video.py).
I:\Ombra Media\Podcast\CascTest\AIScen_2\Arbetsfilen Lisa_AIScen_2_v3.casc (grund, kroppslager, fingerlager) och kopiorna i gammalt.
I:\Ombra Media\Podcast\Mocap\Jämförelsefilmerna, till exempel Jamforelse_AIScen_2_v3.mp4 och Overlagg_AIScen_2_kedjorna.mp4.
OmbraPodcast\Saved\ClaudeScripts\pod_paket_*.pyHyllan: retarget, placering, sekvens, rigg som lager, ben i FK, trohetskontroll och armar som additivt lager.
/Game/Podcast/Library/Paket/Retargetade paketklipp, det färdiga AS_Paket_bench_kontakt1, armlagret och testsekvensen LS_Paket_Test.
I:\Unreal Engine\Projects\GameAnimationSample\Epics Game Animation Sample som källa. Walk, Idle, Poses, LookAtPOI och Bench är kopierade till OmbraPodcast.
I:\Verkstad\ANIMATIONSFLODE.mdFlödet för alla projekt: film, mocap, städ, bank, med grindar och fallback till hyllan.