Thank you very much for your quick response, This issue is driving me nuts.
I am using humanoid rig, which is the best configuration for the features it provides (mirror, IK, matchtarget, etc)
I think that your system is very versatile, but also very complex because you need to calculate and programatically move not only the player but all the enemies as well. But I think the same you do, I like root motion for the simplicity and realism. But I disable it sometimes and move the player by script, depending the state.
This is my channel in youtube: https://www.youtube.com/channel/UCBHr7sadp8RnyPIuM2PHL-A
As you can see I am doing a Batman Arkham series clone, as I rip the animations from the original game I realized that the developers use the (0,0,0) position and orientation in the 3D program as a helper in order to sync several characters and player interaction with switches, levers, etc.
This is clearly a clever aproach in order to get smoothness, accuracy and syncing. Unfortunatelly Batman series was made in Unreal so I do not have time to investigate as I am only a physician who codes only in my spare time and I prefer Unity.
I belive this would be very useful tool if I can figure how to get the root original position. If I dig depper into this issue I only need to know the offset between the hip transform, and the original 0,0,0 position at the current time in the original animation (just guessing: I need to take a desired frame of the animation and calculate how rotated and moved is the hip relative to 0,0,0. But as I previouly said: It’s beyond my knowledge)
Just look at the first half of the next video and you can see the player jumping over a fence. Look that the 0,0,0 position is in the bottom of the fence. The developers use this helper point to make several animations for jumping over, with no hands, with a foot, etc. they work all great because the core code is the same, If you want to make parameters and curves for each one you will be mad. You have to configure if the anim uses the right foot, the left hand, no limb at all, the time of match starting and ending, the orientation, etc.
Don’t look at the second half, it’s not what I want, my mistake.
I am currently trying to add, in the character’s rigs in my 3D program, a bone, parented with the hip bone, and fixed all the time in the 0,0,0 position and always facing forward. I think that I can expose this bone transform in the characters avatar and get its information for my purposes, but I tryed several configurations and none of them work, maybe because I don’t know how to work with bones, keyframes and other 3D artists stuff. No doubt you do.
Thanks again for your time and specially, your patience.