Full Body IK - Bug or intended - Demo scene included

   749   6   2
User Avatar
Member
66 posts
Joined: April 2019
Offline
I originally asked about this in the Technical Discussion forum but didn't really get an answer and it was suggested that I try here, so I've deleted that original post.

This is just one of many examples where the Full Body IK solver seems to do strange things with the root bone when using it to transfer animations between skeletons.



As you can see, the root bone is floating up over time and I've no idea why.

I know I can work around this by manually moving the root bone after the solve but is there any way to prevent this during the solve? Is it a bug, by design, neither?

I've attached this very simple demo scene to illustrate.

Any help would be most appreciated.

Thanks
Edited by mrpdean - March 9, 2024 02:19:13

Attachments:
ik_solver.gif (4.2 MB)
ik_solver.zip (1.0 MB)

User Avatar
Member
7732 posts
Joined: July 2005
Online
Did you see my reply before you deleted the thread?
User Avatar
Member
66 posts
Joined: April 2019
Offline
edward
Did you see my reply before you deleted the thread?

I did yes, thanks.

Pinning the root or including the root in the mappings doesn't seem to help in most scenarios. In fact it causes the solve to become very unstable on several frames.

The best workaround I've come up with so far was to delete the root bone from the skeleton hierarchy, so that the pelvis becomes the root, solve it, and then copy the transforms back onto the original skeleton.

Still seems like a hack but to me it feels less hacky than brute forcing the position of the root bone.
User Avatar
Member
8592 posts
Joined: July 2007
Offline
have you tried excluding the root from the solve?

in your fbik node set Group to:
@name!=root
Edited by tamte - March 12, 2024 17:29:04
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
66 posts
Joined: April 2019
Offline
tamte
@name!=root

Thanks Tomas, that does indeed work if I just want to exclude the root bone.

What would the syntax be if I wanted to exclude multiple bones?

I tried
@name!=root @name!=ik_foot_root @name!=ik_foot_l @name!=ik_foot_r
but it doesn't work.
User Avatar
Member
8592 posts
Joined: July 2007
Offline
mrpdean
What would the syntax be if I wanted to exclude multiple bones?
one of the ways
@name!=root,ik_foot_root,ik_foot_l,ik_foot_r
you can also include patterns like:
@name!=root,ik_foot_root,ik_foot_[lr]
or also
@name!=root,ik_foot_root,ik_foot_?
etc
Edited by tamte - March 12, 2024 23:57:45
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
66 posts
Joined: April 2019
Offline
tamte
mrpdean
What would the syntax be if I wanted to exclude multiple bones?
one of the ways
@name!=root,ik_foot_root,ik_foot_l,ik_foot_r
you can also include patterns like:
@name!=root,ik_foot_root,ik_foot_[lr]
or also
@name!=root,ik_foot_root,ik_foot_?
etc

Brilliant!

Thanks
  • Quick Links