#Ladder Locomotion System

1 messages · Page 1 of 1 (latest)

bold elbow
#

I made a complete ladder locomotion system. A huge waste of time. But it was fun to make something outside of the ordinary locomotion systems.

Features:
* Full net prediction via CMC + GAS
* Custom PhysLadder CMC physics mode
* Glues character to nearest rung when idle, and only the right vector when moving
* Complete implementation of MaxAcceleration/MaxSpeed/Friction/BrakingDeceleration
* Built independent of the Z axis so that angled ladders are fully supported
* Ladder locomotion system
* Full distance matching so animation always matches the movement 1:1
* Ascend/Descend and Left/Right Phase handling
* FBIK for placing limbs on ladder rungs
* Created custom node for control rig that allows control rig to pass in pre-pose bone locations and glue the limbs to their nearest rungs using FBIK (using modified position means the movement from the FBIK causes conflict next update)
* AnimModifier that extracts bone velocity to change the strength of the FBIK limb springs based on bone velocity
* Detection for entry/exit from ladder and GAS setup
* Almost entirely procedural, built into my traversal system (mantling, vaulting, etc)
* Jump handling (montage based) for jumping off ladder

Gonna @ a few people who I want to show: @lost stump @dry kelp @half epoch @mental ice @vernal vessel
And @quartz hemlock make sure to super react with a heart so people think this is more interesting than it actually is hehe

#

If the discord upload is loading too slow, here's YT link
https://youtu.be/mU_yshGa4g8

I made a complete ladder locomotion system. A huge waste of time. But it was fun to make something outside of the ordinary locomotion systems.

Features:
* Full net prediction via CMC + GAS
* Custom PhysLadder CMC physics mode
* Glues character to nearest rung when idle, and only the right vector when moving
* Complete ...

▶ Play video
mental ice
#

Pretty cool. Is the Anim Distance Matching fully custom or using stuff from Epic's old MOBA?

#

Think they added that to the engine at some point? I find that interesting as it's also useful for Vaulting and Ledge Climbing

quartz hemlock
#

Damn thats looking good ❤️ 😄

bold elbow
bold elbow
dry kelp
#

I can't stop looking at those hands tho 😆

vernal vessel
lost stump
#

Looking sick! Nice work. Excited to see how you end up using it in your games

bold elbow
#

Distance Matching is a bit of a beast though
Its basically used for start and stop animations, where it calculates "based on velocity, friction, braking, etc. I'm going to end up in this location at this time", and then it uses a sequence evaluator to set the position of the animation based on that calculation
Then the loop/cycle animations also match their play rate and use stride warping to match the movement
The nodes I use have (LoMo) in them because Epic used the wrong loading phase and hasn't fixed it for several engine iterations and I don't have UDN, so in some projects the nodes delete themselves on editor start
The Flight ones are my own nodes, not engine nodes, that calculate in 3D space instead of a flat ground, so of course ladder movement uses that
The result is animation that accurately matches the movement, with very little foot sliding, and of course I've taken it a lot farther than Lyra does and added rotation for start animations amongst other improvements - I can distance match anything now, whether its BOTW climbing or swimming or flying or whatever

#

Lyra also attempts to do something akin to distance matching for turn in place, but if you load up 2 players in multiplayer, any sim proxy will appear to jitter while turning in place, because its offsetting the mesh rotation but sim proxies have mesh rotation smoothing and the systems fight each other. I haven't checked Fortnite to see if they resolved it there, but I wouldn't be surprised if its still in - unless they have custom mesh rotation smoothing which actually wouldn't be surprising.

I made a actor rotation TIP solution, no sim proxy jitter because it doesn't use the mesh rotation, and it has many advantages too because you no longer have to accommodate the mesh being offset for other anim work. Just a superior method without any downside.

All my stuff - whether its distance matching or the TIP, also works with bOrientRotationToMovement, whereas Lyra's is strafing only

#

@vernal vessel ^ you'll appreciate that after fighting their method of turn in place for your dinosaurs that I used with MoveIt

vernal vessel
#

Smoooth

bold elbow
# dry kelp I can't stop looking at those hands tho 😆

Yeahhhh
Hands aren't always 100% when retargeting, and this uses runtime retargeting, so the system actually runs on UE5 Manny but retargets during runtime to this dude who runs on UE4 Mannequin skeleton
But I think in this case the hands may not have been perfect from the source (mocap)

bold elbow
#

I've found a huge problem with the engines inertial blending which is used in tandem with orientation warping to mimic blendspace behaviour. If you trigger a change (Set Sequence with Inertial Blending) it works as expected, but if you call it again prior to the blending completed it can't do a 3way blend and will snap. It's going to need a lot of digging and possibly some bandaids

dry kelp
bold elbow
bold elbow
#

@mental ice there are actually some severe-ish engine issues with distance matching
#animation message
#animation message
I'll probably resolve #2 in engine at some point, I can't just leave it alone and have my work marred by it, #1 I already handle in project

mental ice
#

:/

bold elbow
# mental ice :/

Epic just covering their eyes "gosh, I can't see anything at all"