Bild zu 3D-Modell mit ComfyUI
ComfyUI rekonstruiert ein Mesh aus einem Bild mit einem lokalen Modell (Trellis.2, Pixal3D, Hunyuan3D…). Du modellierst nichts: Du wählst den Workflow aus, führst ihn aus und lieferst die Datei. Es läuft auf der GPU des Benutzers, kostet nichts und dauert zwischen ein paar Minuten und einer Viertelstunde.
Die Mechanik ist bereits in deinen Tools: comfy_workflows listet die Workflows auf, die der Benutzer
gespeichert hat, bereitet einen mit dem angehängten Bild vor und sammelt das Ergebnis ein, und sagt dir
den nächsten Schritt; die ComfyUI-Verbindung validiert, führt aus und wartet. Folge dem, was diese
Tools zurückgeben. Bei dieser Fähigkeit geht es um die Entscheidungen, die sie dir überlassen.
Wenn du weder comfy_workflows noch die Tools der ComfyUI-Verbindung hast, stoppe und sage es:
Der Benutzer installiert die ComfyUI-Verbindung (Tools → Verbindungen), gibt diesem Agenten
comfy_workflows, comfyui_validate_workflow, comfyui_run_workflow und comfyui_job,
und hält ComfyUI geöffnet.
Welcher Workflow
comfy_workflows mit action: "list" zeigt, was der Benutzer gespeichert hat. Wähle je nach Bild:
| Das Bild ist | Verwende einen Workflow für |
|---|---|
| Ein Bild von einem Objekt (ein Foto, ein Render, ein Konzept) | Bild zu 3D-Modell, Einzelbild (ein Multi-View-Workflow, den der Benutzer benennt, funktioniert auch mit einem Bild) |
| Ein Blatt mit mehreren Ansichten desselben Objekts (Vorder-, Seiten-, Rückansicht; eine Charakter-Turnaround) | Multi-View zu 3D-Modell |
| Mehrere separate angehängte Bilder desselben Objekts | Multi-View, wenn der Workflow mehrere Dateien einliest; sonst frage, welches Bild verwendet werden soll |
- Ein Workflow, den der Benutzer benennt, hat Vorrang vor deiner Wahl.
- Wenn zwei gespeicherte Workflows passen und nichts sie unterscheidet, frage; führe nicht beide aus.
- Wenn keiner passt, sage es und nenne, was der Benutzer hat. Biete erst dann eine Vorlage aus der
Online-Galerie von Comfy an (
comfyui_search_templates, falls du sie hast), und teile dem Benutzer vorher mit, dass die Galerie Inhalte aus dem Internet enthält, sodass die App ihn bitten wird, jeden Schritt zu bestätigen, nachdem du sie gelesen hast.
Was vorbereiten
- Übergib das angehängte Bild in
filesmit dem Namen, den die Konversation dafür zeigt. - Ein Objekt pro Durchlauf. Wenn das Bild mehrere Objekte zeigt, frage nach einem, oder sage, dass das Modell die gesamte Szene als ein Stück enthalten wird.
- Ein Bild mit einem einfachen Hintergrund und dem gesamten Objekt im Bildausschnitt liefert das beste Modell. Wenn das Objekt vom Rand abgeschnitten oder hinter etwas versteckt ist, sage es vor dem Ausführen: Der Generator erfindet, was er nicht sehen kann.
Entscheidungen innerhalb eines Workflows
comfy_workflows zitiert die Notizen, die der Autor des Workflows hinterlassen hat. Lies sie: Sie
sagen, was die Schalter des Workflows bewirken.
- Zwei Generatoren hinter einem Schalter (ein Workflow, der eines von zwei Modellen verwenden kann):
Lass es so, wie der Benutzer es gespeichert hat. Ändere es nur, wenn der Benutzer den gewünschten
Generator nennt, mit
comfyui_list_workflow_slotsum den Schalter zu finden undcomfyui_set_workflow_slotum ihn zu setzen, und gib im Bericht an, welcher ausgeführt wurde. - Die benutzergespeicherten Werte bleiben. Führe den Workflow mit den Werten aus, die der Benutzer
gespeichert hat. Ändere nicht
target_face_count, die Auflösung, den Sampler oder irgendetwas anderes eigenmächtig, nicht einmal wenn das Bild einfach aussieht oder der letzte Durchlauf ein schweres Modell ergab: Ein gespeicherter Workflow ist die Entscheidung des Benutzers, und ein Wert, den du "zur Hilfe" reduzierst, erzeugt ein Modell, das er nicht angefordert hat (eine weit unter ihre Details reduzierte Rekonstruktion wird zu einer zerknitterten Form, nicht zu einer leichteren Kopie). Wenn du denkst, dass ein leichteres Modell ihm nützt, sage es im Bericht und biete es an; führe es nicht durch. - Ein leichteres Modell, nur wenn gefragt. Wenn der Benutzer explizit nach einem leichten Modell
fragt, eine Polygonanzahl nennt oder sagt, dass es für ein Spiel, das Web oder ein Telefon ist,
reduziere die Polygonanzahl VOR dem Ausführen in zwei Aufrufen auf der vorbereiteten Datei:
comfyui_list_workflow_slotsund in der Antwort finde den Slot mit dem Namentarget_face_count(er gehört zu einemDecimateMesh-Knoten); kopiere seineaddress.comfyui_set_workflow_slotmitstdout: falseund[{"address": "<diese Adresse>", "value": 50000}]für ein Requisit in einem Spiel (150000 für ein Heldenobjekt, dem die Kamera nahe kommt). Gehe niemals unter 50000, es sei denn, der Benutzer nennt selbst eine niedrigere Zahl. Dann validiere und führe wie gewohnt aus und sage im Bericht, was du gesetzt hast. Wenn der Workflow keinen solchen Slot hat oder dir diese beiden Tools fehlen, führe ihn so aus, wie er ist, und sage klar, dass das Modell schwer für ein Spiel ist und um wie viel.
- Ein Bild reicht für einen Multi-View-Workflow. Ein Workflow, der mehrere Ansichten aus seiner Eingabe ausschneidet, funktioniert auch mit einem einzelnen Foto: Die Ausschnitte, die außerhalb des Bildes liegen, bleiben leer, und das Modell wird aus der einen echten Ansicht aufgebaut. Suche nicht nach einem Blatt mit Ansichten oder versuche, eines zu erstellen; führe es mit dem Bild aus, das der Benutzer gegeben hat.
Wenn es nicht läuft
- Ein Modell oder Knoten fehlt: Nenne die Dateien, die die Validierung meldet, und stoppe. Der Benutzer installiert sie aus ComfyUI (beim Öffnen des Workflows dort werden die Downloads angeboten). Wechsle nicht zu einem anderen Workflow, um das zu umgehen.
- Der Job schlägt fehl:
comfy_workflowsmitaction: "collect"meldet den Knoten und den Grund. Speichermangel ist der häufige: Sage es und biete an, es erneut mit einer niedrigeren Auflösung oder mit dem anderen Generator zu versuchen, falls der Workflow einen hat. Wiederhole es nicht mehr als einmal selbstständig. - Ein Wartezeit-Timeout: Der Job läuft noch. Warte erneut; starte ihn niemals zweimal.
Der Bericht
- Die Datei, die
collectzurückgegeben hat, ihre Größe und ihre Dreiecksanzahl, genau wie angegeben. - Welcher Workflow ausgeführt wurde und was du daran geändert hast.
- Du hast das Modell nicht gesehen: Sage, dass es erzeugt wurde, nicht, wie es aussieht.
- Ein Satz dazu, was zu erwarten ist: Die Seiten, die das Bild nicht zeigt, werden vom Generator erfunden, und das Ergebnis ist ein einzelnes Mesh mit gebackenen Texturen, keine separaten Teile.
- Wenn der Benutzer es bereinigt, weiter reduziert oder für eine Engine exportiert haben möchte,
ist das Arbeit für Blender (die Fähigkeit
blender-game-export).