Generazione di risorse 2D Intelligenza Artificiale per lo sviluppo di giochi #4

'Generazione risorse 2D IA sviluppo giochi #4'

Benvenuti ad AI for Game Development! In questa serie, utilizzeremo strumenti di intelligenza artificiale per creare un gioco di simulazione agricola completamente funzionante in soli 5 giorni. Alla fine di questa serie, avrete imparato come incorporare una varietà di strumenti di intelligenza artificiale nel vostro flusso di lavoro di sviluppo del gioco. Vi mostrerò come utilizzare gli strumenti di intelligenza artificiale per:

  1. Stile artistico
  2. Design del gioco
  3. Elementi 3D
  4. Elementi 2D
  5. Storia

Volete la versione video rapida? Potete guardarla qui. Altrimenti, se volete i dettagli tecnici, continuate a leggere!

Nota: Questo tutorial è destinato ai lettori che sono familiari con lo sviluppo in Unity e C#. Se siete nuovi a queste tecnologie, date un’occhiata alla serie Unity for Beginners prima di continuare.

Giorno 4: Elementi 2D

Nella Parte 3 di questa serie di tutorial, abbiamo discusso di come il testo-3D non sia ancora pronto. Tuttavia, la situazione è molto diversa per i 2D.

In questa parte, parleremo di come potete utilizzare l’intelligenza artificiale per generare elementi 2D.

Prefazione

Questo tutorial descrive un processo collaborativo per la generazione di elementi 2D, in cui Stable Diffusion viene incorporato come strumento in un flusso di lavoro 2D convenzionale. È destinato a lettori con una certa conoscenza di editing di immagini e creazione di elementi 2D, ma può essere utile anche per principianti ed esperti.

Requisiti:

  • Il vostro software di editing delle immagini preferito, come Photoshop o GIMP (gratuito).
  • Stable Diffusion. Per istruzioni su come configurare Stable Diffusion, consultate la Parte 1.

Image2Image

I modelli di diffusione come Stable Diffusion funzionano ricostruendo immagini da rumore, guidati dal testo. Image2Image utilizza lo stesso processo, ma parte da immagini reali come input anziché dal rumore. Ciò significa che le uscite, in qualche misura, assomiglieranno all’immagine di input.

Un parametro importante in Image2Image è la forza di denoising. Questo controlla fino a che punto il modello cambia l’input. Una forza di denoising di 0 riprodurrà esattamente l’immagine di input, mentre una forza di denoising di 1 genererà un’immagine molto diversa. Un altro modo per pensare alla forza di denoising è la creatività. L’immagine qui sotto illustra l’immagine-su-immagine con un’immagine di input di un cerchio e l’istruzione “moon”, a diverse forze di denoising.

Image2Image consente di utilizzare Stable Diffusion come strumento, anziché come sostituto del flusso di lavoro artistico convenzionale. Ciò significa che potete passare i vostri elementi fatti a mano a Image2Image, iterare nuovamente il risultato a mano e così via. Prendiamo ad esempio il gioco di simulazione agricola.

Esempio: Mais

In questa sezione, vi illustrerò come ho generato un’icona di mais per il gioco di simulazione agricola. Come punto di partenza, ho fatto uno schizzo molto approssimativo di un’icona di mais, che aveva lo scopo di impostare la composizione dell’immagine.

Successivamente, ho utilizzato Image2Image per generare alcune icone utilizzando la seguente istruzione:

mais, james gilleard, atey ghailan, concept artist di Pixar, stardew valley, animal crossing

Ho utilizzato una forza di denoising del 0.8, per incoraggiare il modello a essere più creativo. Dopo aver generato diverse volte, ho trovato un risultato che mi piaceva.

Non è necessario che l’immagine sia perfetta, basta che vada nella direzione desiderata, poiché continueremo a iterare. Nel mio caso, mi è piaciuto lo stile che è stato prodotto, ma ho pensato che il gambo fosse un po’ troppo complesso. Quindi, ho apportato alcune modifiche in photoshop.

Notate che ho dipinto approssimativamente le parti che volevo modificare, permettendo a Stable Diffusion di riempire i dettagli. Ho reinserito la mia immagine modificata in Image2Image, questa volta utilizzando una forza di denoising più bassa del 0.6 poiché non volevo deviare troppo dall’input. Questo ha portato a un’icona con cui ero quasi soddisfatto.

La base del gambo di mais era un po’ troppo pittorica per me e c’era un germoglio che spuntava dalla parte superiore. Quindi, ho dipinto su queste parti in photoshop, ho fatto un ultimo passaggio in Stable Diffusion e ho rimosso lo sfondo.

Voilà, un’icona di mais pronta per il gioco in meno di 10 minuti. Tuttavia, potreste impiegare molto più tempo per ottenere un risultato migliore. Vi consiglio questo video per una guida più dettagliata su come creare un elemento più complesso.

Esempio: Falcetto

In molti casi, potrebbe essere necessario combattere un po’ per ottenere il risultato desiderato. Nel mio caso, questo è stato sicuramente vero per l’icona del falcetto, che ha richiesto molte iterazioni per ottenere la direzione che stavo cercando.

Il problema probabilmente risiede nel fatto che ci sono molte più immagini online di falcetti come armi piuttosto che come attrezzi agricoli. Un modo per aggirare questo problema è l’ingegneria delle richieste, ovvero sperimentare con la richiesta per cercare di spingerla nella giusta direzione, ad esempio scrivendo falcetto, attrezzo per falcetta nella richiesta o arma nella richiesta negativa. Tuttavia, questa non è l’unica soluzione.

Dreambooth, inversione testuale e LoRA sono tecniche per personalizzare i modelli di diffusione, rendendoli capaci di produrre risultati molto più specifici a ciò che si sta cercando. Queste sono al di fuori del campo di questo tutorial, ma vale la pena menzionarle, poiché stanno diventando sempre più importanti nell’ambito della generazione di asset 2D.

Servizi generativi come layer.ai e scenario.gg sono indirizzati specificamente alla generazione di asset per videogiochi, probabilmente utilizzando tecniche come dreambooth e inversione testuale per consentire agli sviluppatori di giochi di generare asset coerenti nello stile. Tuttavia, è ancora da vedere quali approcci si affermeranno nella nascente cassetta degli attrezzi per lo sviluppo generativo di giochi.

Se sei interessato ad approfondire questi flussi di lavoro avanzati, dai un’occhiata a questo post del blog e allo spazio di formazione di Dreambooth.

Clicca qui per leggere la Parte 5, in cui utilizziamo l’IA per la Storia.