tvorbamap.cz

tvorbamap.cz

Navigace

bullet.gif

Domů


bullet.gif

Články


bullet.gif

Ke stažení


bullet.gif

Fórum


bullet.gif

FAQ



bullet.gif

Herní server


bullet.gif

Chat


bullet.gif

Převod jednotek



bullet.gif

Soutěž


bullet.gif

Síň slávy



bullet.gif

Podpořte nás


bullet.gif

Kontakt


bullet.gif

Vyhledávání


bullet.gif

RSS


Herní server

Shoutbox

Pro přidání zprávy do shoutboxu, musíte být přihlášeni.

30.08.2024 13:05:52
Ano, slouží od toho lights.rad file (případně jiný název). Nastavuje se v RAD sekci.
±0


12.05.2024 22:40:06
existuje v goldsrc možnost textur ktoré vytvárajú osvetlenie?
±0


13.01.2024 19:02:53
bohužel je rozmanitost map dost limitována enginem
±0


13.01.2024 19:01:49
na kotelně už je přes 10 let rc cars mód :)
±0


19.12.2023 22:14:07
Viděl jsem Rally mod na GoldSRC ale mod přímo na serveru v CS 1.6 mě teda překvapil :)

PS.: Já tak nemám rád ty nové shorts videa na výšku co se nedají posouvat.
±0


07.11.2023 12:13:08
Rocket League v CS 1.6? Kam se hrabe BMod...
https://www.youtu...svJz-FS8Yo
+1


04.11.2023 19:11:48
Jedli ste už niekto fritovaný snickers? je to pecka.
-1


15.12.2022 15:52:59
ako kto, praví Bruti mladnú :D inak aj napriek tomu, že je to tu už mrtve, všetko najlepšie;)
±0


13.12.2022 12:35:18
Zítra to bude 13 let od založení tohoto portálu.
To já jen tak, abyste si uvědomili, jak rychle stárnete.
±0


07.09.2022 23:43:14
Ahojte, po siedmich rokoch som sa nostalgicky pozrel spat na toto forum a ono este stale existuje :) Nedokazal som si obnovit stary ucet, email uz je zruseny tak aspon takto sa hlasim ;)
±0


Optimalizace CSG & VIS

(Rady, tipy, triky)

Před čtením tohoto článku by se vám mohlo hodit vědět co je to VHLT a co jednotlivé programy dělají (kompilace do hloubky 1,2).

Optimalizace CSG



Když už víme, co CSG dělá, můžeme mu do toho začít fušovat. Konkrétně nám půjde o řezání faců podle hran ostatních faců. Začneme u takové obyčejné věci, kterou jsou schody.
optimalizace0000
O optimalizaci schodů jsem už něco málo psal - seříznout, převést na func_wall a zbytek vyplnit brushem (nejen aby to nevypadalo divně, ale taky aby nevznikl LEAK). Donedávna by to bylo nejlepší řešení, jenže před týdnem vluzacn vydal novou verzi VHLT, kde přináší jedinečnou novinku - func_detail. Oldschool mapperům bude použití func_detail připomínat techniku odsazení brushe o 1 hu od zdi, jiným zase opaque func_wall. Brushe převedené na tuto "entitu" se po zkompilování stanou opět brushi (huh, tady to skloňování vypadá opravdu zvláštně) s pár odlišnostmi - jejich facy nebudou řezat okolní facy a také nebudou blokovat VIS. Přesto si ale zachovají své výhody ohledně viditelnosti a stínů. Je to taková ideální syntéza func_wall a brushe. Konec básnění, je čas vyměnit func_wall za func_detail:
optimalizace0001
Povedlo se nám ušetřit 20 wpoly bez žádných vedlejších následků.

Další ožehavá věc ohledně řezání jsou válce:
optimalizace0002
Řešení je jednoduché - použít func_detail (u func_wall je menší viditelnostní problém) nebo udělat starý trik s podstavcem - mezi válec a zem dáme func_wall (v případě potřeby stínů func_detail). Odsazovat objekty o 1 hu od stěny už dnes neletí.
optimalizace0003

Stále zmiňuji viditelnostní problém u func_wall - jaktože včera byl žádaným zbožím a dnes ho nechceme ani zadarmo? Vzadu na tomto obrázku vidíme levé schodiště a levý sloup - oba jsou func_wall; pravé schodiště ani pravý sloup nevidíme, protože jsou func_detail. I přes tuto maličkost se nám func_wall hodí na místa, kde chceme ušetřit na výpočtu stínů - různé menší detaily, nebo i samotná svítidla.
optimalizace0004

Další věc, která by stála za zmínku, jsou skály. U nich bych se neuchyloval k převodu na entitu ani func_detail, jen bych je zarovnal do nějaké rozumné mřížky... cože? Říkáte ze nevidíte důvod pracovat "v mřížce"?
optimalizace_skaly

Ještě bych připomenul, že se facy řežou také po určitých úsecích - scale_textury*240 - z čehož vyplývá, že pokud použijeme větší scale textur, snížíme wpoly - kdo by to ale dělal?

Kromě řezání faců má CSG na povel i zahazování zbytečných faců. Tím se dostáváme k nejvíce přeceňované věci zde na webu - NULLování. Co má cenu nullovat?
1. Facy, které jsou zakryté po celé své ploše jiným facem - konkrétněji jen při dotyku entity s entitou, nebo entity s brushem. Když se dotýkají dva brushe, face je zahozen automaticky. U func_detail záleží na nastavení.
2. Vnější facy skyboxu - z brushů tvořící skybox se vytvoří nepotřebná dutina plná zbytečných faců, které se oNULLováním zbavíme.

Rozhodně nemá cenu NULLovat celou mapu. Nedosáhnete tím menšího wpoly, natož rychlejší kompilace (maximálně CSG které stejně trvá v rámci sekund).


Optimalizace VIS



S VISem se už také známe. Ten svou práci většinou odvádí správně. Pokud mu ovšem dáme dobrý materiál ke zpracování. Drtivá většina problémů s VISem je způsobená špatnou koncepcí mapy - pokud máme v mapě rozlehlé spojité oblasti, nebo místnosti se spoustou detailů, nemůžeme se divit vysokému wpoly. Také by se dalo říci, že pokud se na vaší mapě dá sniperovat více než je zdrávo (např. venkovní nebo přespříliš zvětšené mapy), je na vaší mapě i špatný VIS. Klíčem k dobře optimalizované mapě jsou zahnuté chodby, schody a tunely - díky nim můžeme vymýtit místa, odkud je vidět přespříliš velká část mapy.

My se ale se slovem většina nespokojíme - určitě najdeme na naší mapě místo, které bychom mohli manuálně vylepšit.
optimalizace_nohint1optimalizace_nohint2optimalizace_nohint3optimalizace_nohint4

Všimněte si, že se vykreslují oblasti za schody, které z těch míst nemůžeme nikdy vidět. Naštěstí tu máme dvě magické textury HINT a SKIP, díky kterým můžeme VISu poradit, jak by se nám to líbilo. Záměrně píšu poradit a ne přikázat, protože se jednoduše může stát, že se naše rada zahodí už někde u kompilace CSG / BSP.
Co je vlastně ten HINT a SKIP? V ideálním případě by face s texturou HINT měl vynutit vytvoření VIS portálů na sobě samotném. Protože nám jde jen o jeden face, ostatní facy pokryjeme texturou SKIP - jak již název napovídá, tato textura je k ničemu, facy s touto texturou se zahodí hned při kompilaci CSG.

Uvažujme že VIS v naší mapě vypadá nějak takto - červené oblasti jsou leafy, zelené jsou portály, růžové šipky značí odkuď to vidíme (odevšad vidíme všechno).
optimalizace_vis1

Nám by se ale hodilo, abychom přes schody neviděli - toho docílíme horizontálním HINTem (modrá čára)
optimalizace_vis2
optimalizace_vhehint1

Po přidání pár dalších HINTů (např. kolem okraje schodiště) získáme kýžené výsledky:
optimalizace_hint1optimalizace_hint2optimalizace_hint3optimalizace_hint4

Co říct na závěr? Kompilujte VIS na full a nedělejte prasečiny (anti-leak krychle kolem celé mapy). Pokud si chcete nějakou z věcí popisovaných zde v článku vyzkoušet na vlastním stroji, stahujte příkladovou mapu.

Speciální poděkování patří Welderovi a Marquezovi za překlad článku o optimalizaci fps, který jsem nepoužil kvůli zastaralosti a nedůležitosti některých informací; posloužil alespoň jako inspirace.

Komentáře

#1 |
Habax dne 23.11.2011 06:37:10 |
+1
perfektné... :D Som zvedavý ako ďaleko to môže ešte zájsť.. :D
#2 |
Dominio dne 23.11.2011 07:16:47 |
+1
Super článek! Jak jsem se tak dozvěděl, tak func_detail je teda velmi šikovná entita ;)
#3 |
XXL_cz dne 23.11.2011 10:31:51 |
+1
Myslim že to je další víc než výbornej článek, všechno je dobře vysvětlený i ty obrázky jsou moc dobré. :) Hodnotim za výborné.
#4 |
lynx dne 23.11.2011 23:06:41 |
+1
hmm..func_detail.. chcelo by to prekopat stare mapy, odskusat to a porovnat boost/detaily :) clanok jednoznacne za 1 s * :)
#5 |
XXL_cz dne 24.11.2011 11:23:25 |
±0
@lynx: Ono to func_detail bylo už ve verzi 24, ale ta nebyla vydána tam, kde dycky bývá. Takže to mělo jen pár vyvolených (backup to našel někde na stránce od vluzacna) Jedinou nevýhodou bylo to, že ten func_detail byl napsanej čínsky :D

Ale to se dalo vyřešit vypnutím smart editu.
#6 |
Habax dne 10.11.2012 08:36:52 |
-1
Ty si napísal: Rozhodně nemá cenu NULLovat celou mapu. Nedosáhnete tím menšího wpoly, natož rychlejší kompilace. No a v tom článku sa píše:
3. NULL texture.
Nothing much to say about it. This method one of the most known tips to reduce wPolys. Just apply NULL or SKY texture to all faces that players cant see directly ingame, that would remove unwanted polygons from the map.
#7 |
Dominio dne 10.11.2012 14:36:33 |
+1
Vyplatí se to jen na facy, které hráč nemůže odnikud vidět. Takže třeba druhá strana nějaké barikády. A to je většinou jen pár faců, takže když chceš snížit wPoly, moc ti to nepomůže.
#8 |
XXL_cz dne 10.11.2012 20:19:02 |
+1
Habax: Tak jako je to tak i není.

Rozhodně nemá cenu onullovat 2 strany 2 brushů, které se dotýkají. Protože se při kompilaci stejně zahodí a nejsou tam. Takže to výjde na stejno.

Ale když to použiješ třeba do nějaký místnosti do které vidíš jen spřes prosklené okýnko ve dveřích, při použití na strany místnosti které nevidíš, to už odstraníš facy, které nemůžeš z pohledu hráče vidět. Takže tam to cenu má a ušetří to polygony.
#9 |
Fallen Angel dne 07.03.2013 14:20:54 |
±0
nie a nie pochopit ten navod

Přidat komentář

Pro přidání komentáře musíte být přihlášený.

Hodnocení

Pro hodnocení musíte být registrovaný.

Prosím přihlašte se nebo se zaregistrujte.

Výborné! Výborné! 100% [6 Hlasů]
Chvalitebné Chvalitebné 0% [Žádné hlasy]
Dobré Dobré 0% [Žádné hlasy]
Dostačující Dostačující 0% [Žádné hlasy]
Nedostačující Nedostačující 0% [Žádné hlasy]

Přihlášení

Jméno

Heslo



Nejste členem?
Zaregistrujte se!

Ztracené heslo?

Seznam článků

Diskuze fóra

Nejnovější příspěvky


bullet.gif

Ako zmeniť predvo...

(BRUT)
bullet.gif

Neexistují...

(Asiimovicek)
bullet.gif

Miznúce objekty

(Gyuki)
bullet.gif

trigger

(nifty)
bullet.gif

Chyba kompilace...

(Backup)
bullet.gif

Svetlo sa nec...

(boxolop1)
bullet.gif

map change fa...

(boxolop1)
bullet.gif

Svetlo

(boxolop1)
bullet.gif

MAPY

(Slivka)
bullet.gif

Pády serveru př...

(latins)

Odkazy

Kotelna Mix-Arena.eu - Gaming portál AMX Mod X nonsteam.cz - seznam CZ/SK Non-Steam Counter Strike serverů

Twitter & FB


Kdo je on-line

bullet.gif Hosté on-line: 30

bullet.gif Členové on-line: 0

bullet.gif Registrovaní členové: 949
bullet.gif Nejnovější člen: verseludes