Specs: Grid-graph, node size 0.25, custom movement script, turn-based-game.
Is there a recommended way to be able to use the funnel-modifier while still using the z-position of the nodes ? I understand that the funnel modifier transforms the node collection to a list of non-node-based positions to enable non node restricted movement, so i think it’s just not possible to optimize around the x & y coordinates but not around the z-coordinates.
I attached a few screenshots to clarify my point, but i think the behaviour is known and expected/intended.


My first instict was to just raycast upwards from every point in the path and adjust the z-position of each point to the terrain height + offset, but i was wondering if there was a cheaper / cleaner apporach.
Hi
The funnel modifier has a split at every portal setting which does exactly this.
I tried that already, but for some reason it doesn’t work. (bright green part is going through the terrain). (the snap to ground script, only positions the units on top of the terrain at the start once and doesn’ interact with pathfinding or movement)
Similiar position from top view:
**
**
The un-funneled path, lies on top of the terrain just fine:
Is a portal in this context a graphNode or something else ?
Documentation states: “This is only used for recast/navmesh graphs. Not for grid graphs.”
Question remains on how to accomplish the same behaviour on a grid graph.
Hmm.. I don’t think that’s possible right now.
However, you could probably modify the FunnelModifier.cs script a tiny bit, to disable the special case it has for grid graphs. The generic method should work for grid graphs too (it’s just slightly worse), and that does support split at every portal.
Thanks, i’ll try that and compare it to my other workaround.
Optional checkbox to use the stringpulling algorithm in the editor for threedimensional grid graphs would probably be nice. On the other side, i seem to be the only one using 3D grid graphs and running into this issue 