3D Wallrunning / Walljumping problem

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By Krippi

So I can walk on walls and when I jump again I want to jump off the wall to jump on another wall, for example.
I have already done two methods:
The first method just pushes me straight off the wall, which looks pretty dumb and isn’t right either:

if $LeftRayCast.is_colliding():
  normal = $LeftRayCast.get_collision_normal()
  velocity += normal * 5000
  velocity += Vector3.UP * 5000

The second method doesn’t really repel me at all but just gives me a speed boost along the wall

if $LeftRayCast.is_colliding():
  var normal = $LeftRayCast.get_collision_normal()
  var bounce = 5
  velocity = (velocity - 2 * velocity.dot(normal) * normal) * bounce

I found a video that shows relatively exactly what I would like to have. Unfortunately there is no code for this. But so you can better imagine what I want.

I found some more examples:
Reddit - Dive into anything

Reddit - Dive into anything

Krippi | 2020-05-18 08:52