Forum: Poser - OFFICIAL


Subject: Rigging a pin & Sleeve style joint for multiple rotations ???

meatSim opened this issue on Nov 10, 2013 · 17 posts


meatSim posted Sun, 10 November 2013 at 5:35 PM

So Here is what I have going.. I'm working on a hi tech looking thigh boot.  Part of it is a sort of pin and sleeve style joint at the knee.  It works great on a single rotation. two circles basically rotate around each other just as you'd expect.... however when introducing a 2nd rotation it screws up the  first.  I know exactly how to fix the issue, at least one way anyway...  In the joint editor I can adjust the orientation values to compensate and bring it back into alignment.  The problem is this : How can I automate that process? I tried using the dependancy editor for the side side and twist rotations but it wont seem to save changes made in the joint editor into the dependancy queue

So firstly.. does that seem right?  or am I doing something wrong in the dependancy editor? 

If they cant be automated that way... is there another path to correct this, short of dissallowing 2nd and third rotations?


ockham posted Sun, 10 November 2013 at 7:31 PM

In P9 and later, you can make the Origin values (xoffset,yoffset,zoffset) animatable.  It's a checkbox on the parameter panel.   You may need to check those and resave the model before you can apply dependencies to them.    Or you could manually edit the CR2 and change

        animatableOrigin 0
to

        animatableOrigin 1

for those parameters.

You can't animate the Orientation numbers, but it seems like you should be able to do this particular task with the Origins. 

My python page
My ShareCG freebies


meatSim posted Sun, 10 November 2013 at 8:02 PM

the offsets dont seem to help.. unless I'm doing them wrong.. that was the first thing I tried... the joint center is in the right place just that the angle seems to change with twist and side to side motion


ockham posted Sun, 10 November 2013 at 8:29 PM

You might need to slip in an extra joint without any real mesh.  (Sometimes called a 'ghost bone' or 'phantom bone'.) 

My python page
My ShareCG freebies


meatSim posted Sun, 10 November 2013 at 11:32 PM

well thats an intersting idea...  

so use an extra bone and slave that to the main bone rotations...

so basically have the twist and side to side of the main figures shin bone adjust the entire structure up to above the knee..  disable the bend rotation on the shin bone... slave a ghost bone to the shin bend rotation so that it only moves what i want it to?

Will this actually solve the change in orientation of that joint center?

 

 


meatSim posted Mon, 11 November 2013 at 12:53 PM

OK so that looks like it will work.. just have to sort out the correct hierarchy..

I'm thinking  lThigh =>lShin(twist & Side Side only)=>Ghost Bone (bend, ERC to shin bend)=>Foot=>toes etc etc...

Will I need to put a limit of zero on the Shin 'Bend' to stop it from changing the orientation of the joint center?  or Will painting all the weights of the bend parameter to 'zero' be sufficient?


meatSim posted Mon, 11 November 2013 at 1:22 PM

OK.. well that didn't work...

 

Quote - OK so that looks like it will work.. just have to sort out the correct hierarchy..

I'm thinking  lThigh =>lShin(twist & Side Side only)=>Ghost Bone (bend, ERC to shin bend)=>Foot=>toes etc etc...

Will I need to put a limit of zero on the Shin 'Bend' to stop it from changing the orientation of the joint center?  or Will painting all the weights of the bend parameter to 'zero' be sufficient?


meatSim posted Mon, 11 November 2013 at 3:06 PM

Success!!

I had to change limits on the shin 'bend' to zero...  My problem now is simply getting it to conform and follow the figures shin bend movement.  How do I save a dependant parameter such that the shin bend of the figure is the master parameter for the ghost bone bend of the boot when I am saving the boot independantly of the figure it goes on

??

 

Quote - OK.. well that didn't work...

 

Quote - OK so that looks like it will work.. just have to sort out the correct hierarchy..

I'm thinking  lThigh =>lShin(twist & Side Side only)=>Ghost Bone (bend, ERC to shin bend)=>Foot=>toes etc etc...

Will I need to put a limit of zero on the Shin 'Bend' to stop it from changing the orientation of the joint center?  or Will painting all the weights of the bend parameter to 'zero' be sufficient?


shvrdavid posted Wed, 13 November 2013 at 6:38 AM

It would be worlds faster to make a pose to apply to the character that locks the offending parts in the main character.

Your boot is basically a knee brace that would lock shin twist and side to side.

If you are going to use side to side, it will have to rotate (and bend) the thigh part around the thigh for it to work right.



Some things are easy to explain, other things are not........ <- Store ->   <-Freebies->


meatSim posted Thu, 14 November 2013 at 12:26 AM

Quote - It would be worlds faster to make a pose to apply to the character that locks the offending parts in the main character.

Your boot is basically a knee brace that would lock shin twist and side to side.

If you are going to use side to side, it will have to rotate (and bend) the thigh part around the thigh for it to work right.

 

well the twist of the shin is mostly done in the thigh.  a shin doesnt really move at all from the knee down until you get into the ankle.. parts of the structure above the knee are intended to be somewhat flexible to allow for movement, even if slightly restricted.

the problem is that the center of the knee bending 'should' be different from any twist or side to side motion... but no figures do it that way nor would you normally want them to  

I dont know how one would go about this without adding an extra bone.. which then messes with conforming...

 

just editing as I missed the last line of your post...

 

problem seems to be that I need an extra bone for either bend or side-side/twist.  The bend needs to be separate from the side to side, and needs to NOT be part of the shin bone as that joint center will be rotated by the twist and side to side of the base figure..  in the hierarchy twist/side must come first as they need to be applied before the bend.  However if I put in a ghost bone after shin, but keep the joint center where it needs to be to swivel correctly that seems to change the end point of the shin bone such that when conformed the whole thing kinda rolls up into a ball.... not to mention getting that ghost bone bend to respond to the shin bone bend of the figurewhile having the bend rotation of the boots shin bone locked at zero

Or am I making it too complicated?


meatSim posted Thu, 14 November 2013 at 10:51 PM

I give up!!

No combination of bones or joints seems to make this work without becoming unconformable.. lame.

Oh well.. thats why I wanted tog et it figured before waisting a bunch of time on modelling it all out


AmbientShade posted Fri, 15 November 2013 at 10:32 AM

In my various experiments with joints, I've found that sometimes allowing twists in bones that normally wouldn't twist on a real human actually achieves the result I'm looking for. 

So using that theory, maybe try allowing for twist in the shin, but set the end points much higher than they would be for the figure's actual shin. 

Or maybe you've tried that already. 

 

~Shane



meatSim posted Fri, 15 November 2013 at 11:52 AM

the problem is that the twist and side to side change the orientation of the joint center such that the 'pin' no longer rotates on the same axis as the 'sleeve'

I had hoped that by weight mapping the whole knee to area to the exact same weight it would let the bend work right even when twist or SS was applied to the joint.  It doesnt work that way however as even though the geometry doesnt distort, the bend still goes off on a different angle.  

I've tried using other bones to control just the twist/SS or just the Bend but it always causes joints further down the chain to move out of sinc, or breaks conforming.

I even tried adding a completely alternate rig from the thigh down as ghost bones, but that didnt work either

maybe i need to make the 'regular' joints the ghost bones and have their rotations just control an alternate rig/group structure via dependancies...

That might allow me to re-group/rig the lower leg to move the way I want while still letting it conform...

I'll play with that after breakfast...

 

 

Quote - In my various experiments with joints, I've found that sometimes allowing twists in bones that normally wouldn't twist on a real human actually achieves the result I'm looking for. 

So using that theory, maybe try allowing for twist in the shin, but set the end points much higher than they would be for the figure's actual shin. 

Or maybe you've tried that already. 

 

~Shane


meatSim posted Fri, 15 November 2013 at 1:40 PM

well that was looking promising but when I went to conform it turned completely inside out!! wtf!?


meatSim posted Fri, 15 November 2013 at 2:56 PM

well i got it to work without turning everything inside out.. but the boot needs to be posed manually.. ERC wont work because the 'ghost' bones that conform to the figure aren't actually being rotated.. i forgot that little tidbit.  Unless i was to make an injection pose to add the master parameters to the base figure...

lol Mostly talking to myself here.. good indication i might be in over my head!


meatSim posted Fri, 15 November 2013 at 3:06 PM

ok.. it turns out that I was just flat out wrong about how ERC works... so I think what I have is a separate rig for the boots where they conform mostly just to the hip.  From there all joint rotations are ERC slaved to the base figure.  The drawback is that this will likely make it more work for an end user to transfer morphs or scaling from the base figure to the boots, given that their actual body parts are technically not the same as dawns even though the groups will still match 'for the most part'


meatSim posted Fri, 15 November 2013 at 3:49 PM

baahhhh  never mind... impossible

must lock twist and side side