FaceNinja

गाइड · Unity · Godot 4 · three.js

अपना हेड Unity, Godot या three.js में इस्तेमाल करें।

FaceNinja हेड MetaHuman टोपोलॉजी पर एक सामान्य GLB या FBX है, आँखों, दाँतों, 4K टेक्सचर और 52 ARKit blendshape के साथ, इसलिए यह Unreal के बाहर भी काम करता है। यहाँ बताया गया है कि इसे Unity, Godot 4 और three.js में कैसे लाएँ, और कोड से चेहरा कैसे हिलाएँ।

three.js में रेंडर किया गया एक FaceNinja हेड, मुस्कान में मुँह खुला हुआ
नमूना S-16, एक सिंथेटिक व्यक्ति, ARKit शेप वाली GLB से three.js में लोड किया गया, jawOpen और दोनों mouthSmile शेप बढ़ाकर। हमारे अपने टेस्ट पेज का स्क्रीनशॉट।

किस इंजन के लिए कौन-सी फ़ाइल

इंजन के हिसाब से फ़ाइलें
इंजनफ़ाइलयूनिट
UnityARKit शेप वाली FBXसेंटीमीटर; Unity इन्हें मीटर में बदल देता है
Godot 4ARKit शेप वाली GLBमीटर, Y-up
three.jsARKit शेप वाली GLBमीटर, Y-up

दोनों असली साइज़ में हैं। बाल GLB या FBX में नहीं हैं: Unreal में MetaHuman groom उनकी जगह लेते हैं; दूसरे इंजन में अपने बाल जोड़ें।

क्या मैं Unity में MetaHuman इस्तेमाल कर सकता हूँ?

FaceNinja हेड आपकी अपनी फ़ाइल है, MetaHuman टोपोलॉजी पर, हमारी शर्तों के तहत: इसे किसी भी इंजन में इस्तेमाल करें। MetaHuman Creator में बनाया गया MetaHuman, Epic के लाइसेंस के तहत आता है, जो जून 2025 से दूसरे इंजन और टूल की भी अनुमति देता है (Epic का लाइसेंस पेज)।

Unity: FBX इंपोर्ट करें

  1. FBX लाएँ

    ARKit शेप वाली FBX डाउनलोड करें और उसे अपने प्रोजेक्ट के Assets फ़ोल्डर में डालें।

  2. इंपोर्ट सेटिंग जाँचें

    Model टैब पर Convert Units चालू रखें, ताकि सेंटीमीटर मीटर बन जाएँ, और Import BlendShapes भी चालू रखें (डिफ़ॉल्ट)। Apply करें।

  3. मटीरियल निकालें

    Materials टैब पर टेक्सचर और मटीरियल एक्सट्रैक्ट करें, ताकि आप उन्हें एडिट कर सकें। URP या HDRP में मटीरियल को पाइपलाइन के Lit शेडर में बदलें।

  4. शेप ढूँढें

    हेड को किसी सीन में रखें। Skinned Mesh Renderer, BlendShapes के नीचे 52 शेप दिखाता है, ARKit शेप के नामों से।

  5. कोड से चलाएँ

    Unity में वेट 0 से 100 तक होते हैं।

    कोड
    // 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);

GLB पसंद है? Unity उसे glTF इंपोर्टर पैकेज, जैसे glTFast, से पढ़ता है।

Godot 4: GLB इंपोर्ट करें

  1. GLB लाएँ

    ARKit शेप वाली GLB डाउनलोड करें और उसे अपने प्रोजेक्ट में कॉपी करें। Godot उसे मीटर में एक सीन के रूप में इंपोर्ट करता है।

  2. शेप ढूँढें

    सीन खोलें और हेड का MeshInstance3D चुनें। Inspector में Blend Shapes के नीचे blend shape उनके ARKit नामों से दिखते हैं।

  3. कोड से चलाएँ

    Godot में वेट 0 से 1 तक होते हैं।

    कोड
    # 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: GLB लोड करें

  1. GLTFLoader से लोड करें

    हेड कई मेश के रूप में खुलता है (स्किन, आँखें, दाँत वग़ैरह); हर एक में वही 52 शेप नाम होते हैं।

  2. नाम से शेप सेट करें

    morphTargetDictionary हर ARKit नाम को morphTargetInfluences में उसके इंडेक्स से जोड़ता है; वेट 0 से 1 तक होते हैं।

    कोड
    // 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. साफ़ आँखें

    three.js में साफ़, चमकदार आँखों के लिए cornea=transmission विकल्प के साथ डाउनलोड करें, या फ़ाइल लोड करते समय कॉर्निया के मटीरियल बदल दें (डॉक्स EN)।

इस गाइड के लिए हमने इस नमूने की GLB three.js में लोड की: यह 6 मेश के रूप में खुलती है, और हर एक में सभी 52 ARKit नाम हैं।

जानने लायक बातें

  • वही मेश, वही रिग। हर हेड का वर्टेक्स ऑर्डर और UV एक जैसा है, इसलिए एक हेड के लिए किया गया सेटअप सब पर काम करता है।
  • स्केल। हर फ़ाइल असली साइज़ में है। measured डाउनलोड विकल्प हेड को व्यक्ति के अनुमानित साइज़ पर स्केल करता है।
  • हल्की फ़ाइलें। जब 4K ज़रूरत से ज़्यादा हो, तो texture_size डाउनलोड विकल्प से 2K टेक्सचर माँगें।
  • वेब प्रीव्यू इंजन के लिए नहीं है। GLB या FBX इस्तेमाल करें, वेब ऐप में दिखने वाला कंप्रेस्ड प्रीव्यू नहीं।

Unity, Godot और three.js में हेड के बारे में सवाल

01क्या मैं Unity में MetaHuman इस्तेमाल कर सकता हूँ?
FaceNinja हेड एक सामान्य FBX या GLB है, इसलिए हाँ। MetaHuman Creator में बना पूरा MetaHuman भी जून 2025 से Epic के लाइसेंस के तहत दूसरे इंजन में इस्तेमाल किया जा सकता है; उसकी शर्तें देख लें।
02क्या 52 blendshape साथ आते हैं?
हाँ, उनके ARKit नामों से: Unity में Skinned Mesh Renderer पर BlendShapes, Godot में MeshInstance3D पर Blend Shapes, और three.js में morph target।
03क्या बाल हैं?
इन फ़ाइलों में नहीं। Unreal में MetaHuman groom बाल देते हैं; दूसरे इंजन में अपने बाल जोड़ें।
04कौन-सा फ़ॉर्मेट छोटा है?
4K टेक्सचर के साथ ARKit शेप वाली GLB लगभग 105 MB की होती है, और स्टैटिक GLB लगभग 65 MB की। 2K टेक्सचर से दोनों छोटी हो जाती हैं।

क्या मैं सभी 52 शेप वाला हेड आज़मा सकता हूँ?

हाँ। मुफ़्त में साइन अप करें और 20 नमूना हेड डाउनलोड करें: हर GLB और FBX में सभी 52 हैं।