how to make pinned controller like in human ik

how to make pinned controller like in human ik

moussidawae
Enthusiast Enthusiast
2,063 Views
7 Replies
Message 1 of 8

how to make pinned controller like in human ik

moussidawae
Enthusiast
Enthusiast

(view in My Videos)
i want to make a pinned controllers like in humanIk to my custom rig but i didnt found any single video or document talk about it

0 Likes
Accepted solutions (1)
2,064 Views
7 Replies
Replies (7)
Message 2 of 8

Kahylan
Advisor
Advisor

Hi!

 

The pinning here is what is normally called a "parent follow" it's pretty common and if you search for this term you should find tons of tutorials explaining it.
It works like this, when pinned the control follows just the main parent control of your rig (also often called world control), when unpinned it follows the module control next up in the hierarchy (so hips or root for feet, shoulders or chest for arms).

 

Creating this effect is quit easy:

 

1) Create a group above your IK control

2) select your main control and the control of the module next up in the hierarchy, then select the group you created

3) parentconstrain your group to both main and module control

4) create a custom attribute on the IK control, if you want to replicate HumanIK make it an Enum with the values Unpinned and Pinned

5) create a set driven key from your Enum attriubte to the weight attributes of your constraint. Unpinned means the module control has full weight, pinned means the main control has full weight.

 

I hope it helps!

Message 3 of 8

moussidawae
Enthusiast
Enthusiast

(view in My Videos)

thank you for response, seems I didn't explain my question well, sorry, my custom rig already has "space switch or parent switch" but the problem is the controllers stay while joints move away (this happens in most of rigs in ik mode) pls take a look at this video I made I guess it explain it well.
0 Likes
Message 4 of 8

Kahylan
Advisor
Advisor

I'm sorry, but I'm not quit sure what result you want, because it in your first video the motion is very limited and in range of the IK lenght, in your second video in the second part the arms just follow the chest which is what a parent switch is for...

So could you clarify what exactly you need?
Do you want the IK kontrols to move with the end of the arm when the rig moves out of range for the the added lenght of the IK joints, or do you want your joints to stretch to stay with the arm controls?

 

Or better yet, you seem to have a reference rig with that function that you want to replicate. If you could share that rig or give me a link to where you downloaded it so I can directly look at it and it's graph structure that would be really helpful. I know it is human IK but I'm not too familiar with HIK for animation rigs since it is mostly used for Mocap, so I'm not sure with which settings I would achieve that.

Message 5 of 8

moussidawae
Enthusiast
Enthusiast

(view in My Videos)
sorry for my bad English in communicating, hopefully this video with notes explain my issue , i made the rig by myself you could take a look 

https://drive.google.com/file/d/1F7s_fAkvkt-XZcSgs7EPTDtEWxZJta3J/view?usp=share_link

0 Likes
Message 6 of 8

moussidawae
Enthusiast
Enthusiast

i think it is about the limited motion of ik length, I m not sure, I hope the video above explains that , also for huminIk you could just take any model and go to humanIk and do quick Rig tool

Message 7 of 8

Kahylan
Advisor
Advisor
Accepted solution

Ok, I understand now what you mean, sorry for the cunfusion, that was my bad. I haven't animated much with HIK...

 

But, I'm afraid I can't help you with this.

I took a look at a HIK rig and how this problem was solved, and the answer is with a ton of math under the hood that I can't really access. Basically their setup needs a bunch of special nodes (HIKSolver, HIKEikEffector,HIKState2Effector,HIKpinningState, etc) that are tailored to HIK behaviour, and the connections between some of those nodes seems to by cyclic which doesn't leave much room for mistakes... The calculations happen in a cycle of 6 nodes and I tried to find out which one does what but even when I tried to analyse those nodes using code I had no luck.

You could try to replicate the setup with the same nodes, but I don't think this would work since HIK Effectors are also a special node with different behaviour/attributes from joints. To be honest, I wouldn't spend too much time trying to achieve this, because the benefit of this feature is very limited and most animators will probably prefere to work without it.

 

I'm sorry I couldn't be of more help.

Message 8 of 8

moussidawae
Enthusiast
Enthusiast
first of all Thanks for your time, and yeah its ok I already knew HIK is the only one that has this feature and I've never seen any rig that has it and since this feature is made by a lot of math I will just give up xD because I'm bad at math and like you said most animators prefer to work without it, so that's fine for me.
0 Likes