Slik optimaliserer du et kart i Hammer Editor: 10 trinn (med bilder)

Innholdsfortegnelse:

Slik optimaliserer du et kart i Hammer Editor: 10 trinn (med bilder)
Slik optimaliserer du et kart i Hammer Editor: 10 trinn (med bilder)
Anonim

Vil du øke hastigheten på det egendefinerte kartet, ikke sette deg fast i gjengivelse av hikke og redusere kompileringstiden? Her er noen tips for å hjelpe deg med å optimalisere et hvilket som helst kart i Hammer.

Trinn

Optimaliser et kart i Hammer Editor Trinn 1
Optimaliser et kart i Hammer Editor Trinn 1

Trinn 1. Tett av rom

Dette er et must. Hvis det er noen lekkasjer i kartet, vil kompilatoren ikke kunne bestemme grensene for kartet, og vil prøve å gjengi alt på kartet samtidig. Verre ennå, alle områdeportaler, hintbørster og okkludere på kartet vil ikke fungere, noe som gjør dem ubrukelige. Vann vil ikke gjengis riktig hvis det er lekkasjer på kartet.

  • I fig. 1a er rommet åpenbart ikke forseglet. Hvis du kompilerer dette kartet med den lekkasjen, vvis (delen av kompilen som bestemmer synlighetsdata) vil ikke kunne bestemme grensene for kartet, siden visbladene bare vil "lekke" ut i det svarte tomrommet utenfor kartet vårt.
  • I figur 1b er rommet forseglet og vil bli kompilert riktig.
  • For å se etter lekkasjer må du først kontrollere at det er minst én enhet på kartet (for eksempel en "info_player_start"), ellers fungerer ikke dette. Lagre og kompiler BSP ved å trykke F9 eller gå til Fil -> Kjør kart. Velg "Normal" for Kjør BSP, og velg "Nei" for begge Kjør VIS og Kjør RAD (sørg også for å sjekke "Ikke kjør spillet etter kompilering" eske). Når den er ferdig med å kompilere, lukker du kompileringsloggen og går til Kart -> Lastpunktfil. Hvis det er noen lekkasjer, vil den be deg om å bekrefte operasjonen (f.eks. "Last standard poengfil? [C: / Programfiler / ----]) Velg" Ja ", og du vil se en rød linje som stikker ut fra nærmeste enhet* ut gjennom området for lekkasjen. (* Det er derfor du trenger en enhet, enten pensel eller spiss, på kartet ditt. Det fungerer ikke med verden eller detaljbørster.) Tett lekkasjen, kompiler BSP, og last inn punktfilen. Hvis alt er forseglet, bør det bare gå til en tom mappe i Steam / steamapps / GAMERTAG / GAME / mapsrc mappe. Se alltid etter lekkasjer før kartet slippes ut for publikum.
Optimaliser et kart i Hammer Editor Trinn 2
Optimaliser et kart i Hammer Editor Trinn 2

Trinn 2. Lag børster med "tools/toolsnodraw"

Sørg for at du alltid lager børster med verktøy/verktøynodraw tekstur først og deretter tekstur bare det spilleren kan se fra spillerens synspunkt. Hvis du bare skal se den ene siden av en vegg, så tekstur bare den synlige siden.

Optimaliser et kart i Hammer Editor Trinn 3
Optimaliser et kart i Hammer Editor Trinn 3

Trinn 3. Reduser antall børster og ansikter

Når det er mulig, hold deg til å lage geometri med noen få store børster i stedet for tusen små. Flere børster tilsvarer flere ansikter, og flere ansikter tilsvarer tregere ytelse og kompileringstid. Bunnlinjen: hvis du kan lage kompleks geometri med en eller to børster, hvorfor bruke mer enn det?

I figur 3a er det to børster: den til venstre ble opprettet ved hjelp av Arch Tool som laget en 8-sidig børste med 40 ansikter, og den til høyre var laget av en enkelt klippet børste med bare 11 ansikter. Sistnevnte ble oppnådd ved å bruke Clipping Tool (Shift + X). For å oppnå det siste, anbefales det først å lage ønsket geometrisk form ut av Arch Tool først for referanse. Lag deretter en børste med samme lengde, bredde og høyde som referansebuen og legg den litt over referansen. Velg penselen og klipp vinklene. (du må kanskje endre rutenettstørrelsen ("-" for å redusere, " +" for å øke) og/eller manuelt flytte hjørnene (Shift + V) i referansebuen for å knipse til nærmeste rutenettpunkt.) Nå har du en geometrisk identisk børste, men bare med færre ansikter

Optimaliser et kart i Hammer Editor Trinn 4
Optimaliser et kart i Hammer Editor Trinn 4

Trinn 4. Gjør god bruk av detaljbørster

Verdens børster blokkerer synligheten, forsegler kartet og deler BSP i "blader", som i utgangspunktet er kompilatorens måte å bestemme hva som kan og ikke kan sees på et gitt tidspunkt og sted. Detaljbørster ble designet for å være "usynlige" for kompilatoren. De eneste børstene som bør være verdensbørster er vegger, gulv og tak i et rom. Stort sett alt annet i rommet som ikke er en fungerende enhet og ikke vesentlig blokkerer spillerens syn, bør knyttes til en func_detail -børste (slips ved hjelp av Ctrl + T). Siden detaljbørster ikke blokkerer synligheten, blir de ikke satt sammen vvis beregninger og vil ikke dele kartet i flere visleaves (som er bra i de fleste tilfeller). Vær advart om at det ikke vil forsegle kartet heller. Bare sørg for at alle verdens pensler forsegler kartet, og det skal ikke være noen problemer.

Optimaliser et kart i Hammer Editor Trinn 5
Optimaliser et kart i Hammer Editor Trinn 5

Trinn 5. Bruk områdeportaler og hintbørster på riktig måte

Arealportaler og hintbørster er gode måter å begrense synligheten og øke ytelsen hvis den gjøres riktig. Imidlertid bør du ikke plassere disse i alle korridorer og vinduer, ettersom beløpet du skal beregne hva som skal gjengis og når godt kan overgå det å bare gjengi hele rommet på en gang. I stedet bør du bare skille rom med mange detaljer. Dette vil spare datamaskinen for å måtte gjengi mange unødvendige objekter og bidra til å øke ytelsen uten å belaste synlighetsberegningene.

Optimaliser et kart i Hammer Editor Trinn 6
Optimaliser et kart i Hammer Editor Trinn 6

Trinn 6. Bruk okkludere (sparsomt)

Okkludere ligner en portal med lukket område, ettersom den ikke gjengir det som ligger bak. Den er imidlertid annerledes enn en lukket områdeportal ved at den ikke trenger å forsegle et rom (den kan være frittstående og ikke berøre verdensbørster) og den blokkerer bare 3D-modeller (aka rekvisitter). Dette verktøyet er svært kostbart når det gjelder minnebruk, så du bør bare bruke okkludere når det er en dyr 3D-modell bak en frittstående vegg som ikke kan forsegles av områdeportaler.

Optimaliser et kart i Hammer Editor Trinn 7
Optimaliser et kart i Hammer Editor Trinn 7

Trinn 7. Legg til 3D Sky-bokser

Ikke helt nødvendig, men det vil bidra til at kartet ser mye større ut uten å drastisk redusere FPS (bilder per sekund). 3D skyboxes er vanligvis laget for "store" utendørs kart, men det er mulig å gjøre det til et innendørs kart hvis du kan se et eksteriør gjennom et vindu eller noe. 3D skyboxes er veldig billige å gjengi og kan få et lite kart til å vises opptil 16x større siden 3D skyboxes er satt til en 1/16 skala i Hammer og deretter skalert opp under kompilering.

Optimaliser et kart i Hammer Editor Trinn 8
Optimaliser et kart i Hammer Editor Trinn 8

Trinn 8. Tilsett tåke

På store utendørs kart kan tåke begrense mengden detaljer som gjengis, og det kan få kartet til å se mer realistisk ut i prosessen. Bare legg til en env_fog_controller -enhet på kartet. På alternativet "Aktiver tåke" i Objektegenskaper kategorien, velg "Ja". Rediger deretter Far Z Clip Plane etter din smak, som fjerner alle børster etter den distansen, og eliminerer motoren som gjør unødvendige gjenstander (The Far Z Clip Plane verdien skal være større enn Tåkeenden verdi).

Optimaliser et kart i Hammer Editor Trinn 9
Optimaliser et kart i Hammer Editor Trinn 9

Trinn 9. Ikke bli gal på Lightmap -skalaen

Lyskartskalaen bestemmer i hovedsak hvor skarpe eller uskarpe skygger gjengis på geometri. Større tall forringer skyggekvaliteten, men kan øke ytelsen. I motsetning til dette øker en lavere lyskartskala bildene til skyggene, men kan redusere ytelsen kraftig. Enten for stor eller for liten av en lyskartskala kan gi en urealistisk lyseffekt som er henholdsvis for kjedelig eller for skarp. Standard lysskala for alle børster er 16, som er et balansert område mellom bilder og ytelse.

Optimaliser et kart i Hammer Editor Trinn 10
Optimaliser et kart i Hammer Editor Trinn 10

Trinn 10. Hvis kartet ditt har vann, plasserer du en "water_lod_control" enhet i kartet

Denne enheten bestemmer hvor langt unna du må være fra "dyrt" vann for at det skal overgå til "billig" vann. Dyrt vann ser mye mer realistisk ut enn billig vann, og koster derfor mer når det gjelder minnebruk og beregninger på datamaskinen. En kortere overgangsavstand vil gi billigere vann på en kortere avstand, og vil derfor miste mye visuell kvalitet når den er på avstand, men vil også øke ytelsen.

Tips

  • Forskyvninger blokkerer ikke synligheten, så for å sikre at kartet er forseglet, lag en verdensbørste med verktøy/verktøynodraw tekstur under forskyvningen og forsegle kartet med det (det vil si at hjørnene på den penselen berører hjørnene av skyboxen). Som i det første trinnet, må du alltid sørge for at kartet er forseglet, ellers blir praktisk talt hver optimaliseringsteknikk som ble nevnt kastet ut av vinduet og inn i det svarte tomrommet i Source -motoren.
  • Når du oppretter areaportaler (ved å lage en pensel med teksturert verktøy/verktøyareal og å knytte den til func_areaportal), er det veldig viktig at sidene i en områdeportal som ikke blir sett gjennom, berører verdensbørster. For eksempel, hvis du vil plassere en arealportal i en døråpning, men den døren har en ramme knyttet til func_detail, ville du ikke få områdeportalen til å berøre dørkarmen fordi den er func_detail (og siden func_detail -børster ikke påvirker synligheten, kommer kompileringsloggen tilbake med en lekkasje). I stedet bør områdeportalbørsten berøre veggene, taket og gulvet på døren (som alle skal være verdensbørster) og krysse dørkarmen. Ikke bekymre deg for at det kan være "z-klipping" rundt dørkarmen; rammen kommer fortsatt til å gjengis riktig i spillet… det er rett og slett det i Hammer editor som kompilatoren kan bruke under vvis.
  • Denne artikkelen forutsetter at du har grunnleggende kunnskap om Hammer Editors grensesnitt (opprette pensler, plassere enheter, knytte enheter, etc.).
  • Når du lager hintbørster, er det bare tekstur på ansiktene som fungerer som hintplaner (ansiktene som vil dele BSP) med verktøy/verktøyhint tekstur. Tekstur hvert annet ansikt på børsten som ikke fungerer som et hintplan med verktøy/verktøyskip, ellers vil du lage flere visleafs enn du vil.
  • Du kan koble en områdeportals åpne/lukkede tilstand til en arbeidsdør, for eksempel en func_door, func_door_rotating eller en lignende enhet. For å gjøre dette trenger døren du vil at områdeportalen skal koble til, et unikt "navn". (Gi navnet ved å dobbeltklikke på døren for å åpne den Objektegenskaper vindu og gi det et enkelt navn under Navn i kategorien Klasseinfo.) Når du har fått navnet på døren, går du til områdeportalen Objektegenskaper og bla ned til "Navn på koblet dør" og velg døren du vil koble områdeportalen til. Også (og dette er veldig viktig) må du sette inn Opprinnelige tilstand av områdeportalen til Opprinnelige tilstand av døren. Hva dette gjør er å sikre at når porten er lukket, lukker områdeportalen med den. Hvis du er nysgjerrig på hva de åpne/lukkede områdeportalstatene nøyaktig dikterer, hvis en områdeportal er åpen, gjengis alle blader som er synlige gjennom den andre siden av områdeportalen. Omvendt, hvis områdeportalen er lukket, blir ingenting utover områdeportalen gjengitt. Så hvis det er en åpen gang som du alltid vil kunne se inn i Opprinnelige tilstand av områdeportalen bør settes til Åpen, ikke lukket. Og når den er koblet til en dør, vil du uansett ikke kunne se forbi døren, så sett den til Lukket hvis døren gyves lukket (med mindre den har et gjennomsiktig vindu, som du da bør ha områdeportalen satt til Åpne og don gidder ikke engang koble den til døren).

Advarsler

  • Du må aldri lage en komplisert børste med Hollow Tool. Hjørnene (børstens hjørner) krysser hverandre og vil bare skape et stort slurvete rot.
  • Bruk bare okkludere som en siste utvei. Det er veldig hukommelseskrevende, så hvis en rekvisitt kan forsegles i et rom med områdeportaler eller hvis det er mulig å dele visbladene med hint og hoppe over børster, så velg bort å bruke okkludere.
  • Åpne områdeportaler er mye mer hukommelseskrevende fordi visbladene er beregnet i sanntid. Det anbefales å bruke enten lukkede områdeportaler eller hintbørster så ofte som mulig.

Anbefalt: