Optimalizace mapy: Pokročilé způsoby 1
28. Července 2010
Zde popíšu entitu Func_occluder.
Funkce entity Func_occluder
Má za úkol schovávat modely, které se za ní nacházejí. Funguje podobně jako Func_areaportal, ale s tím rozdílem, že modely schované za Func_occluder nebudou vidět i když je máte v zorném poli. Další rozdíl je, že nezpůsobuje Leak protože nemusí bezpodmínečně dělit dvě části mapy. Func_occluder stejně jako Func_areaportal je pro engine náročná entita, proto by se měla používat jen v případech, kdy zakryje dostatek modelů, aby se její použití vyplatilo. Efektivitu Func_occluder poznáte nejlépe na +showbudget. Nadměrné zbytečné používání těchto entit například k zakrytí pouze několika modelů by mohlo způsobit spíše sekání mapy než nějaký užitek.
Konstrukce Func_occluder
Occluder nemusí uzavírat hermeticky části levelu jak je tomu u Func_areaportal, ale může stát volně jako stěna. Vytvoříte ho tedy jako brush potažený materiálem Occluder nebo TRIGGER.
Je možné potáhnout materiálem Occluder nebo TRIGGER jen některé strany Func_occluder v tom případě bude z jedné strany modely schovávat, zatímco z druhé strany budou modely vidět. Strany, které nemají mít funkci occluderu lze potáhnout materiálem SKIP nebo NODRAW
Func_occluder je možné poslat příkaz Activate / Deactivate a je ji možno pojmenovat. Dále jde nastavit počáteční stav Active / Inactive.
Chování
Příkazem do console r_visocclusion 0/1 zobrazíte, které modely jsou zakryty a které nejsou.
Zelená – Nezobrazované modely
Červená – Zobrazené modely
Bílá – Stěna z Func_occluder