Guide · Unity · Godot 4 · three.js
Brug dit hoved i Unity, Godot eller three.js.
Et FaceNinja-hoved er en almindelig GLB- eller FBX-fil med MetaHuman-topologi, med øjne, tænder, 4K-teksturer og de 52 ARKit-blendshapes, så det virker også uden for Unreal. Sådan får du det ind i Unity, Godot 4 og three.js, og sådan bevæger du ansigtet fra kode.
Udgivet

jawOpen og de to mouthSmile-blendshapes skruet op. Skærmbillede fra vores egen testside.Hvilken fil til hvilken motor
| Motor | Fil | Enheder |
|---|---|---|
| Unity | FBX med ARKit-blendshapes | Centimeter; Unity omregner dem til meter |
| Godot 4 | GLB med ARKit-blendshapes | Meter, Y-up |
| three.js | GLB med ARKit-blendshapes | Meter, Y-up |
Begge er i naturlig størrelse. Hår er ikke med i GLB- eller FBX-filen: i Unreal erstatter MetaHuman-grooms det; i andre motorer tilføjer du selv hår.
Må jeg bruge en MetaHuman i Unity?
Et FaceNinja-hoved er din egen fil, med MetaHuman-topologi, under vores vilkår: brug det i enhver motor. En MetaHuman, du bygger i MetaHuman Creator, er omfattet af Epics licens, som siden juni 2025 også tillader andre motorer og værktøjer (Epics licensside).
Unity: importér FBX-filen
Hent FBX-filen ind
Hent FBX-filen med ARKit-blendshapes, og læg den i projektets Assets-mappe.
Tjek importindstillingerne
Lad Convert Units være slået til på fanen Model, så centimeterne bliver til meter, og lad Import BlendShapes være slået til (standard). Apply.
Udtræk materialerne
Udtræk teksturer og materialer på fanen Materials, så du kan redigere dem. I URP eller HDRP konverterer du materialerne til pipelinens Lit-shader.
Find blendshapes
Placér hovedet i en scene. Skinned Mesh Renderer viser de 52 blendshapes under BlendShapes, navngivet efter ARKit-blendshapes.
Styr dem fra kode
Vægte i Unity går fra 0 til 100.
Kode// Unity (C#): the head's SkinnedMeshRenderer; Unity blend shape weights run 0–100 var smr = GetComponentInChildren<SkinnedMeshRenderer>(); var mesh = smr.sharedMesh; for (int i = 0; i < mesh.blendShapeCount; i++) if (mesh.GetBlendShapeName(i).EndsWith("jawOpen")) smr.SetBlendShapeWeight(i, 60f);
Foretrækker du GLB? Unity læser det med en importpakke til glTF, for eksempel glTFast.
Godot 4: importér GLB-filen
Hent GLB-filen ind
Hent GLB-filen med ARKit-blendshapes, og kopiér den ind i dit projekt. Godot importerer den som en scene, i meter.
Find blendshapes
Åbn scenen, og vælg hovedets MeshInstance3D. Inspector viser blend shapes med deres ARKit-navne under Blend Shapes.
Styr dem fra kode
Vægte i Godot går fra 0 til 1.
Kode# Godot 4 (GDScript): the head's MeshInstance3D; weights run 0–1 @onready var head: MeshInstance3D = $Head func _ready(): var i := head.find_blend_shape_by_name("jawOpen") if i >= 0: head.set_blend_shape_value(i, 0.6)
three.js: indlæs GLB-filen
Indlæs den med GLTFLoader
Hovedet åbner som flere meshes (hud, øjne, tænder og så videre); hvert af dem bærer de samme 52 blendshape-navne.
Sæt blendshapes ved navn
morphTargetDictionaryknytter hvert ARKit-navn til dets indeks imorphTargetInfluences; vægtene går fra 0 til 1.Kode// three.js: every mesh of the head carries the same 52 names; weights run 0–1 import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; const gltf = await new GLTFLoader().loadAsync('head.glb'); gltf.scene.traverse((o) => { const i = o.morphTargetDictionary?.jawOpen; if (i !== undefined) o.morphTargetInfluences[i] = 0.6; }); scene.add(gltf.scene);Klare øjne
For klare, reflekterende øjne i three.js henter du med indstillingen
cornea=transmission, eller du udskifter hornhindematerialerne, når du indlæser filen (dokumentation EN).
Vi indlæste dette eksempels GLB-fil i three.js til denne guide: den åbner som 6 meshes, og hvert af dem viser alle 52 ARKit-navne.
Godt at vide
- Samme mesh, samme rig. Hvert hoved har den samme vertexrækkefølge og de samme UV'er, så et setup, du laver til ét hoved, virker til dem alle.
- Skala. Hver fil er i naturlig størrelse. Downloadindstillingen
measuredskalerer et hoved til et skøn over personens størrelse. - Lettere filer. Bed om 2K-teksturer med downloadindstillingen
texture_size, når 4K er mere, end du har brug for. - Webforhåndsvisningen er ikke til motorer. Brug GLB eller FBX, ikke den komprimerede forhåndsvisning, som webappen viser.
Spørgsmål om hoveder i Unity, Godot og three.js
- 01Må jeg bruge en MetaHuman i Unity?
- Et FaceNinja-hoved er en almindelig FBX- eller GLB-fil, så ja. En fuld MetaHuman bygget i MetaHuman Creator må siden juni 2025 også bruges i andre motorer under Epics licens; tjek vilkårene.
- 02Kommer de 52 blendshapes med?
- Ja, med deres ARKit-navne: som BlendShapes på Skinned Mesh Renderer i Unity, Blend Shapes på MeshInstance3D i Godot og morph targets i three.js.
- 03Er der hår?
- Ikke i disse filer. I Unreal står MetaHuman-grooms for håret; i andre motorer tilføjer du selv hår.
- 04Hvilket format er mindst?
- GLB-filen med ARKit-blendshapes fylder omkring 105 MB med 4K-teksturer, og den statiske GLB-fil omkring 65 MB. 2K-teksturer gør begge mindre.
Kan jeg prøve et hoved med alle 52 blendshapes?
Ja. Tilmeld dig gratis, og hent de 20 eksempelhoveder: hver GLB og FBX har alle 52.