Jump to content
Sign in to follow this  
MatrixNAN

Switchable Range of Motion

Recommended Posts

Hey Guys,

Ok so I was wondering if anyone knew if you could do like a switch node type setup on the range of motion for bones so that say the animator does not want the bones to go back in on themselves but they do want them to later on for breaking an arm backwards. So the best thing would be to have a rig that locked the motion to before the arm breaks or anyother bones and then have a check box that switches off these restraints for a particular bone and the bones color themselves like a bright red when the animator goes past the breaking point of a joint, bone, whatever. Any clues for how to set this up? I know I'm crazy and you guys are probably like why is he making things so difficult, but I actually am doing a fight sequence between my two characters so this ability would help out soooo much and really speed things up. Alot of pro rigs have the colorizing system. Would not seem to hard I was thinkings putting in two primative nodes with a switch node one for normal color and one for breaking like bright red. I think I am on the right track just not sure how to implement it.

Cheers,

Nate Nesler

P.S. Calin I am so jealous. Is your job rigging where you just work on really cool rigs like what your doing all day? That would be fun and difficult. :);)B) I would love to work with any of you guys. I hope I get to soon enough I am graduating in this summer. :);)

Share this post


Link to post
Share on other sites

you could turn off the colour bones on capture option and colour them explcitly using a point sop ( bones are just geometry too ) , use two point sops ( one- some colour, two- red) and wire them into a switch. then use a boneangle expression in the switch input, might work

Share this post


Link to post
Share on other sites

for example:

if ((boneangle(chain_bone1, chain_bone2) < 140) && (boneangle(chain_bone1, chain_bone2) > 40), 0, 1)

Share this post


Link to post
Share on other sites

why not just put an expression onto the display color of the bone itself?

also - using a switch will not give you any real warning about the limits - better to use something that gradually changes the color - from some default color to bright red etc

Share this post


Link to post
Share on other sites

Hey,

Sorry My computer was down for awhile so I am just now getting to play with it. The code layed directly in sounds like a good idea. Thanks for the code Tallkien. I am against the color changing gradually for one good reason, I want instant feed back that a limb has broken. I think it would be a bad thing if the animator had to guess if the color had slightly changed or where it slightly changed and is that really the breaking point or not. I still want to have switchable locking as an attribute though. It would help alot and speed up the animation process.

Cheers,

Nate Nesler

Share this post


Link to post
Share on other sites

I suppose you could use opparm commands in a callback script driven by a button in a subnet type to lock and unlock the bones. Just seems like a hell of a lot of work though

Share this post


Link to post
Share on other sites

Hey Tallkien,

Thats exactly what I am doing and your right it is alot of work but I think it will pay off when I animate. :);) I should finish the rig for the legs tonight. Then I will post the file. I have only one problem with the Lookat for the foot. I came up with a really smart way to do it and I am like almost there with it but something is eluding me and maybe you guys will figure it out when you see my file.

Cheers,

Nate Nesler

Share this post


Link to post
Share on other sites

Hummm seem to be having a problem with this expression.

if ((boneangle(ch(../R_Hip_Bone), ch(../R_Femur_Bone)) < ch("../CharacterControls/R_Hip_Bone_X_Range_Min")) 1,0.9)

This is for Changing the color of the bone. Anything pop out at anyone?

Oh this does not give an error but for some reason when every I select a control now I can not move all the way with it and then if I select it again I can move it a bit farther than the last time and so on and so forth.

if((ch("../CharacterControls/R_Femur_Bone_X_Range_Min_Tog") == 1) ch("../CharacterControls/R_Femur_Bone_X_Range_Min"),-180)

if((ch("../CharacterControls/R_Femur_Bone_X_Range_Max_Tog") == 1) ch("../CharacterControls/R_Femur_Bone_X_Range_Max"),180)

Cheers,

Nate Nesler

Share this post


Link to post
Share on other sites

* in the first one don't use "ch(../.." in the boneangle section. It requires a string (bone name), u also need a comma before 1,0.9

* second and third are missing a comma after { ..Tog") == 1) }

Share this post


Link to post
Share on other sites

Hey All,

Ok guys Special Thanks to Tallkien. Here is the file the legs and feet are almost done. Mind you my Kinematics are a mess and I have not had a chance to go in and rename them all. Sorry about that but I will rename them all for my sanity and everyone elses. I managed to intergrate Reverse foot and Forward IK into one set of colors. So there is no switching back and forth between the two systems. My lookAt Control for the Foot is setup up it is missing one key ingrediant and I don't know what it is. I tried setting the Twist Effector for the bridge bones of the foot but that did not work. The Expressions seem to work but for some reason they are not doing anything. So I tried to just enter number into the contraints and they did not do anything either. Highly confused. I must be missing some small step somewhere or something. Tell me what you guys think.

Cheers,

Nate Nesler

Foot Rig 6

Share this post


Link to post
Share on other sites

Hi all,

Just a reminder to gzip/zip/tar/etc a hip file before sending or posting. Some browsers tend to expand the file as text & that causes problems.

Cheers!

steven

Share this post


Link to post
Share on other sites

Hey All,

Oh did not know that. Ok I zipped the file in .zip format because its compatable with every OS that I know of. So it should work now. Download from the same link and it will be a zip now. I just edited that link.

Cheers,

Nate Nesler :blink::ph34r::huh:

Share this post


Link to post
Share on other sites

Hi Nate,

I just glanced through your file and the first thing that hit me is you've obviously done a lot of study on the human skeleton, awesome, I can never remember the names of all those bones, wow B)

As far as your rig goes I think you might being doing too much, for instance I didn't understand why you have individual Ball Control nulls when you have Ik end effectors and the end of each toe, have either one

Also whats the need for the foot lookat, a real foot rotates side to side very little and you can always rotate the foot independant of the knee lookat if you need to. Here you'll have to animate the foot position AND the foot lookat for each pose.

In quite a few places like the toes, you've got nulls parented to other nulls for no apparent reason

The Ball region is quite cluttered with handles, I'd want to setup subnet controls to animate in that region, especialy if the geometry was visible

All in all I really hope you need the level of control you need for the animation you're doing because IMO you can really simplify the animation interface a great deal and still get the control you want

just my two cents

Good work though

Share this post


Link to post
Share on other sites

Hey Tallkien,

Well everything drives something else so everything that is in there is in there for a reason. If you disconnect something other than the foot lookat then something in the rig will break. I will take out the foot look at then. Anything that will speed up my animation. The heel joint is in there to do a better job of the capture region geo. I was playing with it trying to do some foot poses for a side kick and what not and the controls worked really well for me. So I am happy with it if only I could keep from the bones breaking when I don't want them to snap back. The Controls on the ball of the foot were just circles and I think I am going to go back to that because they tend to be less cluttered. Instead of the double circle. I am going to scale them accordingly to the geo of my character. I would do it right now and post it but I am calculating a tree in Lightwave and it is taking 24 hours to compute. wow I have found lightwave is surprisingly slow. Oh I end effectors plus the ball rotate I have a reason for that. I am going to add a toe curle if I ever remember to do it. lol if you want to straighten the toe out you need an end effector. If you were to stub your toe for instance then you would push back the toe more scrunched than the curle allows. So thats my reasoning for it. I think I tried the subnet thing on the ball controls and I ran into problems if I remember right. lol Its all starting to run together now though. lol ;):):blink::ph34r:

Cheers,

Nate Nesler

P.S. Thanks for the Analysis. I would not have thought about the foot lookat getting in the way.

Share this post


Link to post
Share on other sites

Hey Tallkien and All,

Ok new version of the Rig with the ball controls back to the one circle system and the foot lookat has now been deleted. Tell me anymore problems. I do want the toe end effectors. I will get around to doing a toe curle tomarrow along with the rest of the skeleton.

Foot Rig Ver 7

Cheers,

Nate Nesler

:ph34r::blink::huh:;):D:)B)

Share this post


Link to post
Share on other sites

Ok fixed some more things. My gosh. I did some bone rotations on the toes so that when you move the end effectors they are not all going in wild directions. I did this by manipulating the Z Rest Rotation. Is that the right place to do that? It worked I am just wondering if I will have any problems with doing that when I go to bind. I figured out how to get a bone curle. I figure if the bone direction locking was working then the bone would only go so far on a rotation and then stop and the child would have it on stopping point so as you continued to roll the ball joint the toes would curle and not when you rotated the ball of the toe up because you would set the rotation locking accordingly. The only problem is that I can not get the locking to work still even if I just enter numbers. I don't get what I am doing wrong. I also went to the trouble of renaming all of the Chops so they all make sense now. I moved the icons for the ball foot controls on the left foot back in alignment. I still don't know how they got out of alignment but it doesn't matter they are back in alignment now. I think thats all I did.

Foot Rig Ver 8

Cheers,

Nate Nesler

P.S. I really need to learn to sleep. lol

Share this post


Link to post
Share on other sites

nice work, looks pretty clean, just a thought- why don't you just use sliders to define the rotation ranges, at least you won't need to eyeball your rotations each time

yup rest rotation is the way to go, i think :blink:

Share this post


Link to post
Share on other sites

Hey Tallkien,

I don't believe I would get a curle if I did just the sliders for the toes and fingers that I will later add on the hand too. I plan to do sliders to as an interface for the whole character when I roll it into a character rig plugin to apply to my two characters. I am also thinking of creating a set of controls just for bone scaling to a character this would be easy to do, and I think I could do it in a matter of about 5 minutes with houdini by dragging the bone length from each bone tol subnet I name Bone Scaling. It would allow me to size the bones to my character quicker.

Cheers,

Nate Nesler

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×