Kaip optimizuoti žemėlapį „Hammer Editor“: 10 žingsnių (su paveikslėliais)

Turinys:

Kaip optimizuoti žemėlapį „Hammer Editor“: 10 žingsnių (su paveikslėliais)
Kaip optimizuoti žemėlapį „Hammer Editor“: 10 žingsnių (su paveikslėliais)
Anonim

Ar norite pagreitinti pasirinktinio žemėlapio našumą, neįsivelti į žagsėjimą ir sutrumpinti kompiliavimo laiką? Štai keletas patarimų, kurie padės optimizuoti bet kurį „Hammer“žemėlapį.

Žingsniai

Žemėlapio optimizavimas naudojant „Hammer Editor“1 veiksmas
Žemėlapio optimizavimas naudojant „Hammer Editor“1 veiksmas

1 žingsnis. Uždarykite kambarius

Tai būtina. Jei žemėlapyje yra bet koks nutekėjimas, kompiliatorius negalės nustatyti žemėlapio ribų ir bandys pateikti viską žemėlapyje vienu metu. Dar blogiau, bet kokie vietovės portalai, užuominų šepetėliai ir okliuzai žemėlapyje neveiks, todėl jie bus nenaudingi. Be to, vanduo nebus rodomas teisingai, jei žemėlapyje yra nutekėjimų.

  • 1a pav. Kambarys akivaizdžiai nėra sandarus. Jei sudarysite šį žemėlapį su tuo nutekėjimu, vvis (kompiliacijos dalis, lemianti matomumo duomenis) negalės nustatyti žemėlapio ribų, nes karkasai tiesiog „nutekės“į juodąją tuštumą už mūsų žemėlapio ribų.
  • 1b pav. Patalpa yra sandari ir bus teisingai sudaryta.
  • Norėdami patikrinti, ar nėra nuotėkio, pirmiausia įsitikinkite, kad žemėlapyje yra bent vienas objektas (pvz., „Info_player_start“), kitaip tai neveiks. Išsaugokite ir sukompiliuokite BSP paspausdami F9 arba eikite į Failas -> Vykdyti žemėlapį. Pasirinkite „Normalus“ Paleiskite BSPir pasirinkite „Ne“abiem Paleiskite VIS ir Paleiskite RAD (taip pat būtinai patikrinkite „Nepaleiskite žaidimo po kompiliavimo“ dėžė). Kai kompiliavimas bus baigtas, uždarykite kompiliavimo žurnalą ir eikite į Žemėlapis -> Įkelti taško failą. Jei yra nutekėjimų, jis paprašys patvirtinti operaciją (pvz., "Įkelti numatytąjį taško failą? [C: / Program Files / ----]) Pasirinkite" Taip "ir pamatysite raudoną liniją iš artimiausio subjekto* per nuotėkio sritį. (* Štai kodėl žemėlapyje reikia šepetėlio ar taško. Jis neveikia su pasaulio ar detalių šepetėliais.) Uždenkite nuotėkį, sukompiliuokite BSP ir įkelkite taškinį failą. Jei viskas užsandarinta, ji turėtų tiesiog patekti į tuščią aplanką Steam / steamapps / GAMERTAG / GAME / mapsrc aplanką. Prieš paskelbdami žemėlapį visuomenei, visada patikrinkite, ar nėra nuotėkio.
Žemėlapio optimizavimas naudojant „Hammer Editor“2 veiksmą
Žemėlapio optimizavimas naudojant „Hammer Editor“2 veiksmą

Žingsnis 2. Sukurkite šepečius naudodami „tools/toolsnodraw“

Įsitikinkite, kad visada kuriate šepečius naudodami įrankiai/įrankių piešinys pirmiausia tekstūrą, o tada tekstūrą tik tai, ką žaidėjas gali matyti iš žaidėjo taško. Jei matysite tik vieną sienos pusę, tekstūruokite tik tą matomą pusę.

Žemėlapio optimizavimas naudojant „Hammer“redaktorių 3 veiksmas
Žemėlapio optimizavimas naudojant „Hammer“redaktorių 3 veiksmas

Žingsnis 3. Sumažinkite šepečių ir veidų skaičių

Jei tik įmanoma, kurkite geometriją keliais dideliais šepečiais, o ne tūkstančiu mažų. Daugiau šepečių prilygsta daugiau veidų, o daugiau veidų - lėtesnis veikimas ir kompiliavimo laikas. Esmė: jei galite sukurti sudėtingą geometriją vienu ar dviem šepečiais, kodėl naudoti daugiau?

3a pav. Yra du šepečiai: kairėje esantis buvo sukurtas naudojant „Arch Tool“, kuris sukūrė aštuonių pusių šepetėlį su 40 veidų, o dešinysis-iš vieno nukirpto teptuko, turinčio tik 11 veidų. Pastarasis buvo pasiektas naudojant kirpimo įrankį („Shift“+ X). Norint pasiekti pastarąjį, rekomenduojama pirmiausia sukurti norimą geometrinę formą iš „Arch Tool“, kad būtų galima susipažinti. Tada sukurkite tokio paties ilgio, pločio ir aukščio šepetėlį kaip atskaitos lankas ir padėkite jį šiek tiek virš atskaitos. Pasirinkite šepetį ir nukirpkite kampus. (gali tekti pakeisti tinklelio dydį („-“-sumažinti, „ +“-padidinti) ir (arba) rankiniu būdu perkelti etaloninės arkos viršūnes („Shift“+ V), kad priartėtų prie artimiausio tinklelio taško.) Dabar turite geometriškai identiškas šepetys, bet tik su mažiau veidų

Žemėlapio optimizavimas naudojant „Hammer Editor“4 veiksmą
Žemėlapio optimizavimas naudojant „Hammer Editor“4 veiksmą

4 žingsnis. Gerai išnaudokite detalių šepetėlius

Pasaulio šepetėliai blokuoja matomumą, užantspauduoja žemėlapį ir padalija BSP į „lapus“, kurie iš esmės yra kompiliatoriaus būdas nustatyti, ką galima ir ko negalima matyti bet kuriuo metu ir vietoje. Detalūs šepetėliai buvo sukurti taip, kad kompiliatoriui jie būtų „nematomi“. Vieninteliai šepečiai, kurie turėtų būti pasaulio šepetėliai, yra kambario sienos, grindys ir lubos. Beveik visa kita patalpoje, kuri nėra veikianti esybė ir žymiai neužblokuoja žaidėjo regėjimo, turėtų būti susieta su „func_detail“šepetėliu (surišti naudojant „Ctrl“+ T). Kadangi detalių šepetėliai neužkerta kelio matomumui, jie nebus surenkami vvis skaičiavimus ir neskaidys žemėlapio į daugiau lapų (tai daugeliu atvejų yra gerai). Tačiau įspėkite, kad jis taip pat neužplombuos žemėlapio. Tiesiog įsitikinkite, kad visi pasaulio šepečiai užantspauduoja žemėlapį ir neturėtų kilti jokių problemų.

Žemėlapio optimizavimas naudojant „Hammer Editor“5 veiksmą
Žemėlapio optimizavimas naudojant „Hammer Editor“5 veiksmą

Žingsnis 5. Tinkamai naudokite srities portalus ir užuominų šepečius

Ploto portalai ir užuominų šepečiai yra puikus būdas apriboti matomumą ir padidinti našumą, jei tai daroma teisingai. Tačiau neturėtumėte jų dėti į kiekvieną koridorių ir langą, nes suma, skirta apskaičiuoti, kas turėtų būti atvaizduota ir kada, gali labai pranokti sumą, kurią sukuria viso kambario vaizdavimas vienu metu. Vietoj to turėtumėte atskirti tik kambarius, kuriuose yra daug detalių. Tai padės jūsų kompiuteriui atrasti daugybę nereikalingų objektų ir padidinti našumą, neapkraunant matomumo skaičiavimų.

Žemėlapio optimizavimas naudojant „Hammer Editor“6 veiksmą
Žemėlapio optimizavimas naudojant „Hammer Editor“6 veiksmą

Žingsnis 6. Naudokite okliuzorius (saikingai)

Užblokuotojai yra panašūs į uždaros zonos portalą, nes neatskleidžia to, kas yra už jo. Tačiau jis skiriasi nuo uždaro zonos portalo tuo, kad jam nereikia sandarinti kambario (jis gali būti laisvai stovintis ir neliesti pasaulio šepetėlių) ir blokuoja tik 3D modelius (dar žinomus kaip rekvizitai). Šis įrankis yra labai brangus atminties naudojimo požiūriu, todėl okliuzerius turėtumėte naudoti tik tada, kai už laisvai stovinčios sienos yra brangus 3D modelis, kurio negalima užplombuoti ploto portalais.

Žemėlapio optimizavimas naudojant „Hammer Editor“7 veiksmą
Žemėlapio optimizavimas naudojant „Hammer Editor“7 veiksmą

Žingsnis 7. Pridėkite 3D dangaus dėžutes

Tai nėra visiškai būtina, tačiau tai padės padaryti žemėlapį daug didesnį, o ne labai sulėtinti FPS (kadrai per sekundę). 3D dangaus dėžutės paprastai yra skirtos „dideliems“lauko žemėlapiams, tačiau galima tai padaryti patalpų žemėlapiui, jei pro langą matote išorę. 3D dangaus dėžutės yra labai pigiai pateikiamos ir gali parodyti mažą žemėlapį iki 16 kartų didesnį, nes 3D dangaus dėžutės yra nustatytos 1/16 skalės „Hammer“ir padidinamos kompiliavimo metu.

Žemėlapio optimizavimas naudojant „Hammer“redaktorių 8 veiksmas
Žemėlapio optimizavimas naudojant „Hammer“redaktorių 8 veiksmas

Žingsnis 8. Įpilkite rūko

Dideliuose lauko žemėlapiuose rūkas gali apriboti pateikiamų detalių kiekį, todėl jūsų žemėlapis gali atrodyti tikroviškesnis. Tiesiog pridėkite env_fog_controller objektą savo žemėlapyje. Parinktyje „Įgalinti rūką“ Objekto ypatybės skirtuką, pasirinkite „Taip“. Tada redaguokite „Clip“lėktuvas „Far Z“ pagal savo skonį, kuris pašalins visus šepečius po šio atstumo, pašalindamas variklį iš nereikalingų daiktų (The „Clip“lėktuvas „Far Z“ vertė turėtų būti didesnė už Rūko galas vertė).

Žemėlapio optimizavimas naudojant „Hammer“redaktorių 9 veiksmas
Žemėlapio optimizavimas naudojant „Hammer“redaktorių 9 veiksmas

Žingsnis 9. Neišprotėkite dėl „Lightmap“skalės

Šviesos žemėlapio skalė iš esmės nustato, kaip geometrija perteikia aštrius ar neryškius šešėlius. Didesni skaičiai pablogina šešėlio kokybę, tačiau gali padidinti našumą. Priešingai, mažesnė šviesos schemos skalė padidina šešėlių vaizdą, tačiau gali smarkiai sumažinti našumą. Per didelis arba per mažas šviesos žemėlapio mastelis gali sukelti nerealų apšvietimo efektą, kuris yra atitinkamai per nuobodus arba per aštrus. Numatytoji visų šepetėlių šviesos schema yra 16, o tai yra subalansuota erdvė tarp vaizdų ir našumo.

Žemėlapio optimizavimas naudojant „Hammer Editor“10 veiksmą
Žemėlapio optimizavimas naudojant „Hammer Editor“10 veiksmą

Žingsnis 10. Jei jūsų žemėlapyje yra vandens, įdėkite į žemėlapį objektą „water_lod_control“

Šis subjektas nustato, kiek toli turite būti nuo „brangaus“vandens, kad jis pereitų prie „pigaus“vandens. Brangus vanduo atrodo daug tikroviškesnis nei pigus vanduo, todėl kainuoja daugiau atminties ir skaičiavimų kompiuteryje. Trumpesnis pereinamasis atstumas gamins pigesnį vandenį mažesniu atstumu ir todėl praras daug vaizdo kokybės, kai bus per atstumą, bet taip pat padidins našumą.

Patarimai

  • Poslinkiai neužblokuoja matomumo, todėl norėdami įsitikinti, kad žemėlapis yra sandarus, sukurkite pasaulinį šepetį naudodami įrankiai/įrankių piešinys tekstūrą po poslinkiu ir užklijuokite žemėlapį juo (t. y. teptuko kampai palieskite „Sky Box“kampus). Kaip ir pirmame žingsnyje, visada įsitikinkite, kad žemėlapis yra užplombuotas, nes priešingu atveju praktiškai kiekviena paminėta optimizavimo technika yra išmesta pro langą ir į šaltinio variklio juodąją tuštumą.
  • Kuriant srities portalus (sukuriant šepetėlį su tekstūra įrankiai/įrankiųreportalas ir susiejant jį su „func_areaportal“), labai svarbu, kad srities portalo pusės, į kurias nežiūrima, liestų pasaulio šepetėlius. Pvz., Jei norite patalpinti srities portalą tarpduryje, tačiau tos durys turi rėmą, susietą su „func_detail“, ne ploto portalo šepečiu palieskite durų rėmą, nes jis yra func_detail (ir kadangi „func_detail“šepečiai neturi įtakos matomumui, kompiliavimo žurnalas grįš su nutekėjimu). Vietoj to, ploto portalo šepetys turi liesti sienas, lubas ir durų grindis (kurios turėtų būti viso pasaulio šepečiai), kertant durų rėmą. Nesijaudinkite, kad aplink durų rėmą gali būti „z-kirpimas“; kadras žaidime vis tiek bus pateiktas teisingai… tai tiesiog yra „Hammer“redaktoriuje, kad kompiliatorius galėtų jį naudoti vvis.
  • Šiame straipsnyje daroma prielaida, kad turite pagrindinių žinių apie „Hammer Editor“sąsają (šepetėlių kūrimas, objektų išdėstymas, objektų susiejimas ir kt.).
  • Kurdami užuominų šepečius, tik tekstūruokite veidus, veikiančius kaip užuominų plokštumos (veidus, kurie padalins BSP). įrankiai/įrankių patarimai tekstūra. Tekstūruokite kas antrą šepetėlio veidą, o ne kartu su užuomina įrankiai/įrankių juosta, kitaip sukursite daugiau lapų, nei norite.
  • Galite susieti srities portalo atvirą/uždarytą būseną su veikiančiomis durimis, pvz., „Func_door“, „func_door_rotating“ar panašiu objektu. Norėdami tai padaryti, durims, prie kurių norite susieti teritorinį portalą, reikia unikalaus „pavadinimo“. (Duokite pavadinimą dukart spustelėdami duris, kad atidarytumėte duris Objekto ypatybės langą ir suteikite jam paprastą pavadinimą vardas skirtuke „Klasės informacija“.) Kai turėsite duris, eikite į srities portalą Objekto ypatybės ir slinkite žemyn iki „Susietų durų pavadinimas“ir pasirinkite duris, prie kurių norite susieti srities portalą. Taip pat (ir tai labai svarbu) turite nustatyti Pradinė būsena teritorijos portalo į Pradinė būsena nuo durų. Taip siekiama užtikrinti, kad uždarius duris, plotas būtų uždarytas. Jei įdomu, ką tiksliai nurodo atviros/uždaros srities portalo būsenos, jei srities portalas yra atidarytas, visi atvaizdai, matomi kitoje teritorijos portalo pusėje, yra atvaizduojami. Priešingai, jei zonos portalas yra uždarytas, nieko, kas yra už teritorijos portalo, nebus atvaizduojama. Taigi, jei yra atviras prieškambaris, į kurį visada galėsite pamatyti, Pradinė būsena srities portalo vertė turėtų būti nustatyta kaip Atviras, o ne Uždaras. Kai būsite susieti su durimis, bet kokiu atveju negalėsite matyti pro duris, todėl nustatykite jas į Uždaryta, jei durys neršia (nebent jose yra skaidrus langas, o tada srities portalas turėtų būti nustatytas kaip Atidaryti ir ne net nesivargina susieti jo su durimis).

Įspėjimai

  • Niekada nedarykite sudėtingo šepetėlio naudodami tuščiavidurį įrankį. Viršūnės (šepečių kampai) susikers viena su kita ir tiesiog sukels didelę apleistą netvarką.
  • Užkimštukus naudokite tik kaip paskutinę priemonę. Tai labai daug atminties reikalaujantis elementas, taigi, jei butaforiją galima užsandarinti patalpoje, kurioje yra ploto portalai, arba jei yra įmanoma padalinti įbrėžimus užuominomis ir praleisti šepečius, atsisakykite okliuzerių.
  • Atviri srities portalai užima daug daugiau atminties, nes vaizdai yra apskaičiuojami realiuoju laiku. Patartina kuo dažniau naudoti uždarus srities portalus arba užuominų šepečius.

Rekomenduojamas: