Руководство · Unity · Godot 4 · three.js
Ваша голова в Unity, Godot или three.js.
Голова FaceNinja — обычный GLB или FBX на топологии MetaHuman, с глазами, зубами, текстурами 4K и 52 блендшейпами ARKit, поэтому она работает и вне Unreal. Здесь — как перенести её в Unity, Godot 4 и three.js и как двигать лицо из кода.
Опубликовано

jawOpen и двумя формами mouthSmile. Скриншот с нашей тестовой страницы.Какой файл для какого движка
| Движок | Файл | Единицы |
|---|---|---|
| Unity | FBX с формами ARKit | Сантиметры; Unity переводит их в метры |
| Godot 4 | GLB с формами ARKit | Метры, Y вверх |
| three.js | GLB с формами ARKit | Метры, Y вверх |
Оба в натуральную величину. Волос нет ни в GLB, ни в FBX: в Unreal их заменяют groom MetaHuman, в других движках добавьте свои волосы.
Можно ли использовать MetaHuman в Unity?
Голова FaceNinja — ваш собственный файл на топологии MetaHuman, на наших условиях: используйте её в любом движке. MetaHuman, созданный в MetaHuman Creator, подпадает под лицензию Epic, которая с июня 2025 года разрешает и другие движки и инструменты (страница лицензии Epic).
Unity: импорт FBX
Добавьте FBX
Скачайте FBX с формами ARKit и перетащите его в папку Assets проекта.
Проверьте настройки импорта
На вкладке Model оставьте включёнными Convert Units, чтобы сантиметры стали метрами, и Import BlendShapes (по умолчанию). Нажмите Apply.
Извлеките материалы
На вкладке Materials извлеките текстуры и материалы, чтобы их можно было редактировать. В URP или HDRP переведите материалы на шейдер Lit этого пайплайна.
Найдите формы
Поместите голову в сцену. Skinned Mesh Renderer показывает 52 формы в разделе BlendShapes, с названиями форм ARKit.
Управляйте ими из кода
Веса в 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
Добавьте GLB
Скачайте GLB с формами ARKit и скопируйте его в проект. Godot импортирует его как сцену, в метрах.
Найдите формы
Откройте сцену и выберите MeshInstance3D головы. Inspector показывает blend shapes с названиями ARKit в разделе Blend Shapes.
Управляйте ими из кода
Веса в 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
Загрузите через GLTFLoader
Голова открывается как несколько мешей (кожа, глаза, зубы и так далее); у каждого те же 52 названия форм.
Задавайте формы по названию
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);Прозрачные глаза
Для прозрачных, отражающих глаз в 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 блендшейпа?
- Да, с названиями ARKit: как BlendShapes на Skinned Mesh Renderer в Unity, Blend Shapes на MeshInstance3D в Godot и morph targets в three.js.
- 03Есть ли волосы?
- Не в этих файлах. В Unreal их дают groom MetaHuman; в других движках добавьте свои волосы.
- 04Какой формат легче?
- GLB с формами ARKit весит около 105 MB с текстурами 4K, статичный GLB — около 65 MB. С текстурами 2K оба меньше.
Можно ли попробовать голову со всеми 52 формами?
Да. Зарегистрируйтесь бесплатно и скачайте 20 примеров голов: в каждом GLB и FBX есть все 52.