Leg Controller (IK Included) - A quality solution to leg movement

how did u manage to make it so that while the player is crouching, IK still works. cuz for me, if i tilt the torso ever so slightly in the animator, it causes problems.

I honestly don’t know much reasons why because the game on my post is nearly abandoned (meaning old systems are renewed). HOWEVER from what i did due to avoid that problem, instead of Load the animation then play, i loaded the animation BEFORE the game even start (load straight to Animator instead of Humanoid). I also added the Module as a part of In-game Settings due to players can enable IK if they want, and managed to rescript some parts so that i can easily Lerp the CFrames. You also should recheck the script if there’s anything feels wrong and get to know more and more about IK Lerpings!

oh and also try NOT to change the HipHeight of the Humanoid!

notes: i also switched to not using IK legs now (only Directional Movement), becuz i learnt new velocity and those could ruin the IK

Sorry what do you mean by Directional Movement?

IK is sometimes restrictive sometimes…

1 Like

“Directional Movement” basically used in a lot of games, it was born after the Classic/Older Movement “Character Lean” which makes them lean left or right (Y Vector) based on which directions they go

Directional Movement basically a better version which makes your character Lean by X and Y Vectors

Character Lean (game: Jujutsu Shenanigans):

Directional Movement (game: Truxet Vision City my game):



Directional Movement is NOT related to any kinds of IK, it basically makes/gives a better Character Velocity/Character Realism. Less developers known this kind of Velocity controller since their games are quite simple

There are 3 simple ways to make this kind of Movement (do 1 of them only):

  1. R7 Rigs
    Ex: R7 Rigs basically have Lower Torso for R6, due to split the legs out of Character’s Torso with an invisible Torso that welded Motor6d with Legs

  2. Animations
    Ex: 4 Animations as “Walk Forward”, “Walk Left”, “Walk Right”, “Walk Backwards” then math.clamp the Animation’s weights by following which directions your character go

  3. Lerping CFrame.new() and CFrame.Angles() of Character’s C0 (what i did)
    Ex: Lerp the character’s CFrames on which directions it goes, a quite popular way that’s used on games like Doors, Nico’s Nextbots, Write A Letter,… But also difficult a little bit because of the Legs keep glitching on eachother. You can search tutorials on YT or Dev Forum posts

NOTES: this “Leg Controller” post also has the Lerping CFrame.Angles() but doesn’t really have CFrame.new() so if you want to learn more about Directional Movement feel free to ask Dev Forum or YT (i learnt from Devdump on YT)

2 Likes

Thanks a lot, this really helps… thank you so so much!

1 Like

Thank you for this crazy good resource, I mean literally! IK on Roblox???

But I do have a SMALL suggestion, a “Start” or Constructor function so we dont have to manually start it using a loader script.

For me? its just for script organization since the code inside “Loader” does not work inside of a module script…

Yes im very neat and tidy about my scripts.

Any conventional methods to start it? Just asking you know.

Also, if I have time. Ill look into improving the performance IF POSSIBLE. But it is REALLY well made so I dont even know if I can.

I have no idea how to do this, do you mind providing a sample of the code you used?

well basically the script was from DevDump but i kinda remade it a little bit, if you prefer DevDump’s original post then watch his video here:

or if you want my version you can add this RBXM in StarterCharacterScripts:
DirectionalMovement.rbxm (3.5 KB)