Ako optimalizovať mapu v kladivovom editore?

Štetce a okludéry na mape nebudú fungovať
Ešte horšie je, že akékoľvek portály oblastí, štetce a okludéry na mape nebudú fungovať, takže budú zbytočné.

Chcete urýchliť výkon svojej vlastnej mapy, nezaháľať v škytavkách pri vykresľovaní a skrátiť čas kompilácie? Tu je pár tipov, ktoré vám pomôžu optimalizovať akúkoľvek mapu v Hammeri.

Kroky

  1. 1
    Utesnite miestnosti. To je nevyhnutné. Ak sa na mape vyskytnú AKÉkoľvek netesnosti, kompilátor nebude schopný určiť hranice mapy a pokúsi sa vykresliť všetko, čo je na mape naraz. Ešte horšie je, že akékoľvek portály oblastí, štetce a okludéry na mape nebudú fungovať, takže budú zbytočné. Voda sa tiež nevykreslí správne, ak sú na mape nejaké netesnosti.
    • Na obrázku 1a nie je miestnosť evidentne zapečatená. Ak skompilováte túto mapu s týmto únikom, vvis (časť kompilácie, ktorá určuje údaje o viditeľnosti) nebude môcť určiť hranice mapy, pretože vidlice jednoducho „uniknú“ von do čiernej prázdnoty mimo našej mapy..
    • Na obrázku 1b je miestnosť zapečatená a bude správne zostavená.
    • Ak chcete skontrolovať úniky, najskôr sa uistite, že je na mape aspoň jedna entita (napríklad „info_player_start“), inak to nebude fungovať. Uložte a skompilovajte BSP stlačením klávesu F9 alebo prejdite na položku Súbor -> Spustiť mapu. Pre Run BSP zvoľte „Normal“ a pre Run VIS a Run RAD zvoľte „No“ (nezabudnite tiež zaškrtnúť políčko „Nespúšťať hru po kompilácii“ box). Keď je kompilácia hotová, zatvorte protokol kompilácie a prejdite na položku Mapa -> Načítať súbor bodov. Ak dôjde k nejakému úniku, požiada vás o potvrdenie operácie (napr. „Načítať predvolený bodový súbor? [C: \ Program Files \ - - ->]) Vyberte„Áno “a uvidíte červenú čiaru vyčnievajúcu z najbližšia entita* von cez oblasť úniku. (* Preto potrebujete na mape entitu, buď štetcovú alebo bodovú. Nefunguje to so svetovými ani detailnými štetcami.) Utesnite únik, prekompilujte BSP, a načítajte bodový súbor. Ak je všetko zapečatené, malo by ísť do prázdneho priečinka v priečinku Steam \ steamapps \ gamertag \ game \ mapsrc. Pred zverejnením mapy vždy skontrolujte, či nedochádza k úniku.
  2. 2
    Štetce vytvorte pomocou „tools/toolsnodraw“. Uistite sa, že vždy najskôr vytvoríte štetce s textúrou tools/toolsnodraw a až potom textúrujte iba to, čo hráč vidí z pohľadu hráča. Ak chcete vidieť iba jednu stranu steny, textúrujte iba túto viditeľnú stranu.
  3. 3
    Znížte počet štetcov a tvárí. Kedykoľvek je to možné, držte sa vytvárania geometrie pomocou niekoľkých veľkých štetcov, nie tisíc malých. Viac štetcov rovná sa viac tvárí a viac tvárí znamená nižší výkon a čas kompilácie. Zrátané a podčiarknuté: Ak môžete vytvárať zložitú geometriu pomocou jedného alebo dvoch štetcov, prečo použiť niečo viac?
    • Na obr. 3a sú dve kefy: tá vľavo bola vytvorená pomocou nástroja Arch Tool, ktorý vytvoril 8-stranný štetec so 40 tvárami, a ten vpravo bol vyrobený z jedného orezaného štetca s iba 11 tvárami. To sa dosiahlo pomocou nástroja Clipping Tool (Shift + X). Aby ste to dosiahli, odporúča sa najskôr vytvoriť požadovaný geometrický tvar z nástroja Archnajskôr pre referenciu. Potom vytvorte štetec s rovnakou dĺžkou, šírkou a výškou ako referenčný oblúk a umiestnite ho mierne nad referenciu. Vyberte kefu a orežte uhly. (Možno budete musieť zmeniť veľkosť mriežky („-“ na zmenšenie, „+“ na zvýšenie) a/alebo manuálne posunúť vrcholy (Shift + V) referenčného oblúka, aby sa prichytili k najbližšiemu bodu mriežky.) Teraz máte geometricky identický štetec, ale iba s menším počtom tvárí!
  4. 4
    Dobre využite kefy na detaily. Svetové kefy blokujú viditeľnosť, pečatia mapu a rozdeľujú BSP na „listy“, čo je v zásade spôsob, akým kompilátor určuje, čo je a čo nie je možné vidieť v danom čase a mieste. Detailné kefy boli navrhnuté tak, aby boli v podstate „neviditeľné“ pre kompilátor. Jediné kefy, ktoré by mali byť svetovými kefami, sú steny, podlaha a strop miestnosti. Skoro všetko ostatné v miestnosti, čo nie je fungujúcou entitou a výrazne neblokuje víziu hráča, by malo byť viazané na kefu func_detail (kravatu pomocou Ctrl + T). Pretože kefy s detailmi neblokujú viditeľnosť, nebudú zostavené vo vvisivýpočty a nerozdelí mapu na viac listov (čo je vo väčšine prípadov dobré). Majte však na pamäti, že mapa tiež neuzatvorí. Uistite sa, že všetky kefy sveta zapečatia mapu a že by nemali byť žiadne problémy.
  5. 5
    Vhodne používajte portály oblasti a štetce. Plošné portály a kefy na nápovedu sú skvelými spôsobmi, ako obmedziť viditeľnosť a zvýšiť výkon, ak sú vykonané správne. Nemali by ste ich však umiestňovať do každej chodby a okna, pretože množstvo na výpočet toho, čo sa má vykresliť a kedy, by mohlo veľmi dobre prevýšiť to, že sa vykreslia všetky miestnosti naraz. Namiesto toho by ste mali oddeľovať iba miestnosti s veľkým počtom detailov. Vďaka tomu bude váš počítač musieť vykresľovať mnoho nepotrebných predmetov a pomôže zvýšiť výkon bez toho, aby ste výrazne zaťažovali výpočty viditeľnosti.
  6. 6
    Používajte okludéry (striedmo). Okludéry sú podobné portálu uzavretej oblasti, pretože nevykresľuje to, čo je za ním. Je však odlišný od uzavretého plošného portálu v tom, že nepotrebuje utesniť miestnosť (môže byť voľne stojaci a nesmie sa dotýkať svetových štetcov) a blokuje iba 3D modely (alias rekvizity). Tento nástroj je veľmi nákladný na využitie pamäte, takže okluzory by ste mali používať iba vtedy, ak je za voľne stojacou stenou drahý 3D model, ktorý nemožno utesniť plošnými portálmi.
  7. 7
    Pridajte 3d nebeské boxy. Nie je to úplne nevyhnutné, ale pomôže to tomu, aby mapa vyzerala oveľa väčšia bez drastického spomalenia FPS (počet snímok za sekundu). 3D skyboxy sú zvyčajne vyrobené pre „veľké“ vonkajšie mapy, ale je možné ich vytvoriť aj pre vnútornú mapu, ak vidíte exteriér cez okno alebo niečo podobné. 3D skyboxy sú veľmi lacné na vykreslenie a môžu spôsobiť, že malá mapa bude až 16 -krát väčšia, pretože 3D skyboxy sú v Hammeri nastavené na mierku 16 a potom počas kompilácie zväčšené.
  8. 8
    Pridajte hmlu. Na veľkých vonkajších mapách môže hmla obmedziť množstvo vykresľovaných detailov a vďaka tomu môže vaša mapa v tomto procese pôsobiť realistickejšie. Jednoducho pridajte entitu env_fog_controller na svoju mapu. Na možnosti „Povoliť hmlu“ na karte Vlastnosti objektu vyberte „Áno“. Ďalej upravte rovinu klipu Far Z podľa svojho vkusu, čím sa po tejto vzdialenosti odstránia všetky kefy, čím sa odstráni motor, ktorý vykresľuje nepotrebné objekty (Hodnota roviny klipu Far Z by mala byť väčšia ako koncová hodnota hmly).
  9. 9
    Nezbláznite sa na stupnici svetelnej mapy. Stupnica svetelnej mapy v podstate určuje, ako sú na geometrii vykreslené ostré alebo rozmazané tiene. Väčšie čísla zhoršujú kvalitu tieňa, ale môžu zvýšiť výkon. Naopak, nižšia mierka svetelnej mapy zvyšuje vizuál tieňov, ale môže výrazne znížiť výkon. Buď príliš veľká, alebo príliš malá mierka svetelnej mapy môže spôsobiť nereálny svetelný efekt, ktorý je buď príliš nudný alebo príliš ostrý. Predvolená mierka svetelnej mapy pre všetky kefy je 16, čo je vyvážená oblasť medzi vizuálom a výkonom.
  10. 10
    Ak je na vašej mape voda, umiestnite na mapu entitu „water_lod_control“. Táto entita určuje, ako ďaleko musíte byť od „drahej“ vody, aby mohla prejsť na „lacnú“ vodu. Drahá voda vyzerá oveľa realistickejšie ako lacná voda, a preto stojí viac za využitie pamäte a výpočty v počítači. Kratšia prechodová vzdialenosť bude produkovať lacnejšiu vodu na kratšiu vzdialenosť, a preto stratí veľa vizuálnej kvality, keď bude na diaľku, ale tiež zvýši výkon.
(*Preto na mape potrebujete entitu
(*Preto na mape potrebujete entitu, buď štetcovú alebo bodovú.

Tipy

  • Posuny to nie je blokovať viditeľnosť, takže sa uistite, že je mapa uzavretý vytvoriť svetový kefa s nástrojmi / toolsnodraw textúra pod výtlakom a mapy s ním (tj majú rohy tohto kefy dotýkať rohy Skybox) utesnenie. Rovnako ako v prvom kroku sa vždy uistite, že je mapa zapečatená, inak je prakticky každá optimalizačná technika, ktorá bola spomenutá, vyhodená von oknom a do čiernej medzery zdrojového motora.
  • Pri vytváraní plošných portálov (vytvorením štetca s textúrou tools/toolsareaportal a jeho zviazaním s func_areaportal) je veľmi dôležité, aby sa strany areaportal, ktoré nie sú prezerané, dotýkali svetových štetcov. Napríklad, ak chcete umiestniť areaportal vo dverách, ale že dvere majú rám viazaná na func_detail by ste ani mať areaportal kefa dotýka zárubňu, pretože je func_detail (a pretože func_detailkefy neovplyvňujú viditeľnosť, protokol kompilácie sa vráti s únikom). Plošná portálna kefa by sa mala namiesto toho dotýkať stien, stropu a podlahy dverí (čo by všetko mali byť svetové kefy) a pretínať zárubňu. Nebojte sa, že by mohlo dôjsť k „orezaniu“ z okolo rámu dverí; rámček sa ešte bude v hre vykresľovať správne... jednoducho je to v editore Hammer, aby ho kompilátor mohol použiť počas programu vvis.
  • Tento článok predpokladá, že máte základné znalosti o rozhraní programu Hammer Editor (vytváranie štetcov, umiestňovanie entít, viazanie entít atď.).
  • Pri vytváraní štetcov s náznakmi textúrujte povrchy, ktoré pôsobia ako roviny nápovedí (tváre, ktoré budú rozdeľovať BSP), iba pomocou textúry nástrojov/nástrojov. Každú druhú tvár na štetci textúrujte tak, aby nepôsobila ako rovina náznaku s nástrojmi/preskočením nástrojov, inak vytvoríte viac vizáží, ako chcete.
  • Stav otvoreného/zatvoreného oblastného portálu môžete prepojiť s funkčnými dverami, ako napríklad s func_door, func_door_rotating alebo s podobnou entitou. Aby to urobili, dvere, na ktoré chcete prepojiť areaportal, potrebujú jedinečný „názov“. (Zadajte meno dvojitým kliknutím na dvere, čím sa otvorí jeho okno Vlastnosti objektu, a zadajte ho jednoduchým názvom v časti Meno na karte Informácie o triede.) Keď máte dvere pomenované, prejdite na vlastnosti objektu areaportal a posuňte sa nadol na položku „Názov prepojených dverí“ a vyberte dvere, s ktorými chcete prepojiť areaportal. Tiež (a to je veľmi dôležité) musíte nastaviť Počiatočný stav areaportalu na Počiatočný stav dverí. Čo to robí, je zaistiť, aby sa pri zatvorení dverí priestorový portál zatvoril spolu s nimi. Ak vás zaujíma, čo presne diktujú stavy Otvorené/Zatvorené areaportal, ak je areaportal otvorený, vykreslia sa všetky pohľady, ktoré sú viditeľné z druhej strany areaportalu. Naopak, ak je priestorový portál zatvorený, potom sa nevykreslí nič nad rámec areaportalu. Ak je teda k dispozícii otvorená chodba, do ktorej budete vždy vidieť, počiatočný stav areaportal by mal byť nastavený na hodnotu Open, nie Closed. A keď sú prepojené s dverami, cez dvere aj tak neuvidíte, preto ich nastavte na Zatvorené, ak sa dvere zatvoria (pokiaľ nemajú priehľadné okno, v ktorom by ste potom mali priestorový port nastaviť na Otvoriť a Dokonca sa neobťažujte prepojiť ho s dverami).
Umiestnite na mapu entitu „water_lod_control“
Ak je na vašej mape voda, umiestnite na mapu entitu „water_lod_control“.

Varovania

  • Nikdy nevyrábajte komplikovanú kefu s dutým nástrojom. Vrcholy (rohy štetcov) sa budú navzájom pretínať a budú vytvárať len veľkú nedbalý neporiadok.
  • Okluzory používajte iba ako poslednú možnosť. Je to veľmi náročné na pamäť, takže ak je možné rekvizitu zapečatiť v miestnosti pomocou plošných portálov alebo ak je možné štetiny rozdeliť pomocou náznaku a preskočiť kefy, odhláste sa z používania okludérov.
  • Otvorené areaportals sú oveľa viac náročné na pamäť, pretože visleaves sú počítané v reálnom čase. Odporúča sa používať buď uzavreté plošné portály, alebo štetce s náznakmi tak často, ako je to možné.
Kompilátor nebude schopný určiť hranice mapy
Ak sa na mape vyskytnú AKÉkoľvek netesnosti, kompilátor nebude schopný určiť hranice mapy a pokúsi sa vykresliť všetko, čo je na mape naraz.

Veci, ktoré budete potrebovať

  • Počítač
  • Steam
  • Source SDK Base 2007 alebo Source SDK Base 2013 pre jedného hráča / pre viacerých hráčov (dá sa stiahnuť z karty Nástroje v službe Steam)
  • Source SDK (dá sa stiahnuť z karty Nástroje na Steame, ale vyžaduje sa to iba vtedy, ak používate základňu 2007, ak používate 2013, neobťažujte sa sťahovaním Source SDK, pretože je súčasťou sťahovania pre Source SDK base 2013).
  • Hammer editor (dodáva sa s SDK)
  • Základné/stredne pokročilé znalosti editora Hammer
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail