Simple Climbing system

Advanced Climbing mechanic from BOTW



In character viewport, reduce capulse size to 92*32
image.png

In character BP,
make cusotme event attachwall
image.png
collapse as marco, called Wall Trace

Open the marco and connect input/output,
add extra input called Offset, connect to an new added + node
image.png
Back to event graph
image.png
Add keyboard key to climb
image.png
In character movement, set flying as
image.png

Import relevant climbing animations

Create blend space below, called BS_Climbing:
image.png

Open the Anim BP
Anim Graph
Create 3 variables:
image.png
Make the graph:
(R click on Blend poses to add walking pose and flying pose)
image.png
image.png
Event Graph:
image.png

Back to character BP, movement input
image.png
For up and down input axis , add new function
WallClimbMovement
image.png
image.png
Continue after branch (Target set as local variable from location of break hit result):
image.png
Add in the function in event graph:
image.png

To Stop Climbing:
In character BP event graph:
image.png
collaspe to function for above highlight nodes: DetachFromWall
image.png

Now if the player climb angled wall, will not stand upright after stop climbing.

To fix it, add a custom event Reset Rotation in character BP:
image.png
Timeline set length 0.5, 2 keyframe (create by R click), 0,0 and 0.5,1. key interpolation as auto
image.png
In Detach from Wall funciton, add:
image.png

Set max/min climb angle:


Add variables in Detach from Wall function
image.png
Set max default value 45, min value -75

Go to Wall Cimb Movement function
after Wall Trace marco, add an extra brunches and follow:
image.png


Allow Jump during climbing, then attach back the wall until no wall available:


In character BP, Jump command
(Apex is to fire off the event whenever reach the tallest point in the jump)
image.png
Use event begin play with Check for apex variable:
image.png

Set if jump and don’t detect the wall at apex, then back to normal walk:


In attach wall event, false branch, add detach from wall function:
image.png
In Input action jump, add jump up wall funciton
image.png

Clean up the ability to move around corners:


In Wall Climb Movement function:
The false branch after Line Trace by Channel, create another line trace:
image.png
Continue after line trace
(Max trun angle default value as 65)
image.png
Connect between wall trace and set target nodes:
image.png
Now it’s set that can pass wall corner beyond 65 degree but less than 90

To Value up surface when reaching the top:


In Wall Climb Movement, false branch after 2nd line trace and Wall Trace Marco:
image.png
To event graph, add custom event Vault up:
image.png
Back to wall climb movement, add highlighted:
image.png
Back to event graph, Vault up node:
image.png
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.