The 2 Bone IK Foot Placement System has been released!
Marketplace:
https://www.unrealengine.com/marketplace/2-bone-ik-foot-placement-system
Overview Video:
Playable Demo:
https://www.dropbox.com/s/jq0y4ah4nshyufn/FootPlacementSystem%20-%20v1.0.3%20Demo.zip?dl=0
Hey everyone! So, for those of you who have been following the progress, thank you for the feedback and support! Based on all the conversations and feedback I have received I was able to submit a project that I think many people will like and benefit from. I have simplified the system a little for the initial release, making quicker and easier to migrate.
It uses a trace on each foot and detects when the foot is attempting to pass through the ground. When this happens the system activates and offsets the foot and hip based on the offset of the foot and ground.
It should be noted that the system does not use any IK bones. So your rig does not need them, nor do your animations need to animate them for this to work. I will be adding that back into the system at a later time, once I create some animations I can include with the package. Now because we are not using any IK bones we do have a couple small limitations that I am working to reduce.
The first is when the bottom of the foot is not the same angle as the ground it can float a little. This will be solved by comparing the two angles and then converting the offset to local bone space. This is being worked on and should be included in a future update. Currently if this is an issue for your crouch position you can simply call the disable event while crouching in that position.
The second is when your foot is moved up, and because of the pose the foot moves back and the trace drops back down. This will create a loop of the foot going up and down. This is simply a limitation of tracing from the foot.
This does have replicated variables and you can enable foot placement for all players, or you can have it only run locally. Local only means that you will see your characters feet adjust, but you WON’T see it on other players.