← Назад в блог
РАБОЧИЙ ПРОЦЕСС UNITY · Опубликовано 2026-09-29

Рабочий процесс персонажа для Unity: создайте GLB и проверьте риг

В рабочем процессе персонажа для Unity есть две контрольные точки: файл модели и импорт в проект. TO3D может описать первую точку REST-задачей, возвращающей GLB, и отдельной задачей Skin Tokens, принимающей humanoid GLB. Приведённые ниже фрагменты можно выполнить со своим API-ключом и общедоступным URL изображения. Они не отменяют проверки импорта и ретаргетинга на стороне Unity.

1. Создайте задачу изображения

Задайте API-ключ и общедоступный URL изображения, затем отправьте одну задачу. Ответ приходит асинхронно: сохраните ID задачи и не создавайте вторую, пока первая обрабатывается.

export TO3D_KEY='YOUR_API_KEY'
export TO3D_IMAGE_URL='https://example.com/character.png'

TASK_JSON=$(curl --fail-with-body --silent --show-error \
  https://api.to3d.app/api/trellis/tasks \
  -H "x-api-key: $TO3D_KEY" \
  -H 'Content-Type: application/json' \
  -d "$(jq -cn --arg image "$TO3D_IMAGE_URL" \
    '{task_type:"image-to-3d",input:{image:$image}}')")
TASK_ID=$(jq -er '.id' <<<"$TASK_JSON")
printf 'Task: %s\n' "$TASK_ID"

2. Опросите задачу и скачайте GLB

Опросите тот же ID, пока статус не станет `succeeded`, `failed` или `canceled`. Когда `status` равен `succeeded`, скачайте URL из `.output.model_file`.

curl --fail-with-body --silent --show-error \
  "https://api.to3d.app/api/trellis/tasks/$TASK_ID" \
  -H "x-api-key: $TO3D_KEY" | jq '{id,status,output,error}'

MODEL_URL=$(curl --fail-with-body --silent --show-error \
  "https://api.to3d.app/api/trellis/tasks/$TASK_ID" \
  -H "x-api-key: $TO3D_KEY" | jq -er '.output.model_file')
curl --fail --location --silent --show-error "$MODEL_URL" --output character.glb
[ "$(head -c 4 character.glb)" = 'glTF' ]

3. Запросите отдельный humanoid-риг

Разместите `character.glb` по URL, доступному API, затем отправьте вторую задачу. Выберите `mixamo`, если эту схему имён вы хотите проверить первой. Опросите `https://api.to3d.app/api/skin_tokens/tasks/$RIG_ID` и после успеха скачайте `output.model_file`.

export TO3D_MODEL_URL='https://example.com/character.glb'
RIG_JSON=$(curl --fail-with-body --silent --show-error \
  https://api.to3d.app/api/skin_tokens/tasks \
  -H "x-api-key: $TO3D_KEY" \
  -H 'Content-Type: application/json' \
  -d "$(jq -cn --arg model "$TO3D_MODEL_URL" \
    '{task_type:"rig",input:{model:$model,bone_names:"mixamo"}}')")
RIG_ID=$(jq -er '.id' <<<"$RIG_JSON")
printf 'Rig task: %s\n' "$RIG_ID"

4. Проверьте файл в Unity

Импортируйте скачанный GLB с помощью пакета или импортера Unity, используемого вашим проектом. Проверьте масштаб модели, материалы, сопоставление скелета, bind pose и клипы анимации. Если Unity сообщает о несопоставленных костях или аватаре, который нельзя настроить, скорректируйте риг или сопоставление в проекте и протестируйте простую позу. Метка `mixamo` в API — это вариант именования, а не сертификация TO3D ретаргетинга Unity Humanoid.

  • Во время проверки своего персонажа храните созданный GLB, GLB с ригом и результат импорта в Unity как отдельные артефакты.

Сохраняйте границы доказательств по образцам

При проверке образцов #56 в каждом из четырёх общедоступных GLB были найдены суставы скелета, веса skinning, UV и встроенный PNG. Это показывает содержимое этих файлов. Это не доказывает, что любой новый ввод будет хорошо деформироваться, содержать формы лица или импортироваться без доработки.

  • Четыре образца не подтверждают формы лица, viseme, экспорт VRM или автоматический ретаргетинг в Unity.
Рабочий процесс персонажа для Unity: создайте GLB и проверьте риг | TO3D