Come ottimizzare una mappa in Hammer Editor: 10 passaggi (con immagini)

Sommario:

Come ottimizzare una mappa in Hammer Editor: 10 passaggi (con immagini)
Come ottimizzare una mappa in Hammer Editor: 10 passaggi (con immagini)
Anonim

Vuoi accelerare le prestazioni della tua mappa personalizzata, non impantanarti nel rendering singhiozzo e ridurre i tempi di compilazione? Ecco alcuni suggerimenti per aiutarti a ottimizzare qualsiasi mappa in Hammer.

Passi

Ottimizza una mappa in Hammer Editor Passaggio 1
Ottimizza una mappa in Hammer Editor Passaggio 1

Passaggio 1. Isolare le stanze

Questo è un must. Se sono presenti QUALSIASI perdita nella mappa, il compilatore non sarà in grado di determinare i confini della mappa e tenterà di eseguire il rendering di tutto all'interno della mappa tutto in una volta. Peggio ancora, tutti i portali di area, i pennelli di suggerimento e gli occlusori nella mappa non funzioneranno, rendendoli inutili. Inoltre, l'acqua non verrà visualizzata correttamente se ci sono perdite nella mappa.

  • In Fig. 1a, la stanza ovviamente non è sigillata. Se compili questa mappa con quella perdita, vvis (la parte della compilazione che determina i dati di visibilità) non sarà in grado di determinare i confini della mappa, poiché i visleaves semplicemente "fugheranno" nel vuoto nero fuori dalla nostra mappa.
  • In Fig. 1b, la stanza è sigillata e sarà compilata correttamente.
  • Per verificare la presenza di perdite, assicurati prima che ci sia almeno un'entità nella mappa (come un "info_player_start"), altrimenti non funzionerà. Salva e compila il BSP premendo F9 o andando su File -> Esegui mappa. Seleziona "Normale" per Esegui BSPe seleziona "No" per entrambi Esegui VIS e Esegui RAD (assicurati anche di controllare il "Non eseguire il gioco dopo la compilazione" scatola). Una volta completata la compilazione, chiudi il registro di compilazione e vai su Map -> Load Point File. Se ci sono perdite, ti chiederà di confermare l'operazione (es. "Carica file di punti predefinito? [C:\Programmi\----]) Seleziona "Sì", e vedrai una linea rossa sporgente dall'entità* più vicina verso l'esterno attraverso l'area della perdita (*Ecco perché hai bisogno di un'entità, pennello o punto, nella mappa. Non funziona con i pennelli del mondo o dei dettagli.) Sigilla la perdita, ricompila il BSP e carica il pointfile. Se tutto è sigillato, dovrebbe semplicemente andare in una cartella vuota nel Steam\steamapps\GAMERTAG\GAME\mapsrc cartella. Verifica sempre la presenza di perdite prima che la mappa venga resa pubblica.
Ottimizza una mappa in Hammer Editor Passaggio 2
Ottimizza una mappa in Hammer Editor Passaggio 2

Passaggio 2. Crea pennelli con "tools/toolsnodraw"

Assicurati di creare sempre pennelli con il strumenti/toolsnodraw prima texture e poi texture solo ciò che il giocatore può vedere dal punto di vista del giocatore. Se hai intenzione di vedere solo un lato di un muro, applica la trama solo a quel lato visibile.

Ottimizza una mappa in Hammer Editor Passaggio 3
Ottimizza una mappa in Hammer Editor Passaggio 3

Passaggio 3. Ridurre il numero di pennelli e facce

Quando possibile, attieniti alla creazione della geometria con pochi pennelli grandi piuttosto che con mille piccoli. Più pennelli equivalgono a più facce e più facce equivalgono a prestazioni e tempi di compilazione più lenti. In conclusione: se puoi creare geometrie complesse con uno o due pennelli, perché usarne di più?

Nella Fig. 3a, ci sono due pennelli: quello a sinistra è stato creato usando lo strumento Arco che ha creato un pennello a 8 lati con 40 facce, e quello a destra è stato fatto da un singolo pennello ritagliato con solo 11 facce. Quest'ultimo è stato ottenuto utilizzando lo strumento di ritaglio (Shift + X). Per ottenere quest'ultimo, si consiglia di creare prima la forma geometrica desiderata dallo strumento Arco per riferimento. Quindi, crea un pennello con la stessa lunghezza, larghezza e altezza dell'arco di riferimento e posizionalo leggermente sopra il riferimento. Seleziona il pennello e ritaglia gli angoli. (potrebbe essere necessario modificare la dimensione della griglia ("-" per diminuire, "+" per aumentare) e/o spostare manualmente i vertici (Shift + V) dell'arco di riferimento per agganciarsi al punto della griglia più vicino.) Ora hai un pennello geometricamente identico, ma solo con meno facce

Ottimizza una mappa in Hammer Editor Passaggio 4
Ottimizza una mappa in Hammer Editor Passaggio 4

Passaggio 4. Fai buon uso dei pennelli per i dettagli

I pennelli del mondo bloccano la visibilità, sigillano la mappa e dividono il BSP in "foglie", che sono fondamentalmente il modo in cui il compilatore determina ciò che può e non può essere visto in un dato momento e luogo. I pennelli di dettaglio sono stati progettati per essere essenzialmente "invisibili" al compilatore. Gli unici pennelli che dovrebbero essere i pennelli del mondo sono le pareti, il pavimento e il soffitto di una stanza. Praticamente tutto il resto nella stanza che non è un'entità funzionante e non blocca in modo significativo la visione del giocatore dovrebbe essere legato a un pennello func_detail (legare usando Ctrl + T). Poiché i pennelli di dettaglio non bloccano la visibilità, non verranno compilati in vvis calcoli e non dividerà la mappa in più visleaves (cosa buona nella maggior parte dei casi). Attenzione però che non sigillerà nemmeno la mappa. Assicurati solo che tutti i pennelli del mondo sigillino la mappa e non dovrebbero esserci problemi.

Ottimizza una mappa in Hammer Editor Passaggio 5
Ottimizza una mappa in Hammer Editor Passaggio 5

Passaggio 5. Utilizzare i portali di area e i pennelli di suggerimento in modo appropriato

I portali di area e i pennelli di suggerimenti sono ottimi modi per limitare la visibilità e aumentare le prestazioni se eseguiti correttamente. Tuttavia, non dovresti posizionarli in ogni corridoio e finestra, poiché l'importo per calcolare cosa dovrebbe essere reso e quando potrebbe benissimo superare quello del rendering dell'intera stanza tutta in una volta. Invece, dovresti solo separare le stanze con molti dettagli. Ciò eviterà al tuo computer di dover eseguire il rendering di molti oggetti non necessari e contribuirà ad aumentare le prestazioni senza mettere a dura prova i calcoli della visibilità.

Ottimizza una mappa in Hammer Editor Passaggio 6
Ottimizza una mappa in Hammer Editor Passaggio 6

Passaggio 6. Utilizzare gli occlusori (con parsimonia)

Gli occlusori sono simili a un portale ad area chiusa, in quanto non rende ciò che c'è dietro. Tuttavia, è diverso da un portale ad area chiusa in quanto non ha bisogno di sigillare una stanza (può essere indipendente e non toccare i pennelli del mondo) e blocca solo i modelli 3D (noti anche come oggetti di scena). Questo strumento è molto costoso in termini di utilizzo della memoria, quindi dovresti usare gli occlusori solo quando c'è un costoso modello 3D dietro un muro indipendente che non può essere sigillato da areaportal.

Ottimizza una mappa in Hammer Editor Passaggio 7
Ottimizza una mappa in Hammer Editor Passaggio 7

Passaggio 7. Aggiungi Sky-box 3D

Non del tutto necessario, ma aiuterà a far sembrare la mappa molto più grande senza rallentare drasticamente l'FPS (fotogrammi al secondo). Gli skybox 3D sono generalmente realizzati per mappe esterne "grandi", ma è possibile realizzarli per una mappa interna se puoi vedere un esterno attraverso una finestra o qualcosa del genere. Gli skybox 3D sono molto economici da rendere e possono far apparire una piccola mappa fino a 16 volte più grande poiché gli skybox 3D sono impostati su una scala 1/16 in Hammer e quindi ridimensionati durante la compilazione.

Ottimizza una mappa in Hammer Editor Passaggio 8
Ottimizza una mappa in Hammer Editor Passaggio 8

Passaggio 8. Aggiungi nebbia

Sulle mappe esterne di grandi dimensioni, la nebbia può limitare la quantità di dettagli renderizzati e può rendere la mappa più realistica nel processo. Aggiungi semplicemente un'entità env_fog_controller nella tua mappa. Sull'opzione "Abilita nebbia" nel Proprietà oggetto scheda, selezionare "Sì". Quindi, modifica il Piano di ritaglio lontano Z a proprio piacimento, che rimuoverà tutti i pennelli dopo quella distanza, eliminando il motore che rende gli oggetti non necessari (Il Piano di ritaglio lontano Z il valore dovrebbe essere maggiore di Fine della nebbia valore).

Ottimizza una mappa in Hammer Editor Passaggio 9
Ottimizza una mappa in Hammer Editor Passaggio 9

Passaggio 9. Non impazzire sulla scala della mappa luminosa

La scala della mappa luminosa determina essenzialmente il rendering delle ombre nitide o sfocate sulla geometria. Numeri più grandi degradano la qualità dell'ombra, ma possono aumentare le prestazioni. Al contrario, una scala della mappa di luce più bassa aumenta la visualizzazione delle ombre, ma può ridurre notevolmente le prestazioni. Una scala della mappa luminosa troppo grande o troppo piccola potrebbe produrre un effetto di illuminazione irrealistico che è rispettivamente troppo opaco o troppo nitido. La scala della mappa di luce predefinita per tutti i pennelli è 16, che è un'area bilanciata tra elementi visivi e prestazioni.

Ottimizza una mappa in Hammer Editor Passaggio 10
Ottimizza una mappa in Hammer Editor Passaggio 10

Passaggio 10. Se la tua mappa ha acqua, posiziona un'entità "water_lod_control" nella mappa

Questa entità determina quanto devi essere lontano dall'acqua "costosa" affinché possa passare all'acqua "economica". L'acqua costosa sembra molto più realistica dell'acqua economica e quindi costa di più in termini di utilizzo della memoria e calcoli sul computer. Una distanza di transizione più breve produrrà acqua più economica a una distanza più breve, e quindi perderà molta qualità visiva a distanza, ma aumenterà anche le prestazioni.

Suggerimenti

  • Gli spostamenti non bloccano la visibilità, quindi per assicurarti che la mappa sia sigillata, crea un pennello mondiale con il strumenti/toolsnodraw texture sotto lo spostamento e sigillare la mappa con esso (ad esempio, gli angoli di quel pennello toccano gli angoli dello skybox). Come nel primo passaggio, assicurati sempre che la mappa sia sigillata, altrimenti praticamente ogni tecnica di ottimizzazione menzionata viene buttata fuori dalla finestra e nel vuoto nero del motore Source.
  • Quando si creano portali di area (creando un pennello con texture con strumenti/toolsareaportal e collegandolo a func_areaportal), è molto importante che i lati di un areaportal che non vengono visualizzati attraverso i pennelli del mondo tocchino. Ad esempio, se desideri posizionare un portale di area in una porta, ma quella porta ha una cornice legata a func_detail, dovresti non fai in modo che il pennello areaportal tocchi il telaio della porta perché è func_detail (e poiché i pennelli func_detail non influiscono sulla visibilità, il registro di compilazione tornerà con una perdita). Invece, la spazzola del portale dovrebbe toccare le pareti, il soffitto e il pavimento della porta (che dovrebbero essere tutte spazzole del mondo), intersecando il telaio della porta. Non preoccuparti che potrebbe esserci "z-clipping" attorno al telaio della porta; il frame verrà comunque visualizzato correttamente nel gioco… è semplicemente lì nell'editor Hammer che il compilatore può usare durante vvis.
  • Questo articolo presuppone che tu abbia una conoscenza di base dell'interfaccia di Hammer Editor (creazione di pennelli, posizionamento di entità, collegamento di entità, ecc.).
  • Quando si creano pennelli suggerimento, applicare texture solo alle facce che fungono da piani suggerimento (le facce che divideranno il BSP) con il strumenti/strumenti struttura. Texture ogni altra faccia sul pennello che non agisce come un piano di suggerimento con strumenti/toolsskip, altrimenti creerai più visleaf di quanto desideri.
  • È possibile collegare lo stato Aperto/Chiuso di un portale di area a una porta funzionante come func_door, func_door_rotating o un'entità simile. Per fare ciò, la porta a cui si vuole collegare l'areaportal ha bisogno di un "nome" univoco. (Dai il nome facendo doppio clic sulla porta per aprirla Proprietà oggetto finestra e dagli un nome semplice sotto Nome nella scheda Informazioni sulla classe.) Una volta nominata la porta, vai al portale dell'area Proprietà oggetto e scorri verso il basso fino a "Nome Porta Collegata" e seleziona la porta a cui vuoi collegare il portale d'area. Inoltre (e questo è molto importante) è necessario impostare il Stato iniziale del portale d'area Stato iniziale della porta. Ciò che fa è garantire che quando la porta è chiusa, l'areaportal si chiude con essa. Se sei curioso di sapere cosa impongono esattamente gli stati del portale dell'area Aperto/Chiuso, se un portale dell'area è Aperto, vengono renderizzati tutti i visleaves visibili attraverso l'altro lato del portale dell'area. Al contrario, se l'areaportal è Closed, non verrà eseguito il rendering di nulla oltre l'areaportal. Quindi, se c'è un corridoio aperto in cui sarai sempre in grado di vedere, il Stato iniziale dell'areaportal deve essere impostato su Aperto, non Chiuso. E quando sei collegato a una porta, non sarai comunque in grado di vedere oltre la porta, quindi impostalo su Chiuso se la porta si chiude (a meno che non abbia una finestra trasparente, che quindi dovresti avere l'areaportal impostato su Aperto e don non si preoccupa nemmeno di collegarlo alla porta).

Avvertenze

  • Non creare mai un pennello complicato con lo strumento Hollow. I vertici (angoli dei pennelli) si intersecheranno tra loro e creeranno solo un grande pasticcio sciatto.
  • Usa gli occlusori solo come ultima risorsa. È molto impegnativo per la memoria, quindi se un oggetto di scena può essere sigillato in una stanza con areaportal o se è possibile dividere i visleaves con suggerimenti e saltare i pennelli, quindi rinunciare all'uso degli occlusori.
  • I portali ad area aperta richiedono molta più memoria perché i visleaves vengono calcolati in tempo reale. Si consiglia di utilizzare i portali di area chiusi o i pennelli di suggerimento il più spesso possibile.

Consigliato: