Sådan optimeres et kort i Hammer Editor: 10 trin (med billeder)

Indholdsfortegnelse:

Sådan optimeres et kort i Hammer Editor: 10 trin (med billeder)
Sådan optimeres et kort i Hammer Editor: 10 trin (med billeder)
Anonim

Vil du fremskynde dit tilpassede korts ydeevne, ikke gå i stå med at gengive hikke og reducere kompileringstid? Her er nogle tips til at hjælpe dig med at optimere ethvert kort i Hammer.

Trin

Optimer et kort i Hammer Editor Trin 1
Optimer et kort i Hammer Editor Trin 1

Trin 1. Tæt lokaler af

Dette er et must. Hvis der er nogen lækager på kortet, vil kompilatoren ikke kunne bestemme kortets grænser og vil forsøge at gengive alt inden for kortet på én gang. Værre endnu, alle områdeportaler, tipbørster og okkludere på kortet fungerer ikke, hvilket gør dem ubrugelige. Vand gengives heller ikke korrekt, hvis der er lækager på kortet.

  • I fig. 1a er rummet åbenbart ikke forseglet. Hvis du kompilerer dette kort med den lækage, vvis (den del af kompilen, der bestemmer synlighedsdata) vil ikke være i stand til at bestemme grænserne for kortet, da visbladene bare vil "lække" ud i det sorte hulrum uden for vores kort.
  • I fig. 1b er rummet forseglet og vil blive kompileret korrekt.
  • For at kontrollere lækager skal du først kontrollere, at der er mindst én enhed på kortet (f.eks. En "info_player_start"), ellers fungerer dette ikke. Gem og kompilér BSP ved at trykke på F9 eller gå til Filer -> Kør kort. Vælg "Normal" for Kør BSP, og vælg "Nej" for begge Kør VIS og Kør RAD (sørg også for at tjekke "Kør ikke spillet efter kompilering" boks). Når den er færdig med at kompilere, skal du lukke kompileringsloggen og gå til Kort -> Load Point File. Hvis der er lækager, beder den dig om at bekræfte handlingen (f.eks. "Indlæs standardpunktfil? [C: / Programfiler / ----]) Vælg" Ja ", og du vil se en rød linje stikke frem fra den nærmeste enhed* ud gennem lækagens område. (* Derfor har du brug for en enhed, enten pensel eller spids, på dit kort. Det fungerer ikke med verden eller detalje børster.) Tæt lækagen, kompilér BSP, og indlæs pointfilen. Hvis alt er forseglet, skal det bare gå til en tom mappe i Steam / steamapps / GAMERTAG / GAME / mapsrc folder. Kontroller altid for lækager, før kortet frigives til offentligheden.
Optimer et kort i Hammer Editor Trin 2
Optimer et kort i Hammer Editor Trin 2

Trin 2. Opret pensler med "tools/toolsnodraw"

Sørg for altid at oprette pensler med tools/toolsnodraw tekstur først og derefter kun tekstur, hvad spilleren kan se fra spillerens synspunkt. Hvis du kun vil se den ene side af en væg, så tekstur kun den synlige side.

Optimer et kort i Hammer Editor Trin 3
Optimer et kort i Hammer Editor Trin 3

Trin 3. Reducer antallet af børster og ansigter

Når det er muligt, skal du holde dig til at skabe geometri med et par store børster frem for tusind små. Flere børster er lig med flere ansigter, og flere ansigter er lig med langsommere ydeevne og kompileringstid. Nederste linje: Hvis du kan oprette kompleks geometri med en eller to børster, hvorfor bruge mere end det?

I figur 3a er der to børster: den til venstre blev oprettet ved hjælp af Arch Tool, som skabte en 8-sidet børste med 40 ansigter, og den til højre var lavet af en enkelt afklippet børste med kun 11 ansigter. Sidstnævnte blev opnået ved at bruge Clipping Tool (Shift + X). For at opnå det sidste anbefales det først at oprette den ønskede geometriske form ud af Arch Tool først til reference. Opret derefter en pensel med samme længde, bredde og højde som referencebuen og placer den lidt over referencen. Vælg børsten og klip vinklerne. (du skal muligvis ændre gitterstørrelsen ("-" for at reducere, " +" for at øge) og/eller manuelt flytte hjørnerne (Shift + V) i referencebuen for at snappe til det nærmeste gitterpunkt.) Nu har du en geometrisk identisk børste, men kun med færre ansigter

Optimer et kort i Hammer Editor Trin 4
Optimer et kort i Hammer Editor Trin 4

Trin 4. Gør god brug af detalje børster

Verdens pensler blokerer synligheden, forsegler kortet og deler BSP'en i "blade", som dybest set er kompilatorens måde at bestemme, hvad der kan og ikke kan ses på et givet tidspunkt og sted. Detaljbørster blev designet til i det væsentlige at være "usynlige" for kompilatoren. De eneste børster, der bør være verdensbørster, er vægge, gulv og loft i et værelse. Stort set alt andet i rummet, der ikke er en fungerende enhed og ikke signifikant blokerer spillerens vision, bør være bundet til en func_detail -børste (slips ved hjælp af Ctrl + T). Da detalje børster ikke blokerer synligheden, samles de ikke vvis beregninger og vil ikke opdele kortet i flere visleaves (hvilket er godt i de fleste tilfælde). Vær dog advaret om, at det heller ikke forsegler kortet. Bare sørg for, at alle verdens pensler forsegler kortet, og der ikke skulle være nogen problemer.

Optimer et kort i Hammer Editor Trin 5
Optimer et kort i Hammer Editor Trin 5

Trin 5. Brug arealportaler og tipbørster passende

Områdeportaler og tipbørster er gode måder at begrænse synligheden og øge ydeevnen, hvis den udføres korrekt. Du bør dog ikke placere disse i hver gang og vindue, da beløbet for at beregne, hvad der skal gengives, og hvornår meget vel kan overgå det, hvis du bare gengiver hele rummet på én gang. I stedet bør du kun adskille værelser med masser af detaljer. Dette vil spare din computer for at skulle gengive mange unødvendige objekter og hjælpe med at øge ydeevnen uden at lægge større belastning på synlighedsberegninger.

Optimer et kort i Hammer Editor Trin 6
Optimer et kort i Hammer Editor Trin 6

Trin 6. Brug okkludere (sparsomt)

Støddæmpere ligner en portal med lukket område, da den ikke gengiver, hvad der ligger bag. Det er dog anderledes end en lukket områdeportal, fordi den ikke behøver at forsegle et rum (det kan være fritstående og ikke røre ved verdens børster), og det blokerer kun 3D-modeller (aka rekvisitter). Dette værktøj er meget dyrt med hensyn til hukommelsesforbrug, så du bør kun bruge okkludere, når der er en dyr 3D-model bag en fritstående væg, der ikke kan forsegles af områdeportaler.

Optimer et kort i Hammer Editor Trin 7
Optimer et kort i Hammer Editor Trin 7

Trin 7. Tilføj 3D Sky-bokse

Ikke helt nødvendigt, men det hjælper med at få kortet til at se meget større ud uden drastisk at bremse FPS (frames per sekund). 3D skyboxes er normalt lavet til "store" udendørs kort, men det er muligt at gøre det til et indendørs kort, hvis du kan se et ydre gennem et vindue eller noget. 3D skyboxes er meget billige at gengive og kan få et lille kort til at blive op til 16x større, da 3D skyboxes er indstillet til en 1/16 skala i Hammer og derefter skaleret op under kompilering.

Optimer et kort i Hammer Editor Trin 8
Optimer et kort i Hammer Editor Trin 8

Trin 8. Tilføj tåge

På store udendørs kort kan tåge begrænse mængden af detaljer, der gengives, og det kan få dit kort til at se mere realistisk ud i processen. Tilføj blot en env_fog_controller -enhed på dit kort. På indstillingen "Aktiver tåge" i Objektegenskaber fane, vælg "Ja". Rediger derefter Far Z Clip Plane efter din smag, som fjerner alle børster efter denne afstand, hvilket eliminerer motoren, der gør unødvendige genstande (The Far Z Clip Plane værdien skal være større end Tåge ende værdi).

Optimer et kort i Hammer Editor Trin 9
Optimer et kort i Hammer Editor Trin 9

Trin 9. Bliv ikke vanvittig på Lightmap -skalaen

Lyskortskalaen bestemmer i det væsentlige, hvor skarpe eller slørede skygger gengives på geometri. Større tal forringer skyggekvaliteten, men kan øge ydeevnen. I modsætning hertil øger en lavere lyskortskala skyggernes visuelle effekter, men kan reducere ydeevnen kraftigt. Enten for stor eller for lille af en lyskortskala kan producere en urealistisk lyseffekt, der er henholdsvis for kedelig eller for skarp. Standardlyskortets skala for alle børster er 16, hvilket er et afbalanceret område mellem grafik og ydeevne.

Optimer et kort i Hammer Editor Trin 10
Optimer et kort i Hammer Editor Trin 10

Trin 10. Hvis dit kort har vand, skal du placere en "water_lod_control" -enhed på kortet

Denne enhed bestemmer, hvor langt væk du skal være fra "dyrt" vand for at overgå til "billigt" vand. Dyrt vand ser meget mere realistisk ud end billigt vand, og koster derfor mere med hensyn til hukommelsesforbrug og beregninger på computeren. En kortere overgangsafstand vil producere billigere vand på en kortere afstand og vil derfor miste meget visuel kvalitet, når den er på afstand, men vil også øge ydeevnen.

Tips

  • Forskydninger blokerer ikke synligheden, så for at sikre, at kortet er forseglet, skal du oprette en verdensbørste med tools/toolsnodraw tekstur under forskydningen og forsegl kortet med det (det vil sige, at penselens hjørner rører ved skyboxens hjørner). Som i det første trin skal du altid sørge for, at kortet er forseglet, ellers smides stort set enhver optimeringsteknik, der blev nævnt, ud af vinduet og ind i det sorte hulrum i Source -motoren.
  • Når du opretter areaportaler (ved at oprette en pensel med tekstureret værktøj/værktøjsport og binder det til func_areaportal), er det meget vigtigt, at siderne af en areaportal, der ikke bliver set igennem, rører ved verdens børster. For eksempel, hvis du vil placere en områdeportal i en døråbning, men den døråbning har en ramme bundet til func_detail, ville du ikke få områdeportalbørsten til at røre ved dørkarmen, fordi den er func_detail (og da func_detail -børster ikke påvirker synligheden, kommer kompileringsloggen tilbage med en lækage). I stedet skal områdeportalbørsten røre dørens vægge, loft og gulv (som alle bør være verdensbørster) og krydse dørkarmen. Bare rolig, at der kan være "z-klipning" omkring dørkarmen; rammen vil stadig blive gengivet korrekt i spillet… det er simpelthen der i Hammer editor, som kompilatoren kan bruge under vvis.
  • Denne artikel forudsætter, at du har grundlæggende kendskab til Hammer Editors grænseflade (oprettelse af pensler, placering af enheder, binding af enheder osv.).
  • Når du opretter tipbørster, skal du kun teksturere ansigterne, der fungerer som tipplaner (de ansigter, der vil dele BSP) med værktøj/værktøjstip struktur. Tekstur hvert andet ansigt på børsten, der ikke fungerer som et hintplan med værktøj/værktøjsskib, ellers opretter du flere visleafs, end du vil.
  • Du kan knytte en områdeportals åbne/lukkede tilstand til en arbejdsdør, f.eks. En func_door, func_door_rotating eller en lignende enhed. For at gøre dette har døren, som du vil have områdeportalen til at koble til, brug for et unikt "navn". (Giv navnet ved at dobbeltklikke på døren for at åbne dens Objektegenskaber vindue og giv det et simpelt navn under Navn i fanen Klasseinfo.) Når du har navngivet døren, skal du gå til områdets portal Objektegenskaber og rul ned til "Navn på linket dør", og vælg den dør, som du vil linke områdeportalen til. Også (og dette er meget vigtigt) skal du indstille Oprindelig tilstand af områdets portal til Oprindelig tilstand af døren. Hvad dette gør er at sikre, at når porten er lukket, lukker områdeportalen med den. Hvis du er nysgerrig efter, hvad de åbne/lukkede områdeportalstater præcist dikterer, hvis en områdeportal er åben, gengives alle visleaves, der er synlige gennem den anden side af areaportalen. I modsætning hertil, hvis områdeportalen er lukket, gengives intet ud over områdeportalen. Så hvis der er en åben gang, som du altid vil kunne se ind i, Oprindelig tilstand af områdets portal skal sættes til Åben, ikke lukket. Og når den er knyttet til en dør, vil du alligevel ikke kunne se forbi døren, så sæt den til Lukket, hvis døren gyder lukket (medmindre den har et gennemsigtigt vindue, som du så skal have områdeportalen sat til Åbn og don gider ikke engang koble det til døren).

Advarsler

  • Lav aldrig en kompliceret børste med Hollow Tool. Hjørnerne (børsternes hjørner) skærer hinanden og skaber bare et stort sjusket rod.
  • Brug kun okkludere som en sidste udvej. Det er meget hukommelseskrævende, så hvis en rekvisit kan forsegles i et rum med områdeportaler, eller hvis det er muligt at opdele visbladene med hint og springe børster over, så fravælger du at bruge okkludere.
  • Åbne områdeportaler er meget mere hukommelseskrævende, fordi visbladene er beregnet i realtid. Det tilrådes at bruge enten lukkede områdeportaler eller tipbørster så ofte som muligt.

Anbefalede: