====== Pathfinding - Úvod do problému ====== Tento článek byl napsán jako součást opravy Loftenwoodského hřbitova kvůli vážným problémům s **pathfindingem**. V rámci toho jsme se rozhodli shrnout problémy s pathfindingem při tvorbě nových lokací v NWN. Má to pomoci WB vytvářet lokace, které nemají tento druh problému. ==== Co je pathfinding? ==== Pathfinding je klíčový mechanismus v NWN, který podporuje akci kliknutí pro pohyb hráčů. Hráči obvykle navigují postavu pomocí klikání myší. NWN engine se pokusí vypočítat správnou cestu, která vede z aktuálního místa na kliknutou destinaci. {{:en:modulebuilding:walkmesh-introduction.png?800|}} ==== Proč je poškozený pathfinding vážný problém? ==== Když klikání myší nefunguje správně v nějaké lokaci, hráči se frustrují a místo toho musí přepnout na používání kláves "WASD" k navigaci. To zhoršuje **herní zážitek**. Také pathfinding se používá k správné navigaci NPC v lokaci. S chybovým pathfindingem se jak NPC, tak hráči mohou zaseknout před nějakou překážkou. ==== Jak pathfinding funguje? ==== Lze jednoduše říci, že pathfinding funguje v těchto 2 krocích. Když hráč klikne na mapě: - NWN engine vypočítá správnou cestu k cílové lokaci na základě **dílů** **pouze**. - Poté se postava začne pohybovat, přičemž během cestování se pokusí vyhnout **umístěním**, která se objevila na cestě. ==== Na co si musíme dát pozor? ==== Na základě výše uvedených znalostí musíme zajistit, že: - Dílky na mapě nejsou chybné - Pevná umístění na mapě jsou správně uspořádána ==== Jak to zajistíme? ==== Existuje několik "obecných pravidel", která budou popsána v jiných článcích. Ale nejdůležitější je důležitost testování lokace, kterou jste vytvořili, zda navigace pomocí myši funguje. **Mělo by být zodpovědností tvůrce světa otestovat vytvořenou lokaci a zajistit správnou funkčnost pathfindingu.** ==== Přečtěte si NWN wiki ==== Je dobré si přečíst tento ne tak dlouhý [[https://nwn.fandom.com/wiki/Walkmesh|článek]] na NWN Wiki **o walkmesh**. Získáme nějaké užitečné informace o tom, jak walkmesh a pathfinding fungují.