← Retour au blog
WORKFLOW UNITY · Publié 2026-09-29

Workflow de personnage Unity : générer un GLB puis vérifier le rig

Un workflow de personnage Unity comporte deux points de contrôle : le fichier du modèle et son import dans le projet. TO3D peut documenter le premier avec une tâche REST qui renvoie un GLB et une tâche Skin Tokens séparée qui accepte un GLB humanoïde. Les extraits ci-dessous sont exécutables avec votre clé API et une URL d’image publique. Ils ne remplacent pas les vérifications d’import et de retargeting côté Unity.

1. Créer la tâche image

Définissez une clé API et une URL d’image publique, puis envoyez une seule tâche. La réponse est asynchrone : conservez l’identifiant de tâche et ne créez pas de seconde tâche pendant le traitement de la première.

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. Interroger la tâche et télécharger le GLB

Interrogez le même identifiant jusqu’à `succeeded`, `failed` ou `canceled`. Lorsque `status` vaut `succeeded`, téléchargez l’URL de `.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. Demander un rig humanoïde séparé

Hébergez `character.glb` à une URL accessible par l’API, puis envoyez la seconde tâche. Choisissez `mixamo` si c’est la convention de noms que vous souhaitez examiner en premier. Interrogez `https://api.to3d.app/api/skin_tokens/tasks/$RIG_ID` et téléchargez `output.model_file` après réussite.

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. Vérifier le fichier dans Unity

Importez le GLB téléchargé avec le package ou l’importeur Unity utilisé par votre projet. Vérifiez l’échelle du modèle, les matériaux, le mappage du squelette, la bind pose et les clips d’animation. Si Unity signale des os non mappés ou un avatar impossible à configurer, ajustez le rig ou le mappage dans le projet et testez une pose simple. Le libellé `mixamo` de l’API est une option de nommage ; ce n’est pas une certification TO3D du retargeting Unity Humanoid.

  • Conservez séparément le GLB généré, le GLB riggé et le résultat de l’import Unity pendant la validation de votre personnage.

Garder la preuve des samples dans son périmètre

L’inspection des samples du #56 a trouvé des articulations de squelette, des poids de skinning, des UV et un PNG intégré dans chacun des quatre GLB publics. Cela décrit le contenu de ces fichiers. Cela ne prouve pas que toute nouvelle entrée se déformera correctement, contiendra des formes faciales ou s’importera sans nettoyage.

  • Les quatre samples ne démontrent ni formes faciales, ni visèmes, ni export VRM, ni retargeting automatique dans Unity.
Workflow de personnage Unity : générer un GLB puis vérifier le rig | TO3D