Che cosa è successo alle trame generate proceduralmente? [chiuso]


23

Ricordo qualche tempo fa che le trame generate proceduralmente stavano diventando un grosso problema a cui molte persone / aziende erano davvero interessate con alcuni vantaggi seri (distribuzioni più piccole, caricamento potenzialmente più veloce, qualità più elevata, trame scalabili, potenzialmente più economiche da produrre, ecc. ).

Da quello che posso dire, il ronzio è morto e nessun gioco sul mio radar li sta usando. Quello che è successo?

Speravo di vedere le trame procedurali andare come hanno fatto le cose di NaturalMotion (adozione lenta ma costante).

Risposte:


14

Gli strumenti per la creazione di contenuti per il texturing procedurale sono stati il ​​blocco più grande. L'artista sta realizzando molto rapidamente le cose in Photoshop e i potenziali guadagni con la trama procedurale non hanno superato il tempo di creazione di contenuti.

Allegorithmic ( http://www.allegorithmic.com/ ) ha alcuni strumenti interessanti che hanno sviluppato per cercare di rendere le opzioni procedurali più facili da usare. Non ho mai giocato con loro abbastanza per commentare davvero la loro usabilità.


1
Allegorithmic era la compagnia di cui avevo sentito parlare per la prima volta quando la bomba scoppiò e la loro lista di clienti ha alcuni grandi giocatori ma, considerando che sono in attività da molto tempo, è ancora piuttosto piccola.
Steven Evers,

1
I prodotti della sostanza Allegorithmic sembrano davvero VERAMENTE buoni .. Se dai un'occhiata ai video che trovi qui: allegorithmic.com/?PAGE=PRODUCTS.designer
Nailer

4

La perdita del controllo artistico e l'aumento delle dimensioni delle opzioni di archiviazione lo hanno reso una vendita difficile. Ciò, in più, dovresti riqualificare gli artisti, mentre li assumevi per quello che erano bravi a trame tradizionali. A meno che le dimensioni o la trama unica non siano davvero un problema, c'è un piccolo desiderio generale di seguire la procedura.


3

Fondamentalmente, i grandi cannoni non lo supportano, quindi non viene usato molto. Ci sono state cose interessanti (anche se un po 'vecchie), come .kkrieger, ma il tempo di caricamento su di esso (nel corso della giornata) è stato sostanzialmente lento, poiché ha dovuto generare tutte le trame al momento del caricamento.

Potremmo vedere qualcosa nei motori di prossima generazione (Unreal 4 ecc.) Ma non credo che il guadagno rispetto allo sviluppo sia abbastanza grande.

Ci sono esempi là fuori nel mondo AAA, ad esempio Spore ha generato proceduralmente trame e animazioni per le creature che hai creato.


3

La trama procedurale soffre del problema che un direttore artistico non può puntare in modo affidabile sul lavoro di un artista e dire "per favore, rendi quella parte un po 'più X." perché il sistema di shading procedurale potrebbe non supportare X in modo economico o per niente.

Ad esempio, uno shader di mattoni può supportare mattoni marroni puliti, ma potrebbe non supportare mattoni dipinti con una pubblicità 80 anni fa e graffiti 10 anni fa. Oppure potrebbe non supportare avere un mattone viola su 1.000 mattoni marroni. In quello stesso punto, perché quel punto fa appello al gusto dell'Art Director.

Una trama reale può ovviamente supportare tutte queste cose, e in questo senso una trama reale è superiore a una trama procedurale.

La trama procedurale esercita un controllo artistico in virtù della sua preferenza per alcuni casi d'uso rispetto ad altri. Una vera trama esercita poco tale controllo.

L'hardware della GPU, tuttavia, ha una forte preferenza per il proceduralismo, poiché la memoria delle trame è a così tanti cicli di distanza dalle unità ALU che eseguono l'ombreggiatura.


Lo trovo difficile da deglutire. Non è una limitazione delle trame procedurali che un mattone non può avere un colore diverso rispetto al resto, è una limitazione della tecnologia di implementazione. Certo, potrei essere d'accordo sul fatto che ad un certo punto diventare troppo specifici supererebbe i benefici di fare le cose proceduralmente, ma questo è oltre al punto.
Kevin Peno,

Un mattone avrebbe potuto essere un cattivo esempio, ma i suoi altri esempi sono validi. È molto complesso e richiede molto tempo definire un nuovo algoritmo per un leggero cambiamento nel "sentire" per una trama, ma è molto economico e facile per un artista apportare il cambiamento. Tieni presente che gli ingegneri in genere vengono pagati waaaaaaay più degli artisti, quindi il tempo dedicato agli ingegneri a fare ciò che un artista può fare più velocemente è semplicemente sciocco.
Sean Middleditch,

@SeanMiddleditch, gli ingegneri possono essere pagati più degli artisti, ma la differenza è che, una volta che un ingegnere ha scritto il codice, può essere riutilizzato per sempre, senza ulteriori spese. Quindi, anche se potrebbe essere necessario del tempo per sviluppare un generatore procedurale che può essere modificato, fino al livello del singolo mattone - una volta fatto, sarebbe libero di usarlo. Se un'azienda paga artisti per i singoli cambiamenti, dovrà continuare a farlo per ogni nuovo requisito di cambiamento che si presenta, a differenza di una soluzione automatizzata.
Ciclope,

2
@Cyclops: buona fortuna con quella magica super procedura che ti permette di fare i dettagli intenzionali esigenti che un artista può fare. Non vedo l'ora di leggere il tuo rivoluzionario documento di ricerca quando verrà rilasciato e alla fine concedere in licenza la tua über tech obsoleta come artista. :)
Sean Middleditch il

1

beh, sembra comunque un'ottima idea soprattutto per i giochi. Dal momento che potresti proceduralmente generare trame al volo in modo che il mondo attorno al giocatore sembrerebbe più naturale. Non sono necessari big data. Può essere sicuramente utilizzato per aumentare anche la risoluzione


0

Hai il tipico compromesso della memoria temporale . Bene, piaccia o no, la generazione procedurale scambia il tempo della CPU per la conservazione della memoria. In realtà, man mano che lo spazio di archiviazione diventa più economico e le persone desiderano sempre tempi di caricamento più brevi, la tendenza è quella di fare il contrario: le risorse pregenerate o fotografate consumano memoria in cambio di velocità.

Un jpg si carica più velocemente di una versione generata proceduralmente? Molto probabilmente . Se il jpg è di 2 MB e lo carichi una volta, perché dovresti preoccuparti delle procedure? In fase di esecuzione, la trama richiede comunque la stessa quantità di RAM (non compressa e caricata nella memoria GPU)


È improbabile che JPEG si carichi più velocemente della maggior parte degli algoritmi di texture procedurali. I tempi di accesso al disco superano di gran lunga il tempo di elaborazione CPU / GPU e poiché nessuno nella loro mente corretta utilizza JPEG per le trame e utilizza trame più grandi ma ottimizzate per la GPU con livelli precompilati di mipmap, il tempo di caricamento del disco è ancora peggio per le trame reali. Ci sono ragioni per cui le trame procedurali fanno schifo (menzionate in altre risposte), ma il tempo di caricamento non è generalmente uno di questi. Sono sicuro che esistono eccezioni per algoritmi particolarmente complicati o inefficienti, ovviamente.
Sean Middleditch,

Sì, come .dds. Ho appena usato JPG come esempio. Il mio punto è che la generazione procedurale di acciottolato dall'aspetto accattivante, o acqua o alberi in una foresta usando i sistemi L o qualsiasi cosa impiega più eoni (ma si adatta a 96k!) Rispetto al semplice caricamento di contenuto su disco, quindi nessuno vorrà farlo percorso, semplicemente per ridurre i tempi di caricamento.
bobobobo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.