@fengmin Unfortunately the machine translation of your message was a bit ambiguous. If the following explanation does not help, please describe your setup and the problems you encountered in more detail.
The SkeletonRootMotion
component does two things:
1) It sets the root-motion bone's position movement to zero (to turn forward movement into in-place movement), and
2) It moves the GameObject by the root-motion bone's movement that happened this frame (to add forward movement again, but at the GameObject).
As a consequence you need to have e.g. the character's hip as a child of the root-motion bone and then move the root-motion bone forward during a walk cycle:
root
- rootmotion // move this bone forward
-- hip
If you have the root-motion bone incorrectly set up "parallel" to your actual skeleton like this:
root
- hip // you move this bone forward
- rootmotion // you also move this bone forward
step (1) setting the root-motion bone movement to zero won't affect your actual skeleton. It's not turning your movement into in-place movement. Thus you would end up with double-forward movement.