Scenario für Unity: Agentenhandbuch
Der Unity-Editor stellt diesen MCP-Server bereit, während der Benutzer Agents can use Scenario and this project im Scenario-Fenster aktiviert hat. Jedes Werkzeug läuft innerhalb des Editors: generierte Dateien landen im Assets/-Ordner des Projekts, Szenenbearbeitungen sind Undo-Schritte, und kostenpflichtige Aufrufe durchlaufen dieselben Preischecks und Genehmigungsregeln wie das Fenster.
Start
scenario_status: Konto, das abgerechnete Scenario-Projekt, ob Ausgaben aktiviert sind, Ihr Limit pro Aufruf und das verbleibende Sitzungsbudget, Render-Pipeline, 2D oder 3D, die aktive Szene. Wenn „Abgemeldet“ angezeigt wird, bitten Sie den Benutzer, sich über das Scenario-Fenster anzumelden; bis dahin funktioniert nichts anderes.scene_info: Hierarchie-Pfade, Komponenten, Auswahl. Verwenden Sie diese Pfade überall alstargetundpath.
Geld
Kosten werden in Creative Units (CU) angegeben.
estimateist kostenlos und gibt den genauen Preis einer Anfrage zurück. Rufen Sie es vorgenerateoderworkflow_runauf, wenn dem Benutzer die Kosten wichtig sind oder die Anfrage umfangreich ist (Video, 3D, viele Bilder).generate,workflow_runundprompt_sparksind kostenpflichtig. Übergeben Siemax_cu, wenn der Benutzer ein Budget angegeben hat: darüber hinaus wird nichts gesendet.- Über dem Limit pro Aufruf oder dem Sitzungsbudget wartet der Aufruf bis zu zwei Minuten auf die Genehmigung des Benutzers in Unity. Teilen Sie dem Benutzer mit, dass Sie warten. „Nicht genehmigt“ bedeutet, dass nichts gesendet wurde; wiederholen Sie den Vorgang nicht, es sei denn, der Benutzer fordert es an.
- Unbekannter Ausgang. Wenn ein kostenpflichtiger Aufruf „Das Ergebnis ist unbekannt“ zurückgibt, wurde die Anfrage möglicherweise ausgeführt und abgerechnet. Rufen Sie sie niemals erneut für dieselbe Anfrage auf. Rufen Sie eine Minute später
jobsmit ihrerlocal_idauf. - Wenn die Ausgaben deaktiviert sind (Einstellungen oder
SCENARIO_NO_SPEND=1), lehnen kostenpflichtige Werkzeuge die Anfrage ab, bevor sie gesendet wird. Preisgestaltung, Browsen, Importe, Uploads und Szenenwerkzeuge funktionieren weiterhin. upload_reference,import_asset,models_find,motions_find,model_schemaundestimatesind kostenlos.
Ein Modell auswählen
models_findmitoutput_type(image, video, model3d, motion, audio, material, skybox) listet den Katalog auf, einschließlich der eigenen trainierten Modelle des Teams.models_findmitrecommend_for_promptgibt Scenarios bewertete Auswahlen für einen Prompt zurück, mit Kosten- und Geschwindigkeitshinweisen. Bevorzugen Sie dies, wenn der Benutzer kein Modell genannt hat.model_schemagibt die Eingaben aus: Namen, Optionen, Bereiche, Standardwerte, welche Eingaben Dateien sind. Senden Sie nur Parameter, die das Schema auflistet; unbekannte Namen werden vor der Preisberechnung abgelehnt.
Generieren und platzieren
generate berechnet die Anfrage, sendet sie einmal, wartet, importiert die Dateien und platziert das Ergebnis:
| output_type | Ohne target | Mit target |
|---|---|---|
| image | Textur (Sprite in einem 2D-Projekt) auf einem neuen Quad oder Sprite | Setzt sie auf dem zugehörigen SpriteRenderer, Image, RawImage oder Renderer |
| material | Material für die aktive Pipeline mit seinen Maps auf einer neuen Kugel | Setzt es auf den Renderern des Ziels und seiner Kinder |
| skybox | Skybox/Panoramic-Material, das als Szenen-Himmel festgelegt wird | gleich |
| model3d | GLB als Prefab importiert, Instanz am Szenenansichts-Pivot | Instanz neben dem Ziel platziert |
| motion | Animiertes GLB mit einem Animator-Controller (ein Zustand pro Clip), Instanz am Pivot; es spielt im Play-Modus | Instanz neben dem Ziel platziert |
| audio | AudioClip auf einer neuen AudioSource | Auf der AudioSource des Ziels (hinzugefügt, falls nicht vorhanden) |
| video | VideoClip auf einem neuen Bildschirm-Quad | Auf dem VideoPlayer des Ziels (hinzugefügt, falls nicht vorhanden) |
Das Ergebnis enthält files (Unity-Asset-Pfade), placed (Hierarchie-Pfade), asset_ids (Scenario-IDs, wiederverwendbar als Eingaben), job_id, quoted_cu und charged_cu. place: false importiert, ohne die Szene zu berühren. Kein Aufruf blockiert länger als 45 s: 3D, Video und langes Audio antworten normalerweise mit next (noch in Bearbeitung). Der Job läuft weiter, importiert und platziert sich selbst; rufen Sie jobs mit local_id und wait_seconds auf, bis er abgeschlossen ist, und generieren Sie ihn niemals erneut. Für einen Batch senden Sie jede Anfrage mit wait: false und folgen Sie ihnen mit jobs.
Dateieingaben (Referenzbilder, ein Startbild, ein 3D-Modell, Audio) akzeptieren eine Scenario-Asset-ID oder einen Unity-Asset-Pfad; Unity-Dateien werden einmal kostenlos hochgeladen.
3D-Ergebnisse, was zu erwarten ist:
- Ein Modell pro Ergebnis: die OBJ-, MTL- und PBR-Map-Kopien, die einige Modelle hinzufügen, werden übersprungen. FBX-, Blender- und VOX-Ergebnisse treffen als GLB ein.
- Ein Rig, das Geh- und Laufdateien zurückgibt (Meshy Rigging, Tripo mit
includeRiggedModel), ist ein Modell, dessen Controller jeden Clip enthält. Rigs, die in Zentimetern geschrieben sind, werden mit 1 % Maßstab platziert. - Gaußsche Splats (TripoSplat, HY World, Marble) werden als
.plyoder.spzgespeichert und nicht platziert: Teilen Sie dem Benutzer mit, dass Unity ein Gaußsches Splat-Renderer-Paket benötigt. - Meshy 7.1 standardmäßig ein Remesh mit 30.000 Dreiecken zum gleichen Preis; senden Sie
shouldRemesh: falsefür das vollständige Netz (etwa eine Million Dreiecke).
Schritte verketten
Führen Sie ein Ergebnis über seinen Dateieingang in das nächste Modell ein:
- Bild zu 3D:
generateein Bild, dann ein model3d-Modell (z. B. Meshy 7.1 Image to 3D) mit der Asset-ID des Bildes. - Bild zu Material oder Himmelshintergrund: PATINA Image to Maps, HY World Image to Skybox.
- Bild zu Video: ein img2video-Modell mit dem Bild als Startframe.
- Bereinigen: Hintergrundentfernung, Hochskalierung, Vektorisierung, Pixelung.
- 3D-Textur: Neutexturierung (Meshy 7 Retexture, Tripo 3.0 Texturing, Tencent Texture Edit, Trellis 2, YVO3D), UV-Entwicklung (Tripo Smart UV, Meshy, Tencent).
- 3D-Form: Bearbeiten mit einem Prompt (Claude Opus 5.5 3D, Astra 3D; nur Prompt, kein Referenzbild), Retopologie (Tripo Retopology v3, Hunyuan Polygen), Remesh auf eine Dreiecksanzahl (Meshy Remesh), Verfeinerung aus einem Bild (UltraShape).
- Rig und Animation: eine Figur riggen (Uthana, Meshy, Cartwheel, Tripo), eine Kreatur riggen (Tripo Rigging 2.5,
rigType), eine Bibliotheksbewegung (Meshy Animation:actionId, z. B. 30 Casual Walk, 106 Confident Walk, 4 Attack, 22 FunnyDancing 01;motions_finddurchsucht alle 656 nach Name oder Kategorie), eine Bewegung aus einem Prompt (Cartwheel, Uthana) oder aus einem Video (Cartwheel, Uthana). - Teile und Stil: in Teile teilen (Tripo Segmentation v2, Hunyuan 3D Part, Hitem3D Split, Rodin Bang), stilisieren (Tripo Stylization: LEGO, Voxel, Voronoi; Hitem3D Multicolor).
- Eingaben, die Scenario benötigt, obwohl das Schema sie als optional angibt: Cartwheel-Bewegungen benötigen
characterModel(ein 3D-Modell) odercharacterFile(ein Bild, viel teurer); YVO3D benötigtreferenceImage, es sei denn,retextureist falsch. Das Werkzeug gibt dies vor der Preisberechnung an. - Übergeben Sie eine GLB-Asset-ID auch an Modelle, die nur FBX lesen (Tencent Texture Edit): Das Plugin sendet Scenarios kostenlose FBX-Kopie davon.
- Video: hochskalieren, Ton hinzufügen, umstilisieren. Audio: Stimme ändern, Sprachisolierung.
models_find mit einer capability (img23d, img2video, 3d23d, video23d, video2audio, audio2audio) findet Alternativen.
Workflows
workflows_find (scope: team oder featured) gibt IDs, Beschreibungen und Eingaben zurück. workflow_run nimmt inputs nach Namen entgegen, mit denselben Geldregeln wie generate; Ausgaben werden nach ihrer Art importiert.
Szenenwerkzeuge
Ausgeschaltet, wenn der Benutzer Agents can edit the scene deaktiviert hat; die Lese-Werkzeuge (scene_info, object_get, assets_find, console_logs, capture_view) funktionieren weiterhin.
object_create(leer, primitiv oder Prefab),object_set(Name, aktiv, übergeordnet, Transform, Tag, Layer,heightin Metern,ground, um es auf den Boden darunter zu setzen),object_delete.component_add,component_set: serialisierte Pfade (m_Intensity) oder öffentliche Eigenschaften (intensity; Vektoren als[x,y,z], Farben als[r,g,b,a]oder#RRGGBB, Referenzen als Asset- oder Hierarchie-Pfade.object_getmitproperties: truelistet auf, was gesetzt werden kann.material_assign,skybox_set,select,scene_save(eine unbenannte Szene benötigt einen Pfad).assets_findmitlabel: "Scenario"listet jedes generierte Asset im Projekt auf.
Jede Bearbeitung ist ein Undo-Schritt, sodass der Benutzer alles, was Sie getan haben, rückgängig machen kann.
Begehbare Welten
Von einem Prompt zu einer Welt, in der ein Spieler gehen kann:
terrain_create: Boden mit einem Collider. Formen Sie es mit einem Höhenkartenbild, das Sie zuerst generieren (eine Draufsicht-Graustufen-Höhenkarte, Weiß ist hoch), nivellieren Sieflat_areas, wo Gebäude stehen, und bemalen Sielayersmit generierten Materialien (das erste ist die Basis; andere nachmin_heightodermin_slope).edge_fallofferzeugt eine Insel oder ein Plateau.- Generieren Sie die Versatzstücke, dann
object_setmitheight(Metern) undground: true, um jedes zu dimensionieren und auf das Gelände zu setzen. Typische Höhen: eine Person 1,8, eine Tür 2,2, ein Haus 6 bis 9, eine Kiefer 8 bis 14, ein Felsen 0,5 bis 2. scatterwiederholt ein Modell auf dem Boden (on: das Gelände), mit einemheight-Bereich,keep_clear-Zonen um Pfade und Gebäude und Collidern.- Ein Charakter: generieren, riggen, Leerlauf-, Geh-, Lauf- und Sprunganimationen (
motions_findfür Bibliotheks-IDs), dannmake_playablemit diesen Ergebnissen. Es baut den Controller, dimensioniert den Charakter, passt die Geschwindigkeiten an die Clips an und richtet die Folgekamera ein. playmitaction: "walk"und Wegpunkten (run,jump,wait), um einen Probelauf durchzuführen: es meldet die erreichten Punkte, Stürze (ein Fall von mehr als 4 m zählt) und Sprünge. Ein Spaziergang, der länger als der Aufruf dauert, läuft in Unity weiter: die Antwort sagtrunning, undplaymitaction: "status"undwait_secondsgibt das Ergebnis zurück, wenn es endet.playmitaction: "stop"vor erneuter Bearbeitung; Bearbeitungen, die im Play-Modus vorgenommen wurden, gehen verloren.record: true(oderaction: "record") schreibt PNG-Frames der Hauptkamera mit einer festen Bildrate.scene_save.
Überprüfen Sie Ihre Arbeit
capture_viewrendert die Szenenansicht oder eine Kamera und gibt das Bild zurück. Betrachten Sie es nach dem Platzieren von Ergebnissen oder dem Bearbeiten der Szene. Mitupload: truewird auch eine Scenario-Asset-ID zurückgegeben, sodass ein Screenshot die Referenz für die nächste Generierung sein kann.console_logsmitlevel: "error"nach Importen oder Komponentenänderungen.
Gute Gewohnheiten
- Eine Absicht pro Anfrage. Fragen Sie vor Batches oder vor allem, was über das angegebene Budget des Benutzers hinausgeht.
- Verwenden Sie
asset_idsaus früheren Ergebnissen wieder, anstatt dieselbe Datei erneut hochzuladen. jobslistet kürzliche Anfragen aus diesem Unity-Projekt auf; überprüfen Sie es, bevor Sie nach einem Fehler etwas erneut senden.- Berichten Sie, was Sie mit seinen Unity-Pfaden und den platzierten Objekten erstellt haben.