Příspěvek: 1
• Stránka 1 z 1
[!] Optimalizácia mapy part.1
Máte hotovú mapu, ale mapa sa nedá hrať kvôli malým FPSkám? Čítajte ďalej.
Pár poznámok k tutoriálu:
K tutoriálu:
Vytvoril som si malú, testovaciu mapu. Urobíme si pár screenov, keď mapa nieje vôbec optimalizovaná + budeme kompilovať VIS na FAST.

183 wpoly

267 wpoly

259 wpoly
V tomto dieli sa budeme zaoberať len druhým a tretím screenom.
Face - jedna stena brushu.
NULLovanie
NULLovanie je procedúra, kde aplikujete texturu
NULL na každý Face, ktorý si hráč nemá šancu všimnút počas normálnej hry.
Čo môžme NULLovať:
V tomto prípade, to sú pár Faces trubiek a skoro všetky Faces krabice.
Trubku najvyššie od podlahy oNULLujeme takto:

Trubku vedľa nej len takto:

A posledná je krabica:
Tú oNULLujeme tak, že označíme krabicu, otexturujeme celý brush texturou NULL

a Face pred hráčom otexturujeme texturou krabice.

Ak majú miestnosti viac prechodov, je potreba otexturovať aj druhú stranu, inak by na druhej strane hráč myslel, že tam žiadná krabica nieje.

258 wpoly = zbavili sme sa 9 wpoly
func_detail
Táto metóda optimalizácie máp je oveľa účinnejšia ako NULLovanie. Je to vlastne to, že zo všetkých brushov, ktoré slúžia ako detaily (krabice, trubky, káble zo svetiel, ...) spravíte entitu func_detail. Kompilátor (CSG) entitu func_detail nepočíta ako entitu, pretože brushe prevedené na túto entitu sú v hre ako klasické brushe s tým rozdielom, že nerežú ostatné brushe.
Takže.. všetky svetlá, krabice, v jednoduchosti detaily prevedieme na entitu func_detail, a je hotovo.
(neoznačujte úplne všetky detaily na mape do jednej entity, tým si len výkon mapy zhoršíte než zlepšíte!)
Není potreba nič nastavovať, iba v tejto situácii:
Ak označíme trubku a sivé 'kryty' do jedného func_detail, tie sivé srandy nám nebudú zbytočne tvoriť viac wpoly, ale trubka áno.

To vyriešite veľmi jednoducho:
Zo sivých sránd spravíte jeden func_detail, a z trubiek druhý func_detail s rozdielom, že vo func_detail trubky v Properties upravíme Detail level na 2.
A ešte dráty zo svetiel:
Tie označíme, spravíme z nich func_detail, a v Properties upravíme kolonku Passable na Yes a taktiež mu dáme Detail level na 2, keďže sa dotýka svetla.

115 wpoly = zbavili sme sa 143 wpoly, a viac ako 140 wpoly už je celkom dosť.
Scale
Táto metóda taktiež súvisi s texturami. Je to zväčšovanie veľkostí textúr na brushi. Jeho nevýhodou je to, že čím väčší scale, tým je textura viac rozmazanejšia, ale tým menšie wpoly. Tento druh optimalizácie sa dá najlepšie zbadať na mape jb_snow, kde má každý brush minimálne trojnásobny scale. Oplatí sa scalovať podlahy, stropy, alebo jednofarebné textury.
Takže, si otvoríme Texture Application Mode (Shift + A), označíme si podlahu aj strop, a v tabuľke Texture Application Mode si všimneme v ľavom hornom rohu čast Scale:

Každý nový brush má Scale 1.000 x 1.000, a najideálnejšia cesta, je upraviť Scale medzi 1.000 až 2.000, v niektorých prípadoch maximálne 2.750. Hodnota 3+ je už príliš moc.

Scale 1.000 x 1.000

Scale 1.500 x 1.500

102 wpoly = zbavili sme sa 13 wpoly, takže tromi metódami sme sa zbavili celkovo 165 wpoly v malej miestnosti.
V ďalšiom a poslednom parte sa pozrieme na ďalšie 2 zložitejšie metódy.
Prikladová mapa (.rmf).
Pár poznámok k tutoriálu:
- • Ak tvoríte mapu, ktorá sa odohráva vo veľkej krabici aneb. otvorenú mapu (jail_buyukisyan_dark, jb_snow, jail_russia, ...), je dosť pravdepodobné, že vám žiadná rada nepomôže, kvôli otvorenosti mapy.
• Ak máte aj 20 FPS na malej fy_*, awp_* mape, uistite sa, že mapa nemá nijakú chybu (LEAK, entity mimo hrateľnú časť, ...).
• Kľúčom máp s dobrými FPS hodnotami, sú koridory (zm_cpl_mill_kamp, jail_bailonX.)
K tutoriálu:
Vytvoril som si malú, testovaciu mapu. Urobíme si pár screenov, keď mapa nieje vôbec optimalizovaná + budeme kompilovať VIS na FAST.

183 wpoly

267 wpoly

259 wpoly
V tomto dieli sa budeme zaoberať len druhým a tretím screenom.
Face - jedna stena brushu.
NULLovanie
NULLovanie je procedúra, kde aplikujete texturu

Čo môžme NULLovať:
- Faces entít, ktoré sa dotýkaju klasických brushov
Druhé strany niejakých barikád, kam sa hráč nedostane (len noclipom, Spectate módom)
Niejaké spody lavíc, stoličiek, ...
V tomto prípade, to sú pár Faces trubiek a skoro všetky Faces krabice.
Trubku najvyššie od podlahy oNULLujeme takto:

Trubku vedľa nej len takto:

A posledná je krabica:
Tú oNULLujeme tak, že označíme krabicu, otexturujeme celý brush texturou NULL

a Face pred hráčom otexturujeme texturou krabice.

Ak majú miestnosti viac prechodov, je potreba otexturovať aj druhú stranu, inak by na druhej strane hráč myslel, že tam žiadná krabica nieje.

258 wpoly = zbavili sme sa 9 wpoly
func_detail
Táto metóda optimalizácie máp je oveľa účinnejšia ako NULLovanie. Je to vlastne to, že zo všetkých brushov, ktoré slúžia ako detaily (krabice, trubky, káble zo svetiel, ...) spravíte entitu func_detail. Kompilátor (CSG) entitu func_detail nepočíta ako entitu, pretože brushe prevedené na túto entitu sú v hre ako klasické brushe s tým rozdielom, že nerežú ostatné brushe.
Takže.. všetky svetlá, krabice, v jednoduchosti detaily prevedieme na entitu func_detail, a je hotovo.
(neoznačujte úplne všetky detaily na mape do jednej entity, tým si len výkon mapy zhoršíte než zlepšíte!)
Není potreba nič nastavovať, iba v tejto situácii:
Ak označíme trubku a sivé 'kryty' do jedného func_detail, tie sivé srandy nám nebudú zbytočne tvoriť viac wpoly, ale trubka áno.

To vyriešite veľmi jednoducho:
Zo sivých sránd spravíte jeden func_detail, a z trubiek druhý func_detail s rozdielom, že vo func_detail trubky v Properties upravíme Detail level na 2.
- Poznámka: Ak máte na sebe viac func_detailov, ktoré sa môžu rezať, je potreba nastaviť správny Detail level, aby sa nerozsekávali.
A ešte dráty zo svetiel:
Tie označíme, spravíme z nich func_detail, a v Properties upravíme kolonku Passable na Yes a taktiež mu dáme Detail level na 2, keďže sa dotýka svetla.

115 wpoly = zbavili sme sa 143 wpoly, a viac ako 140 wpoly už je celkom dosť.
Scale
Táto metóda taktiež súvisi s texturami. Je to zväčšovanie veľkostí textúr na brushi. Jeho nevýhodou je to, že čím väčší scale, tým je textura viac rozmazanejšia, ale tým menšie wpoly. Tento druh optimalizácie sa dá najlepšie zbadať na mape jb_snow, kde má každý brush minimálne trojnásobny scale. Oplatí sa scalovať podlahy, stropy, alebo jednofarebné textury.
Takže, si otvoríme Texture Application Mode (Shift + A), označíme si podlahu aj strop, a v tabuľke Texture Application Mode si všimneme v ľavom hornom rohu čast Scale:

Každý nový brush má Scale 1.000 x 1.000, a najideálnejšia cesta, je upraviť Scale medzi 1.000 až 2.000, v niektorých prípadoch maximálne 2.750. Hodnota 3+ je už príliš moc.

Scale 1.000 x 1.000

Scale 1.500 x 1.500

102 wpoly = zbavili sme sa 13 wpoly, takže tromi metódami sme sa zbavili celkovo 165 wpoly v malej miestnosti.
V ďalšiom a poslednom parte sa pozrieme na ďalšie 2 zložitejšie metódy.
Prikladová mapa (.rmf).
alf
-
ackocc - Drbna
- Příspěvky: 255
- Registrován: 18 črc 2017, 08:21
[!] Optimalizácia mapy part.1
A uz jsi vyzkousel treba tohle? 

-
Rumcajz - Patriot
- Příspěvky: 97323
- Registrován: sob 29.led 1999 0:11:22
Příspěvek: 1
• Stránka 1 z 1
Kdo je online
Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků