PDA

View Full Version : Constrained-Bone Rotation Weirdness


Giacomo_M
02-14-2006, 12:58 AM
http://home.earthlink.net/~bucket/ConstraintWeirdness.jpg

I rigged a human figure using Gustavo's excellent rigging tute from the 3DNY Uber-Bundle. The problem is, when I rotate the parent bone beyond 90 degrees from its original orientation (at least on the Y-axis), some of the constrained bones apparently turn into black holes and suck in nearby regions of the model.

Why is this happening? What am I doing wrong? How do I fix it?

Please advise.

GM

AVTPro
02-18-2006, 10:01 AM
I posted a couple of long response arlready, on Postforum because I saw it there first. Just wondering how you made out? If it's fixed and how?

3DArtZ
02-18-2006, 04:57 PM
I have this same exact problem.
I think it has to do with the pole vector.
I did however, a long time ago, have some success with this.
I parented everything to a flat plane model and used that as the parent object and when Rotated the model, things did not flip.

I don't think that that is the best solution and there must/should be some what to handle this without having to fuss with the pole vectors.

Mike Fitz
www.3dartz.com (http://www.3dartz.com)

Giacomo_M
02-19-2006, 03:37 PM
Hey guys-

As it happens, the particular project on which this was an issue is finished.

My "solution," if you want to call it that, was to select *everything else* in the scene, parent all those objects/lights/camera to an effector, and rotate the whole mess 90 degrees so I wouldn't have to turn the figure past the critical angle.

I'm looking forward to the day when I understand rigging better and I won't have to do this sort of thing. In the meantime, I've got another deadline (that doesn't involve a character) looming, so it will be a week or more before I can really study the bone thing more deeply.

Having encountered innumerable rigging problems (in both EI and Lightwave) with pole vectors/gimbal lock/pitch control/whatever-you-want-to-call it, I'm surprised there aren't more tutorials or white papers addressing the topic (Alonzo, yours is the first one I've read that even acknowledges it.) Is it because most people use "auto-rigging" software? Is it not even an issue in 3DSMax and Maya?

Please advise and thanks,

GM

3DArtZ
02-19-2006, 04:47 PM
this stuff never happens in Animation:Master, so that's my go to tool when I have character work to do.

The software has some auto feature so it's solution is transparent to the user....thank goodness:)

Mike Fitz
www.3dartz.com (http://www.3dartz.com)

AVTPro
02-20-2006, 01:35 AM
Hey guys-

Having encountered innumerable rigging problems (in both EI and Lightwave) with pole vectors/gimbal lock/pitch control/whatever-you-want-to-call it, I'm surprised there aren't more tutorials or white papers addressing the topic (Alonzo, yours is the first one I've read that even acknowledges it.) Is it because most people use "auto-rigging" software? Is it not even an issue in 3DSMax and Maya?

Please advise and thanks,

GM

Hey Congrats GM. I'm glad you found a doable solution to that glitch in the tute/rig (?) Maybe they can add an adendum? Just a small slip of paper or something in the case.

I'm saying that it's a glitch in the CD because other people seem to have the same problem after following the tute correctly. Even if it were a problem with EI, the tute should deal with it, and have solution that produces a flawless fully functioning rig. No rig is perfect, but the tute should be.

Obviously, It's not a real big deal I'm sure because I know Gus does good work. He's probably been at it longer than I have. I tried looking over a Spine Tute that Gus graciously posted for free. It's very good but I somehow couldn't manage to follow it. Maybe I will try it again tho. He mentions the set up was gleened for Anizon Animation Master setup, just as my ReadyRigs was originally fashioned from Julian's Mr. Willis EI rig. I think they are both great rigs and show a completely different approach to solve the same problem. On is FK (mine) and one is IK (theirs).

In my rigs, if I recall correctly, I pole vector constrain the PV to an icon controller/or crosshair effector. Then I parent the controllers for the PVs to a object in the rig that elbow's movements would be congruent with, like the shoulders or clavicle. It's good to know how to make these changes yourself, that's why I say the glitch isnt that big.

Thanks for the acknowledgement, but I wouldn't concern with rigging too much. Unless you plan to do some sophisticated TD spectacular exercises. Unless you just love rigging. It's not so important to dedicate time that you could be animating characters, which is really all rigging is about. Right?

Also, as you mentioned, rigging specifically for biped and quadipedal creatures has been automated with EIAS 6.5 FBX support and MotionBuilder standard. Yes, I got into the nuasance because rigging is a art unto itself that I appreciate. Still, I don't want to get into it to the level of physics programming, not that I could, but I would rather have a plug or dynamic function to automate the process if I ever needed it. Like I said, for me the goal is animation eventhough it would be great If I could whip a dynamics expression for a double pinned roped. The fact that I haven't found one script that fully does double pinned collision rope let's me know it's no small fish to catch. I just got my OSX upgrades for my NL plugs, so I think I'll try CableCraft.

So I had the question also, "Does other apps have this problem". Yes, it's inate in bones, cartesian coordinate system, Quaterion and Euler algorithmn. The only thing is, some of those other apps have practical tools of dealing with it. That's the only reason why I initially investiged other tools. It was to see how. The standard things they do to manage the disparities of rigging and animation are at the top of my feature request. Gimbal lock display, local rotation axis display, interactive "LRA" manipulators, deactivating inputs. IK spline tools.

EITG does a phenomenal job of meeting the needs of user request that are within reason. I try to make feature requests that are next step shortest distance to a solution, building from what is already available in the system. Things that can be quickly and logically implemented without rewritting a huge chunk of the program. I get a lot of requests fufilled because of this sensiblity to their resources. Also, I only ask for things that are already practical, proven solutions in other programs as a standard workflow. Sometimes, I ask for something that I just see a need for and am suprised when I find out other system have it. That's when I know, I'm not being impractical.


Yes, I will do more READYRIGS© stuff one day because I never did a step by step tute. Right now, I'm just strenghtening weaknesses in my pipeline like UV texturing. It's been going really well, and there's nothing extraneous in EIAS about it. I'm very happy with EIAS FBX support. After you model and rig, you want your work to be painted well.

Giacomo_M
02-20-2006, 02:50 AM
Hm. I guess the best solution, then, if I want to get deeper into character work, is to just take a deep breath, pull my socks up, get out the credit card and buy Maya and MotionBuilder, even if I have to live on potatoes and canned tuna for several months thereafter.

I'll let you know how it works out.

GM

Vizfizz
02-20-2006, 03:14 AM
Purchasing Maya, though the obvious choice for character animation, may not be necessary. If you were starting completely from scratch, I'd probably tell you to go that route. However, if you are on a restricted budget, I would suggest purchasing Motion Builder and integrating it into your EI pipeline. Motionbuilder possesses more than enough character tools to animate anything you wish and with EIAS' new fbx import (and soon export) capabilities, you'll be set. Buying Maya would only be like paying for $2000 worth of redundant systems.

Vizfizz
02-20-2006, 03:35 AM
Unless of course it is your intention to work for a large VFX company. Then I would say buying Maya is a smart and necessary move.

Giacomo_M
02-20-2006, 03:41 AM
Brian-

Thanks. Actually what I'm doing is hi-res stills, so I need to a) do a lot of test renders, quickly and easily and b) to adjust the pose *very* precisely (minor sloppiness that's unnoticeable in animation really sticks out in print.) I'm sure you can see that posing the figure in one app and rendering it in another is not a workable option, unless the two apps work together very smoothly.

With that in mind, the next set of questions arises:
1) With EIAS and MotionBuilder open simultaneously, can I pose the figure in MotionBuilder and have EIAS update the pose automatically?
2) is it possible to do 1) with MotionBuilder and Maya?
3) Can I import a model into MotionBuilder, apply the rig and export the rigged model back out to be posed in EIAS? (This would probably be the best solution.)

Please advise,

GM

AVTPro
02-20-2006, 12:04 PM
no. no. yes or sorta. You can pose something and reposition it in Maya/MB but by that time you could have done it in EIAS. MotionBuilder is geared towards mocap editing and keyframing. MotionBuilder needs a minimal skeletal setup for the drag/drop full IK rig. EIAS doesn't export FBX setup to MB yet. That's the second reason I use Maya. First was I needed UVs. I wanted to know it, but I couldn't force myself until I had absolutely had no choice. I need full texture control in my EI production. I researched several options for UVs that just didn't pan out. I had to use Maya for UVs and I didn't want to make a lateral move toward in mid-rune software that was not a wide standard.


Also, I tend to agree with what Brain said about starting afresh in animation. If your a college person looking for a fulltime career in CA, it's Maya or SI and maybe Max for games.

It's was a bit of a hard call for me. I struggled, deliberated, battled to wits end with my decision to use Maya even to sheer bufflement for years. I liked my FormZ and EIAS work. I was getting things done immediately in EIAS as oppose to starting a learning curve anew with Maya. I have lots of breakthoughs with EIAS and I never felt that I used EIAS to it's artistic potential and I didn't want to let it go until I did. I still do feel like I have. Back and forth, back and forth. I came to an utter and complete stallmate about transitioning.

I'm happy that I waited till I fully understood most animation principles before I included Maya into my pipeline. Learning the principles of modeling, rigging and animation in EIAS was awesome for me. If I was just learning, I would rather learn this in as smooth and simple an interface as possible just to understand the concepts.

Looking back, I don't think I would do any type of sophisticated rig at all. Just the super simple super fast Fred Merlos IK rig. Only enough to get my animation done. Who cares what the rigs look like as long as I can animate with it. I 'd go after just fun animation.
To me, now, Story is king. Period. Nothing else. Not a rig, model or UV paint. That stuff is geekism. Yes, iGeek, but in it's proper perspective now. Story is about telling something. That's former EIAS user, Keith Lango influence talking I guess. Animation itself is just a tool telling a story, so is software. Nowadays, I don't see much difference than a pencil and software. Money and functionwise, Yes, but artistically...no. Most Disney animation is better than most computer animation. Disney/Pixar, disqualify.

It's funny, as John Lasseter says, no one credits the pencil when an artist does a beautiful drawing, but when the artist have a computer, people says it's the computer that did the beautiful art. The first thing animators want to know is what software did you use, as if that's what did it. Does the clothes make the man?

EIAS is just as good of a tool as any to tell a story. It's sad, lots of animators think you're only good base on what software you use. I think schools should not let any student touch a computer until they can animate with a pencil. The more I learn about computers the more I realize how valuable a 10 cent pencil is.

Yes, we all like cool effects, but what is it without a story? Ok. Enough, at least you see why it was so difficult for me. If I trully understood this epiphany back then, I could have a film done but the time I finished mulling over what to use to do. I was so flustered I finally asked Keith what should I use? One line response, "Oh that's simple, the one you know". I had the cart before the horse. Film is not about the cool tool. As Glenn Keane, said " Animation is not moving drawings, and Animators are not about making drawings move. Animation is about animator making drawings that move people'.

I see Maya not as some magical Zen state of being as it is often projected by it's mytical magi users but simply a tool with certain features. Do I need those features to do good animation? No.

Then why do I use it? One, For the base line features that would complete my EIAS pipeline, a standardize interface and modeler and UV, and FBX. One day I want muscles, cloth, jigglers , whizzer popper and bangers in my character. It appeals to the techie geek in me. A cool tool to explore.

Also, I would like to walk in a large studio if I had to. Lastly, why not learn it? That's right. Just something to do.


What actually made the decision is UV's. then EIM dying didn't help. Instead of learning another SDS modeler that wasn't the state of the art, or lateral step, I finally took the Maya plunge.

MotionBuilder and Maya arent the same, because if they were, Alias wouldn't own both. I only got into MotionBuldler because of the EI beta program was developing FBX. I was using FBX with UVs. Then I found out what FBX was really for.
First I took a small look at MotionBuilder and it hit me. Full Body IKs with in moments.

Here's the difference Maya can do what MotionBuilder does, but not visa versa.
Motionbuilder does rigs, mocap, facial animation and keyframe. Maya does that but also everything outside of the rig, like effects, hair, fur.

Like Brian said, MB and EIAS is a heavenly match. Toss in Northern Lights and you have all bases cover. Maya would be a little rendundant except for UVs. I don't render in Maya.

Maya and Motionbuilder? Yes, if you want to go "DEEPLY" and I mean deep into highend character productions and studios. Going into very elaborate rigging and technical effects productions is also the very problem. It's more work, time, studying and manpower.

If youre starting out and want to start your first movie in a month, EIAS. if you are just starting college and want to get a career, Maya. If you are one manshop and want to get work done fast, and look good put food on the table as a independent EAIS. If you plan to conquer the world with the newest CG breakthough...Maya. Maybe.

If you want to do good art. It's doesn't matter. You can use Photoshop, a pencil. smurf 3D. popsicle sticks.

:)

AVTPro
02-20-2006, 12:46 PM
Hm. I guess the best solution, then, if I want to get deeper into character work, is to just take a deep breath, pull my socks up, get out the credit card and buy Maya and MotionBuilder, even if I have to live on potatoes and canned tuna for several months thereafter.

I'll let you know how it works out.

GM

Brian's keyword, "necessary". If need be. "By any means necessary". Open a fresh can of "Kick Ass" take names later.

if you have to eat cup a soup, or Raman Noodles for one year just to buy time to grow artistically do what's necessary. A winter without heat, sleep on the floor near the computer to get warm. it will keep you on top of your work. To aspire to one's dream and a brigther day? Go ahead. Move to a big city without a dime find a world of wealth inside you. Crash artist shows for reception food and wine when your starving for a taste of success. Swing without a net so if you fall you will make a lasting impression on the world around you. After you hit the pavement bounce to the top of the world and look throw the windos of before they are shattered. Slim fast diets without the mix shaken, not stirred. Be borrow, beg, and keep giving. Bolt yourself in and lock the doors without lights and Grow. GROW. GROW!!!

Let nothing or no one stop you. "Any means necessary". No partying or girls, or til I catch up on this stuff. Did I say no girls? Everybody is calling me a hermit. Isn't that really a crab? Well they are nothing but Crabs in a barrel. Go ahead and hate, I won't rest I do my best.

Ahh. Art is the poetry of life.
Alonzo

Vizfizz
02-20-2006, 03:42 PM
Brian-

Thanks. Actually what I'm doing is hi-res stills, so I need to a) do a lot of test renders, quickly and easily and b) to adjust the pose *very* precisely (minor sloppiness that's unnoticeable in animation really sticks out in print.) I'm sure you can see that posing the figure in one app and rendering it in another is not a workable option, unless the two apps work together very smoothly.

With that in mind, the next set of questions arises:
1) With EIAS and MotionBuilder open simultaneously, can I pose the figure in MotionBuilder and have EIAS update the pose automatically?
2) is it possible to do 1) with MotionBuilder and Maya?
3) Can I import a model into MotionBuilder, apply the rig and export the rigged model back out to be posed in EIAS? (This would probably be the best solution.)

Please advise,

GM


GM

Alonzo's analysis is pretty accurate. Motionbuilder serves a very distinct purpose. That purpose is to modify motion capture data and to do keyframe animation. The basic workflow is like this.

Create a model in any application. (lets say form z)
Create a FK skeleton for that model in your application of choice. (In our case EI)
Weight your skeleton and mesh within EI.
Export that model and skeleton via fbx into motionbuilder. (EI exporting coming soon)
Conform the EI skeleton to motionbuilder's FK/IK skeleton template. (Characterizing)
Animate within motionbuilder or apply mocap.
Export animation & joint rotations, via fbx, back into EI (EI importing already available)
Tweak weight maps if necessary.
Render in EI.

Its pretty nice from an animator's point of view. MB's animation capabilities are advanced and more sophisticated than EI's. However, if you use MB as its intended, it acts like an advanced EI plugin.

Maya already possesses a number of MB's capabilities, its just not automated. MB takes the sting out of rigging and character setup and adds a number of cool story tools. Large VFX studios use MB as a bridging platform to interexchange data, but ultimately, most of them just choose to bang things out in Maya. The open architecture of that program allows programmers to write customized chararcter features. Its just necessary for a studio environment to permit this.

If all you are doing is 3D still work...posing and rendering....why doesn't FK meet your needs?

I'm only trying to identify exactly what you need. Personally, if I had to choose between EIAS and Maya from a high rez still rendering point of view, my choice would be extremely clear. EIAS. It trounces Maya in the rendering department. Both in speed and simplicity.

Alonzo on the other hand...he needs Maya. Its like me. I have to use Maya in my business because I have to. I must be compatible with the larger studios. Its a good tool, but its not the end all be all.

Giacomo_M
02-20-2006, 04:32 PM
If all you are doing is 3D still work...posing and rendering....why doesn't FK meet your needs?

Hey Brian/Alonzo-

Thanks for the advice. To clarify, the screen cap I posted is entirely FK (and maybe FK'ed up ;)). What I need is to rig a human arm so it can be posed with the angular range of a real human, without collapsing the mesh or producing otherwise unacceptable distortion.

Specifically (as far as I can figure) the only way to avoid having a character's wrist do the "balloon-animal pinch" when Z-rotated is to use a constrained-bone setup (like the one in Gustavo's tutorial) that distributes the twist along the length of the forearm.

If anyone can show me another way to rig a wrist joint, my gratitude will know no bounds.

GM

AVTPro
02-20-2006, 08:44 PM
Specifically (as far as I can figure) the only way to avoid having a character's wrist do the "balloon-animal pinch" when Z-rotated is to use a constrained-bone setup (like the one in Gustavo's tutorial) that distributes the twist along the length of the forearm.

If anyone can show me another way to rig a wrist joint, my gratitude will know no bounds.

GM

GM,

Yes, that's is why the twist is constrained to the Ulna in the forearm. It's a realistic and a very standard setup for forearm.

In real life the wrist does not twist for Z rotations. Look at you arm and try it.
The twist is happening in the two bones of your forearm. Amazing isn't it?
The wrist barely moves on the Y axis maybe 20-30 degrees at most. Well, 40 if you still in your 20's. Try it, palm down, arm out. See, Gimbal Lock. It's a real world term.
Ok. Now, Pinch. Almost 180 degrees!? That's really the only angle your wrist should have.
If you are putting multiple rotation onto the wrist, you are the "balloon-Pincher" :)
Not the wrist, bones, mesh, tute, or EIAS.

You can use the split bone command and use the extra bone as an ulna without much re-rigging.

BTW, the Rigs and the FBX tutes I did can be found here (http://www.eitechnologygroup.com/community/tutorials.html).
Both are at the bottom of the page.

harryb
02-20-2006, 08:56 PM
Hi Giacomo,

I admit I haven't done too much character animation but I feel your pain! What I've found works for FK is using a null effector (box works best for me) and using the "look at" constraint to constrain it to a bone's rotation. Now you can move the null all over the place and not worry about gimbal lock (EI only has a Euler rotation setup and no Quaternion system (yet)).

Also, translation data is a lot easier to understand and manipulate in the F-Curve editor than rotation data (at least for me).

There's a great set of Character Animation Tutorials (CAT) on the EIAS install DVD. I can't remember who made them off hand but they really do a good job walking you through rigging and posing human characters in EIAS.

Giacomo_M
02-21-2006, 12:19 AM
Yes, that's is why the twist is constrained to the Ulna in the forearm. It's a realistic and a very standard setup for forearm.
In real life the wrist does not twist for Z rotations. Look at you arm and try it.
The twist is happening in the two bones of your forearm. Amazing isn't it?
The wrist barely moves on the Y axis maybe 20-30 degrees at most. Well, 40 if you still in your 20's. Try it, palm down, arm out. See, Gimbal Lock. It's a real world term.
You can use the split bone command and use the extra bone as an ulna without much re-rigging.

Alonzo-
Well, OK. Technically, the twist involves the radius and the ulna and not the wrist. Whatever. I just need the forearm to be able to rotate 180 degrees without collapsing.
I downloaded the ReadyRigs thing and I couldn't make much sense of it, but that's probably because it involves a whole layer of IK controllers, and I'm nowhere near that stage yet. I just need my model to work with FK right now.

Harry-
Thanks for the suggestion. I confess I have no idea how it applies to my existing problem, but I think I'll try to post a clearer example of what I'm trying to do in the next few days.

Thanks,

GM

AVTPro
02-21-2006, 06:59 AM
Alonzo-
Well, OK. Technically, the twist involves the radius and the ulna and not the wrist. Whatever. I just need the forearm to be able to rotate 180 degrees without collapsing.
I downloaded the ReadyRigs thing and I couldn't make much sense of it, but that's probably because it involves a whole layer of IK controllers, and I'm nowhere near that stage yet. I just need my model to work with FK right now.

Harry-
Thanks for the suggestion. I confess I have no idea how it applies to my existing problem, but I think I'll try to post a clearer example of what I'm trying to do in the next few days.

Thanks,

GM

GM.

Sorry this info wasn't helpful to you. I know this can be frustrating but hang in there.
I though if I explained the real world counterpart it would help you better understand why your setup is inherently incorrect. In other words, the wrist doesn't twist. (rythmes). It is a pertinent factor why it's pinching there. Unless your limit the rotation or redistribute them, it's going to pinch the skin.

Also, there's only one standard IK in the ReadyRigs arm. It redistributes a variety for rotation that work for more realism in the wrist, ulna, bicep and shoulder. However I know the rig isn't something you can just look at and figure out. That's a good reason to do another tute I Know. Ka-Ching is another. :)

So, anyway, the radius bone and ulna is absolutely how the natural real world counterpart works. I guess if the wrist did twist on 3 axis, it would cause pinching and really gross skin wrinkles too. Rigging mimics the human anatomy and there are other rigs that use the two bone (radius an ulna) in the forarm. it's a simple setup. Literally. Two bones joined at the elbow and connected at the other end of an effector for the hand.

I know you are just starting out, but somewhere in the ReadyRigs docs, I mentioned that this is the first rig, any EI user should use. It's simple and it works.
http://i47.photobucket.com/albums/f190/AVTPro/HandHierarchySetup.jpg


You should download this tutorial from the EI site Here (http://eitgfiles.com/downloads/tutorials/universe/mac/character_animator.sit)
It uses two bones like the real wrist so it can't pinch.

harryb
02-21-2006, 06:37 PM
GM.


I know you are just starting out, but somewhere in the ReadyRigs docs, I mentioned that this is the first rig, any EI user should use. It's simple and it works.
http://i47.photobucket.com/albums/f190/AVTPro/HandHierarchySetup.jpg


You should download this tutorial from the EI site Here (http://eitgfiles.com/downloads/tutorials/universe/mac/character_animator.sit)
It uses two bones like the real wrist so it can't pinch.



Thanks Alonzo, that's the one I was thinking of earlier, the one on the install DVD. Frederic Merlos! I'll remember that name from now on.

Giacomo, I don't have nearly as much experience with character animation as Alonzo but I totally agree, I'm sure this tutorial will help a lot! You'll see what I mean about null effectors controlling bone position. You might also consider setting joint limits for problem areas. Just an idea.

Giacomo_M
02-21-2006, 07:04 PM
Hello-

I hate to reply before I've actually had time to do some real work on this issue-- I downloaded the Merlos stuff and gave it a quick look. I will try to apply the information in those tutorials to the problem at hand and post something in the near future.

GM

CGTalk Moderation
02-21-2006, 07:04 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.