FaceNinja

מדריך · Unity · Godot 4 · three.js

שימוש בראש ב־Unity, Godot או three.js.

ראש FaceNinja הוא GLB או FBX רגיל בטופולוגיית MetaHuman, עם עיניים, שיניים, טקסטורות 4K ו־52 צורות blendshape של ARKit, ולכן פועל גם מחוץ ל־Unreal. כך מייבאים אותו ל־Unity, Godot 4 ו־three.js ומניעים פנים מתוך קוד.

ראש FaceNinja ברינדור three.js, מחייך בפה פתוח
דוגמה S-16, אדם סינתטי, נטענה ב־three.js מ־GLB עם צורות ARKit, עם jawOpen ושתי צורות mouthSmile מופעלות. צילום מהעמוד שבדקנו בעצמנו.

איזה קובץ מתאים לכל מנוע

קבצים לפי מנוע
מנועקובץיחידות
UnityFBX עם צורות ARKitסנטימטרים; Unity ממיר למטרים
Godot 4GLB עם צורות ARKitמטרים, Y-up
three.jsGLB עם צורות ARKitמטרים, Y-up

שניהם בגודל טבעי. השיער אינו בתוך GLB או FBX: ב־Unreal מחליפים אותו בנכסי groom של MetaHuman; במנועים אחרים מוסיפים שיער עצמאי.

אפשר להשתמש ב־MetaHuman ב־Unity?

ראש FaceNinja הוא קובץ אישי בטופולוגיית MetaHuman, בכפוף לתנאים שלנו, לשימוש בכל מנוע. MetaHuman שבונים ב־MetaHuman Creator כפוף לרישיון Epic, שמאז יוני 2025 מתיר גם מנועים וכלים אחרים (עמוד הרישיון של Epic).

Unity: ייבוא FBX

  1. הכנסת FBX

    יש להוריד FBX עם צורות ARKit ולגרור לתיקיית Assets בפרויקט.

  2. בדיקת הגדרות ייבוא

    בלשונית Model יש להשאיר Convert Units פעיל להמרת סנטימטרים למטרים, ו־Import BlendShapes פעיל (ברירת המחדל). יש ללחוץ Apply.

  3. חילוץ החומרים

    בלשונית Materials יש לחלץ טקסטורות וחומרים לעריכה. ב־URP או HDRP ממירים את החומרים לשיידר Lit של הצינור.

  4. איתור הצורות

    יש להציב את הראש בסצנה. Skinned Mesh Renderer מציג את 52 הצורות תחת BlendShapes, בשמות 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

    יש להוריד GLB עם צורות ARKit ולהעתיק לפרויקט. Godot מייבא אותו כסצנה במטרים.

  2. איתור הצורות

    יש לפתוח את הסצנה ולבחור MeshInstance3D של הראש. ב־Inspector מופיעות הצורות תחת Blend Shapes בשמות 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 משנה את גודל הראש לפי אומדן האדם.
  • קבצים קלים יותר. אפשר לבקש טקסטורות 2K עם texture_size כשאין צורך ב־4K.
  • תצוגת הרשת אינה מיועדת למנועים. יש להשתמש ב־GLB או FBX, ולא בתצוגה המקדימה הדחוסה של אפליקציית הרשת.

שאלות על ראשים ב־Unity, Godot ו־three.js

01אפשר להשתמש ב־MetaHuman ב־Unity?
ראש FaceNinja הוא FBX או GLB רגיל, ולכן כן. MetaHuman מלא מ־MetaHuman Creator מותר גם במנועים אחרים ברישיון Epic מאז יוני 2025; יש לבדוק את התנאים.
02כל 52 צורות ה־blendshape נכנסות?
כן, בשמות ARKit: כ־BlendShapes ב־Skinned Mesh Renderer של Unity, כ־Blend Shapes ב־MeshInstance3D של Godot וכ־morph targets ב־three.js.
03יש שיער?
לא בקבצים האלה. ב־Unreal מספקים אותו נכסי groom של MetaHuman; במנועים אחרים יש להוסיף שיער עצמאי.
04איזה פורמט קטן יותר?
GLB עם צורות ARKit וטקסטורות 4K הוא כ־105 MB, ו־GLB סטטי כ־65 MB. טקסטורות 2K מקטינות את שניהם.

אפשר לנסות ראש עם כל 52 הצורות?

כן. נרשמים בחינם ומורידים את 20 ראשי הדוגמה: בכל GLB ו־FBX יש את כל ה־52.