1. Gere o GLB
Envie uma tarefa de imagem com uma URL pública de imagem. A resposta é assíncrona, então guarde o ID de tarefa retornado.
export TO3D_KEY='YOUR_API_KEY'
export TO3D_IMAGE_URL='https://example.com/prop-or-character.jpg'
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")Consulte e salve o GLB
Consulte até a tarefa ter sucesso e salve a URL de `output.model_file`. Não descreva a consulta como uma segunda solicitação de geração.
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 unreal-candidate.glb2. Peça nomes de ossos UE5 quando precisar de um rig humanoide
Envie ou hospede o GLB baixado em uma URL pública e faça a solicitação independente do Skin Tokens. Consulte `/api/skin_tokens/tasks/$RIG_ID` e baixe o `output.model_file` retornado após o sucesso. Não descreva as duas chamadas como uma única conversão automática.
export TO3D_MODEL_URL='https://example.com/unreal-candidate.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:"ue5"}}')")
RIG_ID=$(jq -er '.id' <<<"$RIG_JSON")
printf 'Rig task: %s\n' "$RIG_ID"3. Verifique o lado do Unreal
Importe o GLB com o importador e os plugins usados pelo seu projeto. Verifique unidades e orientação do asset, referências de materiais e texturas, hierarquia do esqueleto, bind pose e comportamento de animação ou retargeting.
- O valor `ue5` é uma opção de nomes de ossos da API.
- #56 não executou um teste de aceitação de importação ou retargeting no Unreal; portanto, este tutorial não pode prometer um esqueleto Unreal pronto, configuração de colisão, LODs ou animação de gameplay.
Use as amostras como referências de estrutura
As quatro amostras públicas inspecionadas para o #56 continham uma skin, juntas, pesos, UVs e uma textura PNG incorporada. Use-as para entender o formato do arquivo que você pode receber; trate cada nova geração como uma revisão de asset independente.
- Se o objetivo for um prop estático, ignore a solicitação de rig e valide escala e materiais.