Quale tecnologia utilizza Starcraft 2 per il rendering delle sue mappe?


9

Ho una mappa che viene generata proceduralmente in fase di esecuzione e attualmente sto studiando i metodi per renderla. Mi sono interessato all'aspetto di Starcraft 2 e vorrei alcuni consigli su quali metodi impiega per raggiungerlo. In secondo luogo, mi piacerebbe vedere eventuali tutorial, articoli o anche esempi di codice sorgente, se possibile.

Ci sono un paio di cose principali su cui vorrei ricevere qualche consiglio, ma per favore sentiti libero di suggerire qualsiasi altra cosa che possa aiutarmi.

  1. Set di tessere scattabili: una tipica mappa stellare sembra consistere in un set di tessere di modelli che si possono agganciare per creare scogliere, rampe e altri terreni elevati. Quali metodi usano per renderli così naturali? Quello che voglio dire è che è molto difficile individuare la ripetizione.

  2. Trame del terreno - Le trame del terreno sono così varie e persino dinamiche (scorrimento di Zerg). Quali metodi vengono utilizzati per fare questo?

Grazie.


Per quanto riguarda il n. 2, ricerca "texture splatting".
George Duckett,

Risposte:


23

Penso che in parte possa essere che Blizzard abbia un numero incredibile di artisti della trama. Ma riformuliamo un po 'la domanda:

Ho un budget limitato e voglio fare un gioco di strategia in tempo reale senza ovviamente affiancare le trame. Come posso farlo?

Buona domanda! Ecco alcuni grandi strumenti che vorrei usare:

1) Un set ragionevolmente ampio di piastrelle intercambiabili . Supponi di avere una dimensione di trama 64x64 sulla tua griglia: crea otto trame 64x64, ognuna delle quali può tessere con qualsiasi altra, e hai un bel gioco basato su tessere con molte varianti!

2) Decalcomanie o megatexturing . Prendi la tua trama ripetuta e un numero limitato di trame sovrapposte "sporcizia" o "sporcizia" o "sfregatura". Splatter alcune di quelle sovrapposizioni sulle trame. Questi possono essere renderizzati in tempo reale, nel qual caso sono decalcomanie o trasformati in una trama gigantesca, nel qual caso si chiama megatexturing. In entrambi i casi, probabilmente puoi farlo in modo semi-casuale e otterrai molte variazioni con solo alcune sovrapposizioni applicate.

3) Piastrelle Cicada . Dai un'occhiata a questo per maggiori dettagli su come funziona. In sintesi, è un modo per prendere un piccolo numero di sfondi ovviamente piastrellabili parzialmente trasparenti e usarlo per generare uno sfondo molto meno evidentemente piastrellante.

4) Texture splatting . L'ho salvato per ultimo perché non si tratta davvero di evitare la piastrellatura su una singola trama, ma di combinare più trame senza soluzione di continuità. Tuttavia, se riesci a ottenere alcune trame extra nel tuo budget, questo può essere uno strumento critico - in effetti, direi che se non lo usi, probabilmente stai facendo qualcosa di sbagliato. Questo non aiuterà con le grandi sezioni ovviamente piastrellate di un singolo tipo di trama, ma questo è ciò che userete per rendere le vostre varie trame un aspetto uno accanto all'altro.


Per gli interessati Starcraft 1 utilizza il numero 1 in questo elenco e Starcraft 2 utilizza il numero 4. In entrambi i casi questo è per il terreno di base. Per quanto riguarda gli "scarabocchi" in SC1, erano n. 2 (decalcomanie, non mega miscele) e in SC2 erano tutti modelli 3D. - A parte ciò, ciò che rende le mappe SC2 così belle è che la maggior parte delle posizioni presenta due trame divise l'una sull'altra a vari gradi in un motivo che finisce per assomigliare di più alle tessere Cicada. (di cui non sapevo fino ad ora e ho intenzione di usarlo.)
DampeS8N,

@ DampeS8N: attualmente SC1 non fa il numero 1 di per sé. Invece, ciò che hanno sono una piccola tavolozza di tessere che si affiancano tra loro, così come alcune tessere che si affiancano solo a certe altre tessere. L'editor delle mappe ha una tabella di quali tessere con cosa, quindi quando posizionate tessere che non tessono con ciò che le sta vicino, passa attraverso le sue tabelle e sostituisce quelle tessere con ciò che fa tessera con ciò che avete posizionato. Ricorsivamente.
Nicol Bolas,

@NicolBolas Tecnicamente vero, ma la filosofia alla base è quella delle piastrelle intercambiabili messe insieme. Allo stesso modo, io e i miei amici abbiamo visto quanti lanci di riquadri potremmo causare nell'editor SC1 come reazione a catena.
DampeS8N,
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.