NWN2 PW svět bez lagů (3.část)

V minulém díle jsme se dozvěděli jak optimalizovat lokaci a walkmesh. V tomto díle vám přeložím další část článku z NWN2Wiki „PW Builders Guidelines„, kde by měli být nějaké informace o optimalizaci objektů, placeable, monster a NPC. Také se zde dozvíte jaký mají stíny a světla vliv na zdroje počítače. Článek je především určen pro stavitele perzistentních Neverwinter Nights 2 modulů, ale i ostatní tvůrci zde jistě najdou informace, které se jim budou hodit při stavbě modulu. Vaše krásné originální lokace můžou v první chvíli hráče ohromit, ale to co udrží hráče ve vašem modulu je především jeho hratelnost.

Objekty a placeable

  • Minimalizujte vrcholy spouště(trigger vertices). Bylo dokázáno že spoušť, která má nad 100 vrcholových bodů, způsobuje problémy. I když 6 nebo 12 vrcholů triggeru bude pravděpodobně vpořádku (není nutné dělat jen trojúhelníky nebo obdelníky.)
  • Aby vaše umístitelné objekty, dveře, atd. nemohli hráči rozbít, nastavte v nastaveních daného objektu přepínač „Plot“ na hodnotu „True“ (plot věci nelze rozbít žádno běžnou PC).
  • Nepoužívejte moc placeable. (lepší nahrávací čas lokace) Použijte jich jen tolik, kolik jich je skutečně potřeba.
  • Změnte všechny placeable na environmental objekty, kde je to jen možné a především v nepřístupné oblasti (non-walkable).
  • Pokud skládáte placeable na sebe, změnte je na env. objekty a použijte walkmesh cutter(objekt slouží pro omezení dostupné oblasti neboli k vyříznutí walkmeshe).
  • Way pointy (z přechodu mezi lokacemi) by měl být umístěn ve velké čísté dostupné oblasti (neměl by být blízko okraje, v úzké oblasti a blízko jiných objektů).
  • Omezte množství různých druhů stromů (Tree Seeds). Dříve Obsidian doporučoval použít v lokaci maximálně čtyři seeds. Definice pojmu seed je zjednodušeně druh stromu (například, „fan palm“ a „coconut palm“ jsou už dva druhy). Pravděpodobně od té doby Obsidian provedl vylepšení jádra hry(engine) takže tento počet se zvýšil.
  • Omezte použití trávy. Jelikož tráva se pohybuje s větrem, je poměrně náročná na počítačové zdroje, takže ji používejte šetrně.
  • Limit 6 placeble na každý tile. Do limitu se nezapočítávají env. objekty, ale walkmesh cutters, kolem nich, ano. Walkmesh cutter je jediný trigger, který má vliv na walkmesh. V podstatě jsou to jenom walkmesh výřezy, placeabley a walk-not terén štětec(štětec na označení dostupné nebo nedostupné oblasti), které mají vliv na mesh. Někdy je navině tvar výřezu walkmeshe, který je příliš matoucí pro bake(zapečení nebo konverze-uložení walkmeshe). Měli by jste pak také zkusit překreslit vaše osmiuhelníky na obdélníky a zkusit to zapéct znova.

Monstra a NPC

  • Nevkládejte příliš moc NPC do stejného místa ve stejný čas. (Snažte se držet počet NPC pod 20.)
  • Udržujte počet aktivních bytostí (včetně hráčů) pod 20 v lokaci, pokud je to možné.
  • Vyhněte se spawnu více jak 2-3 bytostí blízko jiných NPC a PC. Jejich „OnPerception“ událost(event) se změní na berserk(zběsilý útok).
  • Nedávejte spawn bytostí blízko přechodu mezi lokacemi!

Světla a stíny

Nejdůležitější věcí týkající se světel je, že v základním nastavení dělají stíny a čím více světel a stínů máme tím více to může zpomalit výkon našeho počítače (a možná i serveru). Proto doporučuji vypnout stíny, dvěma způsoby:

V konfiguraci mapy máme dvě nastavení „directional light“(hlavní světlo) a „directional light casts shadows“(hlavní světlo vrhá stíny). Zpočátku jsem se snažil nastavit directional light na False(vypnuto), ale to způsobovalo velmi ošklivé grafické chyby v externích mapách, takže jsem zase toto světlo zapnul.

Ale zas v podzemní oblasti je tlumené světlo přirozené a nebude dělat viditelné stíny na místech, které jsou již temné. Takže zde jsem vypnul „directional light casts shadows“= FALSE.

Pak jsem použil kombinaci „Power Bar“ pluginu a záložky „Area Contents“, abych vyhledal skupinu mojich světel. Area – vybral jsem objekty – Tag(zkopíroval a vložil jsem sem tag mojich světel), pak jsem je dočasně seskupil(grouped), kliknutím pravým tlačítkem na ně jsem otevřel okno properties(nastavení), a tak jsem mohl vypnout všechny jejich stíny současně.

Šel jsem ještě dále, jelikož mám 80 žalářních dílů, které jsou velmi temné kované kovové díly, označil jsem je všechny a nastavil receives shadows(vrhá stíny) na False(vypnuto).

Když jsem později četl v manuálu, vyčetl jsem ještě jednu radu, ktera radí nepřekračovat počet světel o více než 3 bodová světla na jednom povrchu. Takže pokud si necháte zobrazit okruhy světel (Show/Hide výběr) můžete snadno určit, kde se světla prekrývají a nastavit velikost a umistění vašich světel tak, že nemáte více než 3 světla v jednom bodě.

Dark Night: Obecně se optimalizuje scéna na 3 body, jedno světlo vrhající stíny, další zjemňující světlo zezadu a třetí zjemňující světlo z boku. Důležité je, aby nevrhaly stíny všechny světla, protože to dělá jednak ošklivé stíny a zbytečně komplikuje výpočet scény.

Jindragon: Na tomhle odstavci jsem se docela zasek, jelikož se světlem jsem si nikdy moc nehrál. O pomoc s překladem jsem požádal Darka. Při hledání nějakých informací o nastavení světla v NWN2 jsem našel pár zajímavých článků, které možná někdy přeložím:

  • Nepřehánějte to s počtem bodů zdrojů světla.
  • Téměř každé světlo vytváří stíny = False (pokud to není velmi jasné světlo v lokaci s pozadím, kde by stíny jasně měli být)
  • Nastavte většinu placeablů a environmental objektů na „Don’t Receive Shadows“ = True (bez vrhání stínů). (především na mapě pro temné elfy a démony „Underdark“, kde je už z principu tma, nebo když už objekt má velmi temnou barvu, takže stíny by byly stejně těžko viditelné.)
  • Nastavení lokace, jsem nastavil Directional Light Casts Shadows= False (hlavní světlo nebude vrhat stín). V underdark mapě jsem chtěl nastavit directional light = false, ale nastal problém s grafickým zobrazením (Obsidian Bug). Je to výborné nastavení pro váš interiér nebo underdark oblast, ale pravděpodobně to není dobrá volba pro pouštní lokaci, ale je dobré si to pomatovat pro další mapy (a možná by byl dobrý nápad všechny hotové mapy převést do tohoto standartu).

Jindragon: Tak to je nejspíš poslední díl seriálu o optimalizaci lokace. Pokud se nám podaří dát dohromady další materiál o optimalizaci lokace, který bude vycházet z našich zkušeností při stavbě a ladění výkonu modulu Demona 2, tak možná tento seriál bude rozšířen o další díly.