FaceNinja

Opas · Unity · Godot 4 · three.js

Käytä 3D-päätäsi Unityssä, Godotissa tai three.js:ssä.

FaceNinja-pää on tavallinen GLB- tai FBX-tiedosto MetaHuman-topologialla, silmineen, hampaineen, 4K-tekstuureineen ja 52 ARKit-blendshapeineen, joten se toimii myös Unrealin ulkopuolella. Näin tuot sen Unityyn, Godot 4:ään ja three.js:ään ja liikutat kasvoja koodista.

FaceNinja-pää renderöitynä three.js:ssä suu auki hymyssä
Näyte S-16, synteettinen henkilö, ladattuna three.js:ään ARKit-muodoilla varustetusta GLB-tiedostosta, jawOpen ja molemmat mouthSmile-muodot ylös käännettyinä. Kuvakaappaus omalta testisivultamme.

Mikä tiedosto mihinkin pelimoottoriin

Tiedostot pelimoottoreittain
PelimoottoriTiedostoYksiköt
UnityFBX ARKit-muodoillaSenttimetrit; Unity muuntaa ne metreiksi
Godot 4GLB ARKit-muodoillaMetrit, Y ylös
three.jsGLB ARKit-muodoillaMetrit, Y ylös

Molemmat ovat elävän kokoisia. Hiukset eivät ole GLB- tai FBX-tiedostossa: Unrealissa MetaHuman-groomit korvaavat ne; muissa pelimoottoreissa lisää omat hiukset.

Voinko käyttää MetaHumania Unityssä?

FaceNinja-pää on oma tiedostosi MetaHuman-topologialla meidän ehdoillamme: käytä sitä missä tahansa pelimoottorissa. MetaHuman Creatorissa rakentamasi MetaHuman kuuluu Epicin lisenssin piiriin, joka kesäkuusta 2025 lähtien sallii myös muut pelimoottorit ja työkalut (Epicin lisenssisivu).

Unity: tuo FBX

  1. Tuo FBX

    Lataa FBX ARKit-muodoilla ja pudota se projektisi Assets-kansioon.

  2. Tarkista tuontiasetukset

    Pidä Model-välilehdellä Convert Units päällä, jotta senttimetreistä tulee metrejä, ja Import BlendShapes päällä (oletus). Valitse Apply.

  3. Pura materiaalit

    Pura Materials-välilehdellä tekstuurit ja materiaalit, jotta voit muokata niitä. URP:ssä tai HDRP:ssä muunna materiaalit putken Lit-shaderille.

  4. Etsi muodot

    Aseta pää sceneen. Skinned Mesh Renderer listaa 52 muotoa kohdassa BlendShapes ARKit-muotojen nimillä.

  5. Ohjaa niitä koodista

    Unityssä painot ovat välillä 0–100.

    Koodi
    // 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);

Haluatko käyttää GLB:tä? Unity lukee sen glTF-tuontipaketilla, kuten glTFastilla.

Godot 4: tuo GLB

  1. Tuo GLB

    Lataa GLB ARKit-muodoilla ja kopioi se projektiisi. Godot tuo sen scenenä, metreinä.

  2. Etsi muodot

    Avaa scene ja valitse pään MeshInstance3D. Inspector listaa blend shapet ARKit-nimillä kohdassa Blend Shapes.

  3. Ohjaa niitä koodista

    Godotissa painot ovat välillä 0–1.

    Koodi
    # 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: lataa GLB

  1. Lataa se GLTFLoaderilla

    Pää avautuu useana meshinä (iho, silmät, hampaat ja niin edelleen); jokaisessa on samat 52 muodon nimeä.

  2. Aseta muodot nimen mukaan

    morphTargetDictionary liittää jokaisen ARKit-nimen sen indeksiin taulukossa morphTargetInfluences; painot ovat välillä 0–1.

    Koodi
    // 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);
  3. Kirkkaat silmät

    Saat three.js:ssä kirkkaat, heijastavat silmät lataamalla valinnalla cornea=transmission tai vaihtamalla sarveiskalvon materiaalit tiedostoa ladatessa (dokumentaatio EN).

Latasimme tämän näytteen GLB-tiedoston three.js:ään tätä opasta varten: se avautuu 6 meshinä, ja jokainen listaa kaikki 52 ARKit-nimeä.

Hyvä tietää

  • Sama mesh, sama rigi. Jokaisessa 3D-päässä on sama verteksijärjestys ja samat UV:t, joten yhdelle päälle tehty asetelma toimii kaikille.
  • Mittakaava. Jokainen tiedosto on elävän kokoinen. Latausvalinta measured skaalaa 3D-pään arvioon henkilön koosta.
  • Kevyemmät tiedostot. Pyydä 2K-tekstuurit latausvalinnalla texture_size, kun 4K on enemmän kuin tarvitset.
  • Verkkoesikatselu ei ole pelimoottoreita varten. Käytä GLB- tai FBX-tiedostoa, ei verkkosovelluksen näyttämää pakattua esikatselua.

Kysymyksiä 3D-päistä Unityssä, Godotissa ja three.js:ssä

01Voinko käyttää MetaHumania Unityssä?
FaceNinja-pää on tavallinen FBX- tai GLB-tiedosto, joten voit. MetaHuman Creatorissa rakennettua täyttä MetaHumania voi Epicin lisenssin mukaan käyttää kesäkuusta 2025 lähtien myös muissa pelimoottoreissa; tarkista sen ehdot.
02Tulevatko 52 blendshapea mukaan?
Tulevat, ARKit-nimillään: Unityssä BlendShapes-muotoina Skinned Mesh Rendererissä, Godotissa Blend Shapes -muotoina MeshInstance3D:ssä ja three.js:ssä morph targeteina.
03Onko mukana hiukset?
Ei näissä tiedostoissa. Unrealissa MetaHuman-groomit tuovat hiukset; muissa pelimoottoreissa lisää omat hiukset.
04Kumpi tiedostomuoto on pienempi?
ARKit-muodoilla varustettu GLB on noin 105 MB 4K-tekstuureilla ja staattinen GLB noin 65 MB. 2K-tekstuurit pienentävät molempia.

Voinko kokeilla 3D-päätä, jossa on kaikki 52 muotoa?

Voit. Luo tili ilmaiseksi ja lataa 20 näytepäätä: jokaisessa GLB- ja FBX-tiedostossa on kaikki 52.