Kaardi optimeerimine Hammeri redaktoris

Kas soovite oma kohandatud kaardi jõudlust kiirendada, mitte takerduda renderdushäiretesse ja lühendada kompileerimisaega? Siin on mõned näpunäited, mis aitavad teil Hammeris mis tahes kaarti optimeerida.

1
Sulgege ruumid. See on kohustuslik. Kui kaardil on lekkeid, ei saa kompilaator kaardi piire määrata ja püüab renderdada kõik kaardil olevad asjad korraga. Mis veelgi hullem, kaardil olevad piirkonnaportaalid, vihjepintslid ja sulgurid ei tööta, muutes need kasutuks. Samuti ei renderda vesi õigesti, kui kaardil on lekkeid. Joonisel 1a ei ole ruum ilmselgelt suletud. Kui koostate selle lekkega kaardi, ei saa vvis (koostise osa, mis määrab nähtavuse andmed) kaardi piire määrata, kuna vislehed lihtsalt “lekivad” väljapoole meie kaarti musta tühjusse. .Joonisel 1b on ruum suletud ja koostatakse õigesti. Lekete kontrollimiseks veenduge esmalt, et kaardil on vähemalt üks olem (nt “info_player_start”), vastasel juhul see ei tööta. Salvestage ja kompileerige BSP, vajutades klahvi F9 või valides File -> Run Map. Valige Run BSP jaoks “Normal” ja valige “Ei” nii Run VIS kui ka Run RAD jaoks (ka kindlasti märkige ruut “Ära käivita mängu pärast kompileerimist”). Kui olete kompileerimise lõpetanud, sulgege kompileerimislogi ja minge Kaart -> Laadimispunkti fail. Kui esineb lekkeid, palub see toimingu kinnitada (nt “Laadi vaikepunktfail? [C:Program Files——->]) Valige “Jah” ja näete punane joon, mis ulatub lähimast üksusest* välja läbi lekkepiirkonna. (*Sellepärast vajate oma kaardil olemit, kas pintslit või punkti. See ei tööta maailma- või detailiharjadega.) Tihendage leke. , kompileerige BSP uuesti ja laadige punktfail. Kui kõik on suletud, peaks see minema tühja kausta kaustas SteamsteamappsGAMERTAGGAMEmapsrc. Enne kaardi avalikustamist kontrollige alati lekkeid.

2
Looge pintslid “tools/toolsnodraw” abil. Veenduge, et loote pintslid alati kõigepealt tööriistade/toolsnodraw tekstuuriga ja seejärel tekstuureerige ainult seda, mida mängija mängija vaatenurgast näeb. Kui näete ainult seina ühte külge, siis tekstuurige ainult seda nähtavat külge.

3
Vähendage pintslite ja nägude arvu. Kui vähegi võimalik, pidage kinni geomeetria loomisest mõne suure pintsliga, mitte tuhande väikese pintsliga. Rohkem pintsleid tähendab rohkem nägusid ja rohkem nägusid tähendab aeglasemat jõudlust ja kompileerimisaega. Alumine rida: kui saate luua keeruka geomeetria ühe või kahe pintsliga, siis miks kasutada rohkemat?Joonisel 3a on kaks pintslit: vasakpoolne on loodud Arch Tooliga, mis lõi 8-tahulise pintsli 40 tahuga ja parempoolne on tehtud ühest kärbitud pintslist, millel on ainult 11 tahku. Viimane saavutati lõiketööriista (Shift + X) abil. Viimase saavutamiseks on soovitatav esmalt luua kaaretööriistast esmalt viitamiseks soovitud geomeetriline kujund. Seejärel looge võrdluskaarega sama pikkuse, laiuse ja kõrgusega pintsel ja asetage see veidi võrdluskaarest kõrgemale. Valige pintsel ja kinnitage nurgad. (Võib-olla peate muutma ruudustiku suurust (vähendamiseks “-“, suurendamiseks “+”) ja/või viitekaare tippe käsitsi liigutama (Shift + V), et klõpsata lähima ruudustikupunktini.) Nüüd on teil geomeetriliselt identne pintsel, kuid ainult vähemate nägudega!

4
Kasutage detailiharju hästi. Maailma pintslid blokeerivad nähtavuse, pitseerivad kaardi ja jagavad BSP “lehtedeks”, mis on põhimõtteliselt kompilaatori viis määrata, mida igal ajal ja kohas näha saab ja mida mitte. Detailpintslid olid loodud nii, et need oleksid kompilaatorile sisuliselt “nähtamatud”. Ainsad pintslid, mis peaksid olema maailmaharjad, on ruumi seinad, põrand ja lagi. Peaaegu kõik muu ruumis, mis ei ole töötav üksus ja mis ei blokeeri oluliselt mängija nägemist, tuleks siduda func_detail pintsliga (sidustada Ctrl + T abil). Kuna detailipintslid ei blokeeri nähtavust, ei kompileerita neid vvis-arvutustes ega jaga kaarti rohkemateks lehtedeks (mis on enamikul juhtudel hea). Olge siiski hoiatatud, et ka see ei pitseeri kaarti. Lihtsalt veenduge, et kõik maailma pintslid pitseeriksid kaardi ja probleeme ei tohiks tekkida.

5
Kasutage sobivalt alaportaale ja vihjepintsleid. Piirkonnaportaalid ja vihjepintslid on suurepärased viisid nähtavuse piiramiseks ja jõudluse suurendamiseks, kui seda õigesti teha. Kuid te ei tohiks neid paigutada igasse koridori ja aknasse, kuna summa, mida arvutada, mida ja millal peaks renderdama, võib ületada kogu ruumi korraga renderdamise. Selle asemel peaksite eraldama ruumid, kus on palju detaile. See säästab teie arvutit paljude mittevajalike objektide renderdamisest ja aitab suurendada jõudlust ilma nähtavuse arvutustele suurt pinget avaldamata.

6
Kasutage ummistusi (kokkuhoidlikult). Okluseerijad on sarnased suletud ala portaaliga, kuna see ei renderda seda, mis on selle taga. Samas erineb see kinnisest ala-portaalist selle poolest, et ei pea ruumi pitseerima (võib olla ka eraldiseisev ega puutu kokku maailma pintslitega) ning blokeerib ainult 3D-mudeleid (ehk rekvisiite). See tööriist on mälukasutuse seisukohalt väga kulukas, seega peaksite ummistusi kasutama ainult siis, kui eraldiseisva seina taga on kallis 3D-mudel, mida piirkonnaportaalid ei saa sulgeda.

7
Lisage 3D taevakastid. Pole küll täiesti vajalik, kuid aitab muuta kaardil palju suuremaks ilma FPS-i (kaadrid sekundis) drastiliselt aeglustamata. 3D taevakastid tehakse tavaliselt “suurte” välikaartide jaoks, kuid on võimalik teha ka sisekaardi jaoks, kui on näha välisust läbi akna vms. 3D-taevakastide renderdamine on väga odav ja need võivad muuta väikese kaardi kuni 16 korda suuremaks, kuna 3D-taevakastide mõõtkava on Hammeris seatud 1/16 ja seejärel suurendatakse neid kompileerimise ajal.

8
Lisa udu. Suurtel välikaartidel võib udu piirata renderdatavate detailide hulka ja muuta teie kaart protsessi käigus realistlikumaks. Lihtsalt lisage oma kaardile üksus env_fog_controller. Valige vahekaardi Objekti atribuudid suvand “Luba udu” “Jah”. Järgmisena redigeerige Far Z Clip Plane oma maitse järgi, mis eemaldab pärast seda vahemaad kõik harjad, välistades mootori renderdamise mittevajalikud objektid (Far Z Clip Plane väärtus peaks olema suurem kui Udu lõpu väärtus).

9
Ärge minge Lightmap skaalal hulluks. Valguskaardi skaala määrab sisuliselt selle, kui teravad või udused varjud geomeetrial renderdatakse. Suuremad numbrid halvendavad varju kvaliteeti, kuid võivad suurendada jõudlust. Vastupidi, madalam valguskaardi skaala suurendab varjude visuaali, kuid võib jõudlust oluliselt vähendada. Liiga suur või liiga väike valguskaardi skaala võib tekitada ebareaalse valgusefekti, mis on vastavalt kas liiga tuhm või liiga terav. Kõigi pintslite valguskaardi vaikeskaala on 16, mis on visuaalide ja jõudluse vahel tasakaalustatud ala.

10
Kui teie kaardil on vett, asetage kaardile olem “water_lod_control”. See olem määrab, kui kaugel peate olema “kallist” veest, et see muutuks “odavaks” veele. Kallis vesi näeb palju realistlikum välja kui odav vesi ja seetõttu kulub mälukasutuse ja arvutis tehtavate arvutuste osas rohkem. Lühem üleminekukaugus toodab odavamat vett lühema vahemaa tagant ja seetõttu kaotab distantsil olles palju visuaalset kvaliteeti, kuid suurendab ka jõudlust.