Jak optimalizovat mapu v Hammer Editoru: 10 kroků (s obrázky)

Obsah:

Jak optimalizovat mapu v Hammer Editoru: 10 kroků (s obrázky)
Jak optimalizovat mapu v Hammer Editoru: 10 kroků (s obrázky)
Anonim

Chcete zrychlit výkon své vlastní mapy, nezanevřít na škytavku při vykreslování a zkrátit čas kompilace? Zde je několik tipů, které vám pomohou optimalizovat jakoukoli mapu v Hammeru.

Kroky

Optimalizace mapy v Hammer Editoru Krok 1
Optimalizace mapy v Hammer Editoru Krok 1

Krok 1. Utěsněte místnosti

To je nutnost. Pokud jsou na mapě JAKÉKOLI úniky, kompilátor nebude schopen určit hranice mapy a pokusí se vykreslit vše v mapě najednou. Ještě horší je, že jakékoli portály oblastí, kartáče náznaků a okluzory na mapě nebudou fungovat, takže budou k ničemu. Voda se také nevykreslí správně, pokud jsou na mapě nějaké netěsnosti.

  • Na obr. 1a není místnost zjevně uzavřena. Pokud zkomplikujete tuto mapu s tímto únikem, vvis (část kompilace, která určuje data viditelnosti) nebude schopna určit hranice mapy, protože visleaves jen "uniknou" ven do černé prázdnoty mimo naši mapu.
  • Na obr. 1b je místnost zapečetěna a bude správně sestavena.
  • Chcete -li zkontrolovat úniky, nejprve se ujistěte, že je na mapě alespoň jedna entita (například „info_player_start“), jinak to nebude fungovat. Uložte a zkompilovejte BSP stisknutím klávesy F9 nebo přejděte na Soubor -> Spustit mapu. Vyberte pro položku „Normální“ Spusťte BSPa u obou vyberte „Ne“ Spusťte VIS a Spusťte RAD (nezapomeňte také zkontrolovat „Po kompilaci nespouštějte hru“ krabice). Jakmile je kompilace hotová, zavřete protokol kompilace a přejděte na Mapu -> Načíst soubor bodů. Pokud dojde k úniku, požádá vás o potvrzení operace (např. „Načíst výchozí bodový soubor? [C: / Program Files / ----]) Vyberte„ Ano “a uvidíte vyčnívající červenou čáru od nejbližší entity* ven skrz oblast úniku. (* Proto potřebujete na mapě entitu, buď štětcem nebo bodem. Nefunguje to se světovými nebo detailními štětci.) Utěsněte únik, překompilovejte BSP a načtěte bodový soubor. Pokud je vše zapečetěno, mělo by jít pouze do prázdné složky v souboru Steam / steamapps / GAMERTAG / GAME / mapsrc složku. Než bude mapa uvolněna pro veřejnost, vždy zkontrolujte těsnost.
Optimalizace mapy v Hammer Editoru Krok 2
Optimalizace mapy v Hammer Editoru Krok 2

Krok 2. Vytvořte štětce pomocí „tools/toolsnodraw“

Ujistěte se, že vždy vytváříte štětce pomocí tools/toolsnodraw nejprve texturujte a poté texturujte pouze to, co hráč vidí z pohledu hráče. Pokud se chystáte vidět pouze jednu stranu stěny, texturujte pouze tuto viditelnou stranu.

Optimalizace mapy v Hammer Editoru Krok 3
Optimalizace mapy v Hammer Editoru Krok 3

Krok 3. Snižte počet štětců a ploch

Kdykoli je to možné, držte se vytváření geometrie pomocí několika velkých štětců než tisícem malých. Více štětců se rovná více plochám a více ploch znamená pomalejší výkon a čas kompilace. Sečteno a podtrženo: pokud můžete vytvořit složitou geometrii s jedním nebo dvěma štětci, proč použít něco jiného?

Na obr. 3a jsou dva štětce: ten vlevo byl vytvořen pomocí nástroje Arch Tool, který vytvořil 8stranný štětec se 40 tvářemi, a ten vpravo byl vytvořen z jediného ořezaného štětce s pouze 11 tvářemi. Toho bylo dosaženo pomocí nástroje Clipping Tool (Shift + X). Abyste toho dosáhli, doporučujeme nejprve vytvořit požadovaný geometrický tvar z nástroje Arch jako referenci. Poté vytvořte štětec se stejnou délkou, šířkou a výškou jako referenční oblouk a umístěte jej mírně nad odkaz. Vyberte štětec a ořízněte úhly. (Možná budete muset změnit velikost mřížky („-“pro zmenšení, „ +“pro zvětšení) a/nebo ručně přesunout vrcholy (Shift + V) referenčního oblouku, aby se přichytily k nejbližšímu bodu mřížky.) Nyní máte geometricky identický štětec, ale jen s menším počtem tváří

Optimalizace mapy v editoru Hammer Krok 4
Optimalizace mapy v editoru Hammer Krok 4

Krok 4. Dobře využijte štětce s detaily

Světové kartáče blokují viditelnost, uzavírají mapu a rozdělují BSP na „listy“, což je v zásadě způsob, jakým kompilátor určuje, co lze a co nelze v daném čase a místě vidět. Štětce detailů byly navrženy tak, aby byly v podstatě „neviditelné“pro překladač. Jediné kartáče, které by měly být světovými kartáči, jsou stěny, podlaha a strop místnosti. Skoro všechno ostatní v místnosti, které není fungující entitou a výrazně neblokuje hráčovu vizi, by mělo být svázáno se štětcem func_detail (kravata pomocí Ctrl + T). Protože štětce detailů neblokují viditelnost, nebudou kompilovány vvis výpočty a nerozdělí mapu na více listů (což je ve většině případů dobré). Mějte však na paměti, že ani mapa neuzavře. Jen se ujistěte, že všechny světové kartáče zapečetí mapu a že by neměly být žádné problémy.

Optimalizace mapy v Hammer Editoru Krok 5
Optimalizace mapy v Hammer Editoru Krok 5

Krok 5. Použijte portály oblasti a nápovědu použijte vhodně

Plošné portály a nápovědy jsou skvělými způsoby, jak omezit viditelnost a zvýšit výkon, pokud jsou prováděny správně. Neměli byste je však umisťovat do každé chodby a okna, protože částka k výpočtu toho, co má být vykresleno a kdy, by mohla velmi dobře překonat to, že se vykreslí celá místnost najednou. Místo toho byste měli oddělit pouze místnosti se spoustou detailů. Díky tomu bude váš počítač nucen vykreslovat mnoho nepotřebných objektů a pomůže zvýšit výkon, aniž by to významně zatěžovalo výpočty viditelnosti.

Optimalizace mapy v Hammer Editoru Krok 6
Optimalizace mapy v Hammer Editoru Krok 6

Krok 6. Použijte okludéry (střídmě)

Occludery jsou podobné portálu uzavřené oblasti, protože nevykresluje to, co je za ním. Je však odlišný od uzavřeného oblastního portálu v tom, že nepotřebuje utěsnit místnost (může být volně stojící a nedotýkat se světových štětců) a blokuje pouze 3D modely (aka rekvizity). Tento nástroj je velmi nákladný z hlediska využití paměti, takže byste měli používat okludéry pouze tehdy, když je za volně stojící zdí drahý 3D model, který nelze utěsnit plošnými portály.

Optimalizace mapy v Hammer Editoru Krok 7
Optimalizace mapy v Hammer Editoru Krok 7

Krok 7. Přidejte 3D Sky-boxy

Není to úplně nutné, ale pomůže to, aby mapa vypadala mnohem větší, aniž by drasticky zpomalovala FPS (snímky za sekundu). 3D skyboxy jsou obvykle vyráběny pro „velké“venkovní mapy, ale je možné je vytvořit pro vnitřní mapu, pokud vidíte exteriér oknem nebo tak něco. 3D skyboxy se vykreslují velmi levně a mohou způsobit, že se malá mapa zobrazí až 16krát větší, protože 3D skyboxy jsou v Hammeru nastaveny na měřítko 1/16 a během kompilace se zvětšují.

Optimalizace mapy v Hammer Editoru Krok 8
Optimalizace mapy v Hammer Editoru Krok 8

Krok 8. Přidejte mlhu

Na velkých venkovních mapách může mlha omezit vykreslování detailů a díky tomu může vaše mapa vypadat realističtěji. Jednoduše přidejte entitu env_fog_controller do své mapy. Na možnosti „Povolit mlhu“v Vlastnosti objektu na kartě vyberte „Ano“. Dále upravte soubor Rovina Clip Clip Pla podle vašeho vkusu, který po této vzdálenosti odstraní všechny štětce a odstraní vykreslování nepotřebných objektů (The Rovina Z Clip Plane hodnota by měla být větší než Konec mlhy hodnota).

Optimalizace mapy v Hammer Editoru Krok 9
Optimalizace mapy v Hammer Editoru Krok 9

Krok 9. Nezblázněte se na stupnici Lightmap

Měřítko světelné mapy v podstatě určuje, jak jsou na geometrii vykresleny ostré nebo rozmazané stíny. Větší čísla zhoršují kvalitu stínu, ale mohou zvýšit výkon. Naopak nižší měřítko světelné mapy zvyšuje vizuál stínů, ale může výrazně snížit výkon. Buď příliš velké, nebo příliš malé měřítko světelné mapy by mohlo způsobit nerealistický světelný efekt, který je buď příliš matný, nebo příliš ostrý. Výchozí měřítko světelné mapy pro všechny štětce je 16, což je vyvážená oblast mezi vizuály a výkonem.

Optimalizace mapy v Hammer Editoru Krok 10
Optimalizace mapy v Hammer Editoru Krok 10

Krok 10. Pokud má vaše mapa vodu, umístěte na ni entitu „water_lod_control“

Tato entita určuje, jak daleko musíte být od „drahé“vody, aby mohla přejít na „levnou“vodu. Drahá voda vypadá mnohem realističtěji než levná voda, a proto stojí více z hlediska využití paměti a výpočtů na počítači. Kratší přechodová vzdálenost bude produkovat levnější vodu na kratší vzdálenost, a proto ztratí hodně vizuální kvality, když bude na dálku, ale také zvýší výkon.

Tipy

  • Posunutí neblokuje viditelnost, takže abyste se ujistili, že je mapa zapečetěná, vytvořte pomocí tools/toolsnodraw texturu pod výtlakem a utěsněte s ní mapu (tj. rohy tohoto štětce se dotýkají rohů skyboxu). Stejně jako v prvním kroku se vždy ujistěte, že je mapa zapečetěna, jinak je prakticky každá optimalizační technika, která byla zmíněna, vyhozena z okna a do černé mezery zdrojového enginu.
  • Při vytváření plošných portálů (vytvořením štětce s texturou nástroje/nástroje a vázání na func_areaportal), je velmi důležité, aby se strany areaportalu, na které se nedívá skrz, dotýkaly světových štětců. Pokud například chcete umístit plošný portál do dveří, ale tyto dveře mají rám svázaný s func_detail, ne nechte kartáč areaportal dotýkat se zárubně, protože je to func_detail (a protože kartáče func_detail neovlivňují viditelnost, protokol kompilace se vrátí s netěsností). Místo toho by se plošný kartáč měl dotýkat stěn, stropu a podlahy dveří (což by měly být všechny světové kartáče) a protínat zárubeň. Nebojte se, že by mohlo dojít k „ořezání“kolem rámu dveří; rámeček bude ve hře stále vykreslen správně… je to prostě tam v editoru Hammer, aby kompilátor použil během vvis.
  • Tento článek předpokládá, že máte základní znalosti o rozhraní editoru Hammer (vytváření štětců, umísťování entit, vázání entit atd.).
  • Při vytváření štětců nápovědy texturujte pouze plochy, které fungují jako roviny nápovědy (plochy, které rozdělí BSP) pomocí nástroje/nápověda textura. Texturu každé druhé tváře na štětci nepůsobí jako rovina nápovědy nástroje/nástrojskip, jinak vytvoříte více vizitek, než byste chtěli.
  • Stav Otevřený/Zavřený oblastní portál můžete propojit s fungujícími dveřmi, jako je func_door, func_door_rotating nebo podobná entita. K tomu potřebují dveře, na které má areaportal odkazovat, jedinečné „jméno“. (Zadejte jméno dvojitým kliknutím na dveře a otevřete je Vlastnosti objektu okno a pod ním zadejte jednoduchý název název na kartě Informace o třídě.) Jakmile budete mít dveře pojmenované, přejděte na oblastní portál Vlastnosti objektu a přejděte dolů na „Název propojených dveří“a vyberte dveře, se kterými chcete propojit areaportal. Také (a to je velmi důležité) musíte nastavit Počáteční stav oblastního portálu k Počáteční stav dveří. Zajistíte tím, že když se dveře zavřou, areaportal se s nimi zavře. Pokud jste zvědaví, co přesně diktují stavy Otevřený/Zavřený areaportal, pokud je areaportal Otevřený, vykreslí se všechny visleaves, které jsou viditelné přes druhou stranu areaportal. Naopak, pokud je areaportal Closed, nebude vykresleno nic mimo areaportal. Pokud je tedy otevřená chodba, do které budete vždy vidět, pak Počáteční stav of the areaportal by mělo být nastaveno na Open, not Closed. A když jsou propojeny se dveřmi, stejně je za dveřmi neuvidíte, takže pokud jsou dveře zavřené, nastavte je na Zavřeno (pokud nemají průhledné okno, které byste měli mít oblastně nastavenou na Otevřít a ani se neobtěžujte propojit to se dveřmi).

Varování

  • Nikdy nedělejte složitý štětec s dutým nástrojem. Vrcholy (rohy kartáčů) se budou navzájem protínat a vytvoří jen velký nedbalý nepořádek.
  • Okluzory používejte pouze jako poslední možnost. Je to velmi náročné na paměť, takže pokud lze vrtuli uzavřít v místnosti plošnými portály nebo pokud je možné rozdělit visleaves pomocí nápovědy a přeskočit kartáče, pak se odhlásíte od používání okludorů.
  • Otevřené plošné portály jsou mnohem náročnější na paměť, protože visleaves jsou počítány v reálném čase. Doporučuje se používat často uzavřené plošné portály nebo nápovědy.

Doporučuje: