IT-lexicon › Programmeren › Funnel-algoritme

Funnel-algoritme

Programmeren Svenska → Bijgewerkt: 2026-10-25

Haalt het werkelijk kortste pad uit een gang van navmesh-driehoeken, nadat pathfinding heeft bepaald welke driehoeken de route doorkruist.

A* over een navmesh levert een lijst driehoeken op, geen pad. Verbind je de middelpunten naïef, dan krijg je een onnodig lange zigzag. Het funnel-algoritme behandelt de gedeelde zijden tussen opeenvolgende driehoeken als een reeks portalen en spant een trechter tussen linker- en rechterkant. Die wordt zijde na zijde aangetrokken; zodra links en rechts elkaar kruisen, komt er een waypoint op de binnenste hoek en begint een nieuwe trechter vanaf dat punt. Het effect is dat van een touw dat strak door de gang wordt getrokken.

De basis is van Hershberger en Snoeyink (1994); in de gamewereld kent men het vooral via Mikko Mononens compacte "simple stupid funnel algorithm". Het is de vanzelfsprekende nabewerking tussen de driehoekszoektocht en de lijn die een agent daadwerkelijk loopt.

← Terug naar het lexicon