I am trying to implement dynamic wall climbing similar to Conan exiles and Legend of Zelda: Breath of the Wild.
My system as of now uses a raycast to get the direction of a geometry’s normal, and I make the player face that. I send another raycast in the direction of the players input, which takes the hit point, and lerps the player to that ray’s hit position on the geometry.
Although this system works well on a flat wall it struggles a lot on complex geometry such as a bumpy cliff, and constantly hangs on small edges.
I recently saw this video from a cancelled game that seems to implement some sort of navmesh by making a flat plane that follows the terrain’s normals. This allows the player to climb over gaps and complex geometry as if it was a smooth surface.
I don’t completely understand how they managed this, and I was wondering if someone who is knowledgeable about these things could explain how I could implement something like this in Unity.