1. GLB erzeugen
Sende eine Bildaufgabe mit einer öffentlichen Bild-URL. Die Antwort ist asynchron, also bewahre die zurückgegebene Aufgaben-ID auf.
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")GLB abfragen und speichern
Frage ab, bis die Aufgabe erfolgreich ist, und speichere die URL aus `output.model_file`. Beschreibe die Abfrage nicht als zweite Generierungsanfrage.
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. UE5-Knochennamen anfordern, wenn du ein Humanoid-Rig brauchst
Lade das heruntergeladene GLB unter eine öffentliche URL oder stelle es dort bereit und sende die unabhängige Skin-Tokens-Anfrage. Frage `/api/skin_tokens/tasks/$RIG_ID` ab und lade `output.model_file` nach Erfolg herunter. Beschreibe die beiden Aufrufe nicht als eine automatische Konvertierung.
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. Die Unreal-Seite prüfen
Importiere das GLB mit dem Importer und den Plugins deines Projekts. Prüfe Einheiten und Ausrichtung des Assets, Material- und Texturverweise, Skelett-Hierarchie, Bind Pose sowie Animations- oder Retargeting-Verhalten.
- Der Wert `ue5` ist eine API-Option für Knochennamen.
- #56 hat keinen Unreal-Import und keinen Retargeting-Abnahmetest durchgeführt. Dieses Tutorial kann daher kein fertiges Unreal-Skelett, keine Kollisionskonfiguration, keine LODs und keine Gameplay-Animation versprechen.
Samples als Strukturreferenz verwenden
Die vier für #56 geprüften öffentlichen Samples enthielten jeweils eine Skin, Gelenke, Gewichte, UVs und eine eingebettete PNG-Textur. Nutze sie, um die mögliche Dateistruktur zu verstehen, und prüfe jede neue Generierung als eigenes Asset.
- Wenn das Ziel ein statisches Prop ist, überspringe die Rigging-Anfrage und validiere stattdessen Maßstab und Materialien.