Fix hand position for a character ledge hang ability

Hello, my first time posting!

I’m trying to implement a character ledge hang in blueprint on the 3rd person template. However, it looks wrong as the hands don’t seem locked to the ledge when transitioning to hanging.

I have done the following:

  • Scan for ledge using some traces
  • If ledge found, and player has jumped and is falling, and player is holding the hang button/key, then…
  • Disable gravity via custom movement mode, and disable character movement
  • Move and rotate character to face ledge (using some stored variables like trace impact location and normal)

bad-hang4-ezgif.com-optimize

This gets something very close but even if I tweak the final character location with height and distance offsets the hands don’t seem to look correct on the ledge during the transition from falling to hanging. I’ve even tried reimporting the animation from fbx with a different Z offset but that doesn’t look correct either. The problem I see is that the character reaches down for a split second and then back up ‘through the ledge’, if that makes sense.

What I would like is

  • The player should only be allowed hang if the hands are above the ledge at time of pressing the hang button/key
  • When hang is initiated, the hands a locked downwards to the ledge and the animations resume using that as a “lock point”

Is there a way to fix the hands to the ledge like this? Or a better way I should be thinking about this?

I am a decent programmer but a beginner at Unreal, so please forgive me if I’m using the wrong terminology or don’t know the basics!

Thanks,

John