Gezichtsanimatie

Gevorderd Laatst bijgewerkt 9 jul 2026

Op deze pagina

Questwright heeft geen performance capture nodig: gezichtsanimatie wordt gebakken uit de audio van de voice-over. Heeft een regel VO, dan krijgt ze lipsync, of de audio nu uit TTS komt of uit je eigen opnames.

Het bakken (tijdens de build)

De gezichtsfase van de build draait MetaHuman Animator op elke ingesproken regel en bakt per regel een UAnimSequence met lipsync (FA_<LineId>), waarbij de stemming volgt uit de waarde van emotion: bij die regel. Net als elke fase is ze idempotent: ongewijzigde regels worden overgeslagen en verweesde gezichtsanimaties van verwijderde regels worden opgeruimd.

Vereisten voor deze fase: de MetaHuman plugin ingeschakeld en DX12. Beide worden gecontroleerd in de pre-flight op het tabblad Build; met een schakelaar voor gezichten kun je de fase daar helemaal overslaan (builds voor snelle iteratie).

Lagen tijdens runtime

Tijdens runtime stapelt de plugin het gezicht in code op elke MetaHuman; de Animation Blueprints van je personage worden nooit aangepast:

lip-sync slot → procedural blinking → additive emotion → eye gaze → the character's own RigLogic

De hoofddraai naar de huidige spreker wordt toegepast via een post-process Anim Blueprint op het lichaam tijdens runtime (bij MetaHumans wordt de hoofdbotpose vanaf het lichaam geleid), zodat personages vanzelf kijken naar wie er praat, ook na verplaatsingen in de staging midden in een dialoog.

Twee MetaHumans in dialoog: het hoofd van de luisteraar is naar de spreker gedraaid

Altijd een zachte landing

Elk onderdeel van de gezichtspipeline degradeert netjes in plaats van de build of de scène te breken:

SituatieResultaat
Geen MetaHuman plugin / geen DX12Gezichtsfase overgeslagen met een waarschuwing; de dialoog speelt met een neutraal gezicht
Personage is geen MetaHumanDialoog, staging en camera’s werken; geen gebakken lipsync
Een gezichtsasset laadt nietNeutraal gezicht voor die regel, waarschuwing in de log

De Anim Blueprint-klassen voor gezicht en hoofdbeweging zijn soft references die tijdens runtime pas op het laatste moment worden opgelost, dus de plugin laadt prima in projecten zonder ook maar enige MetaHuman-content.

Gelokaliseerde gezichten

Elke taal krijgt zijn eigen voice-over en zijn eigen lipsyncbake: een Russische regel beweegt de mond als het Russisch. Assets per cultuur worden in packaged builds omgewisseld door het lokalisatiesysteem van de engine (zie Lokalisatie voor de kanttekening over PIE).