FaceNinja

Referentie · ARKit · gezichtstracking

De 52 ARKit-blendshapes, op een echt hoofd.

ARKit beschrijft een gezicht met 52 blendshapes: gewichten van 0 tot 1 voor bewegingen zoals jawOpen of eyeBlinkLeft. De gezichtstracking van een iPhone stuurt deze gewichten, en Live Link Face, VTubing-apps en game-engines spelen ze af op elk hoofd met dezelfde 52 blendshapes. Hier staat elke naam, wat hij beweegt, en een hoofd dat ze allemaal heeft.

Gratis Maak gratis een account en download 20 hoogwaardige MetaHuman-voorbeeldhoofden: 4K-huid, 52 ARKit-blendshapes, GLB/FBX/MetaHuman ZIP.

Alle 52, per deel van het gezicht

De namen staan precies zoals Apple ze schrijft. Left en Right zijn de linker- en rechterkant van het gezicht zelf, niet die van de kijker.

Ogen14 blendshapes

  1. eyeBlinkLeft
    eyeBlinkRight
    Sluit het ooglid.
  2. eyeLookDownLeft
    eyeLookDownRight
    De oogleden volgen een blik naar beneden.
  3. eyeLookInLeft
    eyeLookInRight
    De oogleden volgen een blik naar de neus toe.
  4. eyeLookOutLeft
    eyeLookOutRight
    De oogleden volgen een blik van de neus af.
  5. eyeLookUpLeft
    eyeLookUpRight
    De oogleden volgen een blik naar boven.
  6. eyeSquintLeft
    eyeSquintRight
    Knijpt het oog samen: het onderste ooglid en de wang gaan omhoog.
  7. eyeWideLeft
    eyeWideRight
    Opent het oog wijd: het bovenste ooglid gaat omhoog.

Kaak4 blendshapes

  1. jawForwardDuwt de kaak naar voren.
  2. jawLeftBeweegt de kaak naar de linkerkant van het gezicht.
  3. jawRightBeweegt de kaak naar de rechterkant van het gezicht.
  4. jawOpenOpent de kaak.

Mond23 blendshapes

  1. mouthCloseSluit de lippen terwijl de kaak open blijft; samen met jawOpen gebruikt.
  2. mouthFunnelVormt de open lippen tot een trechter, zoals bij ‘oe’.
  3. mouthPuckerDuwt de gesloten lippen naar voren, zoals bij een kus.
  4. mouthLeftBeweegt beide lippen naar de linkerkant van het gezicht.
  5. mouthRightBeweegt beide lippen naar de rechterkant van het gezicht.
  6. mouthSmileLeft
    mouthSmileRight
    Trekt de mondhoek omhoog.
  7. mouthFrownLeft
    mouthFrownRight
    Trekt de mondhoek omlaag.
  8. mouthDimpleLeft
    mouthDimpleRight
    Trekt de mondhoek naar achteren, naar het kuiltje toe.
  9. mouthStretchLeft
    mouthStretchRight
    Rekt de mondhoek opzij en omlaag.
  10. mouthRollLowerRolt de onderlip naar binnen, over de tanden.
  11. mouthRollUpperRolt de bovenlip naar binnen, over de tanden.
  12. mouthShrugLowerDuwt de onderlip omhoog en naar buiten.
  13. mouthShrugUpperDuwt de bovenlip omhoog en naar buiten.
  14. mouthPressLeft
    mouthPressRight
    Drukt de onderlip aan die kant tegen de bovenlip.
  15. mouthLowerDownLeft
    mouthLowerDownRight
    Trekt de onderlip aan die kant omlaag.
  16. mouthUpperUpLeft
    mouthUpperUpRight
    Trekt de bovenlip aan die kant omhoog.

Wenkbrauwen5 blendshapes

  1. browDownLeft
    browDownRight
    Laat het buitenste deel van de wenkbrauw zakken.
  2. browInnerUpTrekt de binnenste uiteinden van beide wenkbrauwen omhoog.
  3. browOuterUpLeft
    browOuterUpRight
    Trekt het buitenste deel van de wenkbrauw omhoog.

Wangen3 blendshapes

  1. cheekPuffBlaast beide wangen bol.
  2. cheekSquintLeft
    cheekSquintRight
    Duwt de wang rond het onderste ooglid omhoog.

Neus2 blendshapes

  1. noseSneerLeft
    noseSneerRight
    Trekt de zijkant van de neus op, zoals bij een minachtende grimas.

Tong1 blendshapes

  1. tongueOutSteekt de tong uit de mond.

Bron van de namen: de ARKit-documentatie van Apple.

Beweeg de blendshapes op een echt hoofd

Dit zijn de voorbeeldhoofden, zoals FaceNinja ze maakte van telkens één foto. Laad er een en versleep de schuifjes: elk schuifje is één ARKit-blendshape op dat gezicht, en de uitdrukkingen mengen er meerdere.

InspectiebankStilstaand beeld

Voorbeeldhoofden

Het MetaHuman-hoofd in 3D dat FaceNinja van foto S-07 maakte

Pijltjestoetsen draaien het hoofd. Plus en min zoomen. Nul herstelt de weergave. Escape verlaat de viewer.

Expressie
Weergave
Verlichting

ARKit-waarden

Waarden volgen de expressie. Sleep een schuifregelaar voor één shape.

Synthetische mensDe preview is voor het web gecomprimeerd. De download bevat de volledige 4K-maps.

Zes uitdrukkingen, en de blendshapes erachter

Een uitdrukking is een mix van blendshapes. Elke still hieronder is voorbeeld S-16 met de blendshapes eronder opengedraaid; het neutrale gezicht heeft er geen.

  • Voorbeeld S-16, een synthetische mens, met NeutraalNeutraal
    —
  • Voorbeeld S-16, een synthetische mens, met mouthSmileLeft, mouthSmileRightGlimlach
    mouthSmileLeft mouthSmileRight
  • Voorbeeld S-16, een synthetische mens, met jawOpen, browInnerUpVerrast
    jawOpen browInnerUp
  • Voorbeeld S-16, een synthetische mens, met browDownLeft, mouthFrownLeftFrons
    browDownLeft mouthFrownLeft
  • Voorbeeld S-16, een synthetische mens, met mouthPuckermouthPucker
  • Voorbeeld S-16, een synthetische mens, met eyeBlinkLefteyeBlinkLeft

Waarom tongueOut een tong nodig heeft

tongueOut is alleen te zien op een hoofd met een tong en een mond die ver genoeg opengaat. FaceNinja-hoofden hebben allebei, dus de GLB en de FBX bevatten alle 52 blendshapes, tongueOut inbegrepen.

Perfect Sync: de 52 blendshapes bij VTubing

Bij VTubing heet een avatar met alle 52 ARKit-blendshapes Perfect Sync (パーフェクトシンク): tracking vanaf een iPhone stuurt elke blendshape direct aan in plaats van een paar presets. Apps op basis van VRM hebben een VRM-bestand nodig, en dat maakt FaceNinja niet. Onze gratis Creator Kit kiest de andere route: je hoofd wordt een MetaHuman in Unreal Engine, aangestuurd door Live Link Face of een webcam.

Waar de 52 blendshapes in elke engine zitten

Dezelfde 52 namen in vier engines
EngineWaar de blendshapes zittenOpmerking
Unreal EngineMorph targets op de Skeletal Mesh; Live Link Face stuurt ze aan op naam.Importeer met morph targets aan en vink Used with Morph Targets aan op de materialen van het hoofd (docs EN).
UnityBlend shapes op de Skinned Mesh Renderer, uit de FBX.Import BlendShapes staat standaard aan in de importinstellingen van het model.
Godot 4Blend shapes op de MeshInstance3D, uit de GLB.find_blend_shape_by_name() geeft de index voor set_blend_shape_value().
three.jsmesh.morphTargetDictionary koppelt elke naam aan zijn index in mesh.morphTargetInfluences.Laad de GLB met GLTFLoader.

Vragen over ARKit-blendshapes

01Wat zijn ARKit-blendshapes?
De 52 benoemde gezichtsbewegingen die Apple definieerde voor gezichtstracking op iPhone en iPad. Elk is een gewicht van 0 tot 1, en elke uitdrukking is een mix ervan.
02Hoeveel ARKit-blendshapes zijn er?
52: 14 voor de ogen, 4 voor de kaak, 23 voor de mond, 5 voor de wenkbrauwen, 3 voor de wangen, 2 voor de neus en 1 voor de tong.
03Heb ik een iPhone nodig?
Om alle 52 live op te nemen heb je een apparaat met de gezichtstracking van Apple nodig, zoals een iPhone met Face ID; Live Link Face gebruikt die. Om ze af te spelen werkt elke engine die blendshapes leest, zonder iPhone.
04Bevatten FaceNinja-hoofden tongueOut?
Ja. De GLB en de FBX bevatten alle 52 blendshapes, tongueOut inbegrepen, gemaakt voor elk gezicht.
05Wat is Perfect Sync?
Een VTubing-term voor een avatar met alle 52 ARKit-blendshapes, zodat gezichtstracking elke blendshape direct aanstuurt.
06Kan ik een hoofd met alle 52 blendshapes proberen?
Ja. Meld je gratis aan en download de 20 voorbeeldhoofden: elke GLB en FBX heeft alle 52.

Kan ik een hoofd met alle 52 blendshapes proberen?

Ja. Meld je gratis aan en download de 20 voorbeeldhoofden: elke GLB en FBX heeft alle 52.