IT-lexikon › Programmering › Trattalgoritm

Trattalgoritm

Programmering In English → Uppdaterad: 2026-10-25

Drar den verkliga kortaste vägen genom en korridor av navmesh-trianglar sedan vägsökningen pekat ut vilka trianglar vägen passerar.

A* över ett navmesh ger bara en lista av trianglar, inte en väg. Naivt kopplar man ihop triangelmittpunkterna, men det ger en onödigt lång zigzag. Trattalgoritmen betraktar i stället de delade kanterna mellan trianglarna som en följd av portaler och spänner en tratt mellan vänster- och högerkanterna. Den stryper tratten kant för kant; så fort vänster- och högersidan korsar varandra sätts en vägpunkt vid den innersta hörnpunkten och en ny tratt börjar därifrån. Effekten är som att dra ett snöre stramt genom korridoren.

Grunden lades av Hershberger och Snoeyink (1994); spelvärlden känner den mest genom Mikko Mononens kompakta "simple stupid funnel algorithm". Den är det självklara efterbehandlingssteget mellan triangelsökningen och det en agent faktiskt går.

← Tillbaka till lexikonet