UStackUStack
Nova3D icon

Nova3D

Nova3D è un client open-source che genera asset 3D modificabili e “part-aware” da prompt testuali o immagini di riferimento tramite pipeline Blender Python.

Nova3D

Cos'è Nova3D?

Nova3D è un client open-source per nova3d.xyz che genera asset 3D come procedure di costruzione eseguibili anziché una singola mesh unita. Produce script Python nativi di Blender e restituisce un GLB strutturato in cui le parti sono nominate e separatamente indirizzabili.

Lo scopo principale di questo client è connettersi alla pipeline Nova3D ospitata (di default) per generare output 3D modificabili e “part-aware” da prompt testuali o immagini di riferimento.

Caratteristiche Principali

  • Output 3D modificabili e “part-aware”: La pipeline produce un GLB strutturato con parti nominate e separatamente indirizzabili, progettato per modifiche mirate (es. cambiare una parte senza rigenerare tutto).
  • Generazione script-native (prompt-to-code / image-to-code): Invece di uno stile diffusion “image-to-3D” che produce una singola mesh unita, Nova3D genera script Python Blender che rappresentano la procedura di costruzione.
  • Utilizza il scene graph di Blender come rappresentazione nativa: Il client allinea il suo modello di output con il scene graph di Blender, che supporta una gerarchia logica e flussi di lavoro di editing a livello di scena.
  • Workflow client agnostico per modelli/LLM: L'harness di generazione può passare tra backend LLM tramite impostazioni (es. Claude 3.5, GPT-4o o Gemini 1.5 Pro), con validazione/esecuzione gestita dalla pipeline.
  • Editor viewport web integrato: Include un editor Three.js integrato con strumenti di trasformazione, snapping e editing dei materiali.
  • Guida con immagini di riferimento: Permette di allegare una foto per guidare la logica spaziale dello script generato.
  • Caching locale nel browser: I modelli sono memorizzati nella cache del browser per visualizzare la cronologia anche dopo la scadenza degli URL remoti.

Come Usare Nova3D

  1. Esegui il client localmente: Clona il repository, installa le dipendenze (flutter pub get) e avvia l'interfaccia web locale.
    • Le note di avvio rapido indicano che la porta 5555 è richiesta per l'autorizzazione redirect OAuth.
  2. Accedi: Apri l'URL locale, quindi accedi con Google o Email.
  3. Aggiungi una chiave API nelle impostazioni: Il client supporta l'aggiunta di chiavi API per OpenAI, Anthropic o Gemini.
  4. Fornisci input e genera: Inserisci un prompt (e opzionalmente allega un'immagine di riferimento) e avvia il flusso di generazione.
  5. Modifica e rivedi i risultati: Usa l'editor viewport integrato per trasformazioni/snapping/editing materiali, e affidati alla cache locale per rivedere generazioni precedenti.

Per distribuire una build di produzione per hosting statico, il repository include un comando per buildare l'app web Flutter (flutter build web --release).

Casi d'Uso

  • Generazione asset modificabili per workflow che richiedono gerarchia: Genera modelli 3D in cui le parti sono nominate e gerarchizzate per regolare componenti individuali senza rigenerare l'intero risultato.
  • Ideazione 3D guidata da prompt o foto: Usa prompt testuali o allega immagini di riferimento per influenzare la logica spaziale degli script di costruzione generati.
  • Iterazione materiali con workflow di mapping PBR-oriented: Lavora con output progettati per supportare il mapping materiali anziché affidarsi a colori vertex cotti.
  • Revisione e regolazione rapida nel browser: Usa l'editor viewport Three.js integrato (strumenti di trasformazione, snapping e editing materiali) senza lasciare il client.
  • Navigazione locale di generazioni precedenti: Sfrutta la cache nel browser per mantenere la cronologia di visualizzazione anche quando gli URL remoti scadono.

FAQ

  • Nova3D produce una singola mesh unita? No. La pipeline produce un GLB strutturato con parti separatamente indirizzabili, generato da script Python nativi di Blender.

  • Posso usare diversi provider LLM? Sì. Il client è descritto come agnostico per i modelli, con impostazioni che permettono di passare tra backend come Claude 3.5, GPT-4o o Gemini 1.5 Pro.

  • Quale setup locale è necessario per l'accesso? Le note di avvio rapido indicano che la porta 5555 è richiesta per l'autorizzazione redirect OAuth, e avvertono specificamente che usare localhost:5555 può causare il fallimento di Google Sign-In a causa delle policy di origine OAuth.

  • Dove invia il client le richieste di generazione di default? Di default, comunica con l'API ospitata di nova3d.xyz. Un backend personalizzato può essere mirato impostando API_BASE_URL tramite --dart-define.

  • C'è un modo per influenzare la generazione con un'immagine? Sì. Il client supporta immagini di riferimento per allegare una foto e guidare la logica spaziale dello script generato.

Alternative

  • Strumenti di diffusione image-to-3D che generano una singola mesh unificata: Tendono a concentrarsi sulla produzione di un unico risultato geometrico consolidato, diverso dagli output modificabili e part-aware di Nova3D.
  • Sistemi OpenSCAD/CSG orientati al solid modeling: Gli approcci di questa categoria possono privilegiare solidi manifold, ma potrebbero sacrificare la flessibilità delle forme organiche e la modificabilità dettagliata della gerarchia/materiali.
  • Strumenti prompt-to-CAD o CAD procedurali: Se il tuo obiettivo principale è la costruzione procedurale modificabile, cerca tool che supportino flussi di lavoro script-like o parametrici anziché output mesh puramente generativi.
  • Strumenti standalone di modellazione/editing 3D abbinati a risultati procedurali importabili: Per flussi di lavoro in cui usi già Blender o altri tool DCC, puoi trattare Nova3D come fase di generazione e poi raffinare gli output in un ambiente di modellazione—anche se la differenza chiave è la generazione di script nativi Blender e struttura GLB part-aware di Nova3D.