Hi there! I’m currently working on a dynamic climbing system (DCS), based on the third person template.
By *Dynamic *I mean that the character should be able to climb on anything that is climbable. No trigger placement, no static geometry precomputation, no actor BP.
The goal is to dynamically detect reachable grips, and climbable surfaces, out of static meshes placed in the world.
I’m working with IK animations for the hands and foot to animate the character while he’s moving along the surface he’s climbing onto.
I’ve also thought of a mechanic for the climbing. I didn’t just make the character ascend the surface by pressing the Move Forward button.
I thought that it can be cool to have like a dangerous and challenging climbing mechanic, where the character can fall, slide, be tired, can’t find any grip ahead, etc… All those things that can add immersion and realism.
Of course, I also planned to make an automatic climb mode so that it can be adaptable to multiple kind of gameplays.
Video Demo :
[UE4 Community Project] Dynamic Climbing System (DCS) - YouTube
Current State :
- Trace to find a reachable grip
- Press E and Q to place the right and left hand on the grips
- Press W while hanging to ascend, S to descend
- Early Working IK for the arms and foot
- Limited movement while hanging so the IKs stay on the grips
- Orient character towards the climbing surface
- I use complex collision as simple to be able to trace and place the hands directly onto the static mesh surface
Know Major bugs :
- No collision with the surface
- No possibility to go sideways
- Limited movement too limited or not working always as expected
- Foot not placed correctly on the surface
What I’m currently working on :
Features :
- Add flexibility to the pose with CCDIK or FABRIK to make the spine bending
- Upgrade the hanging pose in general with IKs and anim assets
- Get up when we reach a plateau at the top of the surface
Fixes :
- Fix the movement limitations
- Foot placement (legs IK?)
- Sideways movement
What feature can be very cool to add :
- possibility to jump to reach out unreachable grips
- fatigue system
- balance system
- hazardous surfaces (based on the normal, randomly generated, or others?)
- physical collisions with the surface
- automatic climbing mode
- when auto-climbing mode, make the character more prone to fall (can be switched off)
- semi automatic mode (just place the hands and the character ascend/descend automatically)
- First Person Mode
I post the project here so everybody is able to download it, use it in their games, customize it and of course share upgrades with the community.
The blueprints are annotated and commented, I tried to keep things clean and readable.
Note that the project is really in its early phase, I’ve just started to work on it the last week end, I don’t advice using it as it is in your project.
Those are the blueprints used in the climbing logic :
- ThirdPersonCharacter
- ThirdPerson_AnimBP
- BPI_Animation (BP interface used as a bridge between the BP character and the BP animation)
You can reach me on discord (@MaxParata#0892), twitter(@Mask974), by mail(crimson97430@gmail.com), or here on the forum of course, I’d be glad to hear your ideas and feedback!
I hope to talk to you soon, and enjoy ue4 as always.
Link to the Project Files](MEGA)*** - ***Link to the Demo](MEGA)