It depends which part you are using.
The procedural animation (aka “The Movement Animation”) will take much longer, because it is direct manipulation of R15/RThro joints.
However, the IK portion is very easy to apply anywhere else, as the algorithm (“FABRIK”) is universal.
Yeah about this, any simple word explanation on how you are doing the procedural part? this is the part where I’m at after doing my own IK FABRIK system
Especially this part of the code:
local up =rootvelm/16
local cycle =up*dt*cycleSpeed
Are you moving the target point in a circle and adjusting the circle direction based on the characters walking direction and also the floor through raycasting basically?
Any help with the units of the cycle and what is “up”
Also it’s pretty mesmerizing, tracking the “footpos” of the right leg in the gif, hope it’ll help others visualize the proccess.
I guess you could imagine a circle that’s been truncated with modulus.
Without the modulus or whatever, you would see that red bar moving in a perfect unit.
By flattening it, we reproduce that footstep appearance.
Lots of updates! I basically remade a majority of the module to benefit everybody.
OOP Programming style
Methods to disable, enable, destroy, modify, etc.
Automatic delta calculating using tick()
Automatic disabling for characters off-screen or far away
Other cleanups and minor modifications to code bits not remade
Hope you enjoy!
Wow, this is a unique module. I may use this in the future.
A quick question, how efficient is the replication?
Completely client sided, therefore completely smooth and efficient.
Oh I see, so every player calculates the animation for themselves. Even if the character is not theirs?
Sounds very impressive.
How Did you do that Looks really nice!
how do i make the arms move? Is there Anything i can do to make the arms move?
You can animate them regularly.
Suggestion. Will you add IK for R6
Unlikely, since resources for that already exist.
-- '*' Symbol means the parameter is optional
[IKProfile] Module.New(Instance Player, Double Stride*, Double CycleSpeed*, Double MaxRenderDistance*, Double RaycastOffset*)
-- Creates an IKPF profile based on a player inputted.
[Boolean] IKProfile:IsActive() -- Checks if the profile is active
[Void] IKProfile:Enable() -- Enables the profile (done so by default)
[Void] IKProfile:Disable() -- Disables the profile
[Void] IKProfile:Destroy() -- Destroys the profile
[Void] IKProfile:Update() -- Plays the next frame of the profile
Check the documentation for basic customization.
Thanks! This will help a lot!!
I would recommend not having to pass in the parameter “Player”, as you only need a Character. I had to modify the module just for this, because in the module, it seems you don’t really need the Player at all, and you only need the Character.
This would be beneficial in many ways.
Where could I find resources for r6 footplanting?
I don’t know. This resource can, however, be modified for R6 if you can understand the math.
Is there any way to make this compatible with R6?