Support Forum

Off Mesh traversal with custom movment script?

Hi everyone!

I’m trying to incorporate what’s shown in “RecastExample2” which is to make the player traverse upwards, but with my custom movement script.

image

I want the player to climb this rope

I’ll use the Link scripts but I want to add the functionality to my custom UnitController script which is pretty much only using the Seeker’s path to move between points.

Any clues on what is needed to add this, like if there’s a Seeker callback which I can know when a Link is reached?

Hi

If you use the RichAI component then you can register to the RichAi.onTraverseOffMesh link callback to handle off mesh links. See https://arongranberg.com/astar/docs/richai.html#onTraverseOffMeshLink

I’m not using the RichAI as I thought it was pretty extensive for the use we had in mind… :confused:

No other way to detect when trying to traverse an off mesh link?

The other movement scripts do not have as good support for off-mesh links I’m afraid.

How are you detecting the off link mesh? (I’m digging through the RichAI.cs code atm) Maybe I can add my own implementation to it!

The RichAI divides the path into a sequence of partial paths, which are either just a normal path segment or an off mesh link. This is handled by the RichPath class.

Ahh I see… What a bummer, we’re quite late into development so changing all the units moments are not a good move :confused:

I can make the player walk between links like this but I can’t detect that the player actually passed/walked on a link

I seem to make it work! After digging through the RichAI.cs I found that you’re using RichPath, so I’ve pretty much copied your NextPart/GetCurrentPart code.

I then made my own abstract NodeLink2 class that I then can make different implementations of!
image
image

This is the result thus far

2 Likes