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-এ হেড নিয়ে প্রশ্ন

01Unity-তে কি MetaHuman ব্যবহার করা যায়?
একটি FaceNinja হেড একটি সাধারণ FBX বা GLB, তাই হ্যাঁ। MetaHuman Creator-এ বানানো পূর্ণ MetaHuman-ও জুন 2025 থেকে Epic-এর লাইসেন্সে অন্য ইঞ্জিনে ব্যবহার করা যায়; এর শর্তগুলো দেখে নিন।
0252টি 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টির সবগুলো আছে।