PDA

View Full Version : Pole items on a zeroed out mocap joints rig



NinoK
09-06-2011, 04:35 PM
Hi all,

I set up a base rig for a character that I would like to use for mocap as well as hand animation. Unfortunately, when using Joints and using zeroed out joints so it works well with with the base mocap programs, pole item does not seem to work (its backwards because I am guessing the joints are not oriented in a way it likes) so I'm looking for advice on how I should tackle this. Without pole items I get popping all over the place.

My Goal is to set up a rig which I can apply mocap data to and then tweak it using some of my own controls. To get lightwave to behave however, I have to make much more complex rigs which then do not work well for mocap because they rely on resetting pivot rotations and what not that is specific to lightwave. Any help is appreciated!

NinoK
09-06-2011, 09:13 PM
Ok so I somewhat answered my own question. It turns out I just need to keep the joints aligned via the pitch and make sure the bank is always used for the pole alignment. I had initially set up my joints in a way where they were all bank aligned which does not work. :)

Castius
09-06-2011, 09:28 PM
You can set up a second joint aligned the way you need it. Then use "same as item" on the zeroed out joint to to the poled joint. "Same as Item can compensate for the difference.

NinoK
09-06-2011, 09:59 PM
Hmm. I'll play with that, but how will that hold up when the rig / motions are exported ? Does the 'same as item' portion get baked into the rotations? I only ask because I havent had luck exporting things like match goal orientation, etc. I'll run some tests when I get back and report back.

NinoK
09-07-2011, 12:57 AM
Wow. Happy to report that the 'same as item' rotations are baked and exported. I was able to import the entire rig and animation into the unreal dev kit via FBX. Animeeple also imports all the motions and deformations.

RebelHill
09-07-2011, 04:38 AM
MGO is the only things that wont bake, though there is a trick where you can set one item to mgo (usually a dummy/sibling item) and use SAI (in world mode) to make another item (the REAL version of the item so to speak) follow what mgo is doing... you can then happily bake the SAI item (there's also one lil caveat to this whereby the mgo'd item will constrain also to the scale of whatever it goaling to, but the SAI item will not follow this scaling (as theres no sai scale world mode).

Now when it comes to FBX, zeroing out, etc... you'll find there've been some changes it 10.1... , First off, assuming you've seen all my FBX stuff on my site, so you know about the positioned child/rotated parent thing that dictates the layout of the joint hierarchy, how that has to differ when using bones, how the handling of 0,0,0 is different, etc.

In 10.1 the handling of pivot rotations is much improved now. You will find that you can take a bone or joint hierarchy laid out as per the desription in my vids, and it all works jsut like it did in 9.6 no problem... so theres that.

However, you can also lay out your skeleton, using either bones or joints, in the regular way, by rotating bones into position to layout the skeletal shape, and then RPR all the bones to record them as being at 0,0,0... the correct, and easiest state/layout to use for manual rigging... BUT once exported to FBX (assuming youve used an fbx styled/named structure) the rotations will all still work jsut fine in MB, animeeple, unity, etc, etc.

Furthermore, with a lot of straight imported fbx content from outside LW, you'll find that if you choose the joints/bake rotations option, that selecting all the joints and setting them back to 0,0,0 will deliver the origial bind pose of the character, making it easy to fix any skinning errors you might get and rebind.

Its also possible... for those using RHiggit to bake the deform rigs of the characters... which have spacer joints for cleaner deformation at shoulders, etc. These now FK baked deform rigs, which have been RPRd at base pose, can now be sent to unity no problem, allowing you to animate characters in LW for use in unity, or other game engines, or anywhere else you might want to send them... whilst maintaining the deform structure and skinning from RHiggit. (Ok, I make it sound straightforward... atm RHiggit uses a joints rig for deforms, some of the tricks like jointcomp/twist dont carry over, and the user has to manually fix the skinning due to the joints offset/weights issue Ive talked about many times, but it can be fixed manually before exporting as it is, and I do plan an update to make this process a few clicks, eventually).

Anyhow, there u go... new tricks to try I hope at least.

NinoK
09-07-2011, 10:38 AM
Wow that's great news. I had no idea the RPR stuff was now ok to use. That will make my life easier. And here I was forcing myself to use zero Joints and not bones and finally getting it to work. :p.

By the way when you say '(assuming youve used an fbx styled/named structure)' are you talking about making sure bone weights are assigned to bones properly?

So far I've only attempted to export joints to FBX and not bones due to rotation issues an collapsing rigs when exported. With Joints as you pointed out in your videos, each joint should have a weight map assigned to it that matches where the joints 'deformer' portion lies, which is usually its parent. I assume for bones, since the 'deformer' part of a bone is actually the bone itself, that i would assign each bone to its own weight map correct? This would certainly be easier to keep straight in my head vs the whole, "ok parent is called A, but its weight map is here with B.." stuff that goes with joints.

Anyway, lots of stuff to try now :) Thanks again!

RebelHill
09-07-2011, 11:09 AM
Yes... thats correct... If using joints, the weight goes "Above" the pivot point, if using bones, it goes "below"... in either case the weighted verts always lie over, around the Deformer Portion that they're skinned to..

And what I meant by the bone/joint names/structure was simply in regard of characterisation, weight ahndling, etc... nothing to do with rotations.

Castius
09-07-2011, 07:03 PM
Grad that worked for you NinoK

NinoK
09-12-2011, 05:10 PM
Well after some experimenting, found some things that work and some that don't. I went back to using joints in a zeroed out rig. I find that stuff is just more clean that way, and somewhat more predictable outside of lightwave. However, I cant for the life of me seem to rig a shoulder now using any sort of pole vector. Do any of you know an example of where I can take a peek at how these are supposed to work? That is, shoulder rig with pole vector using zero joints.

Ive tried using pole vectors, making my own pointer targets and the like and it all seems to confuse the crap out of LW.

BTW I am doing a Z negative facing character so that it works right when exporting the FBX to other apps (animeeple, UDK). I have tried a Z positive character as well and it too had shoulder issues.

For whatever reason using just basic IK, LW is unable to compute even the simplest of motions. Ie, elbow gets 1 IK channel, shoulder gets 2. It flips and flutters when it cant reach a point. Using a point at target without a pole vector and rotating the 'twist' of the shoulder manually works for a given pose but will break if animated or will stutter as the arm swings past.

Sigh, frustrated. Why does it have to be so difficult. Is a 'zero' rotations rig incorrect to begin with? After all, when I use the draw child joints feature, LW rotates the parent bone to point to the child bone, effectively making it not a 'zero' rotations rig. So should I be rotating my joints and then resting the pivot rotations instead to get my zeros?

Also, it seems to me that when using 'point at target' and 'align to pole', RPR is completely ignored, am I correct in this? Ie. Rotating and recording a pivot rotation of 90 degrees on the bank produces the exact same result if using align to pole had I not rotated it in the first place. (where I would expect it to be different by 90 degrees otherwise)

Another observation is that if I am attempting to 'FK blend' my arm, because the shoulder base is pointing at a target (for defining the IK plane), it effectively prevents me from doing so because once in FK mode (100%), its still pointing to my target. Maybe this is wrong.

Anyway, end of the day at work and having rigged my way in circles for the last few hours causes me to rant :)

NinoK
09-13-2011, 03:16 PM
Lol, It's like I've reverted back to being clueless. I keep getting stuck on the basics...

I have a leg bone chain, all rested bones. One of the bones at the bottom of the ankle is at 0,0,0. I have it's rotations 'same as item'... an item (null) that is also at 0,0,0 rotations. Regardless if I click world, or not, the bone wigs out and faces the wrong direction. I have to fiddle with the rest rotations afterwards in order for it to look right.

What rule am I missing here? I've looked at RH's free rigs, and the Ribbit rig and I *feel* like im doing the same thing, but I'm obviously missing some general 'make sure that... ' rule or something.

One other thing I can't seem to get. IF my pole vector is wrong, as in, when on the vector points about 90 degrees off the direction i think it *should* point (toward the vector), how do I go about correcting it. Adjusting the pivot rotations has no effect, so am i sol? I't seems that no matter how I set it up, i can get either the knees to work, or the elbows, but not both on the same rig.

NinoK
09-13-2011, 10:43 PM
Ok. Got it all sorted out for the most part.

The bad part is that my goal nulls can not be at 0,0,0 unless my character is pointed the 'righ' way in the world (z positive, which I could not do due to animeeple not liking it) and at the moment they are at 180,0,0 in order for the foot to stay oriented correctly.

Also my shoulder pole vectors do not sit behind the shoulders, but rather above, however still pretty easy to animate.

Since the animation is due in a couple of days, I am done mucking with it for now. :)

Castius thank you for the tip above, the ''same as item will compensate' tip. It helped a lot.

RebelHill, you're a genius. I found the answers to all the questions above while browsing other similar threads, but mainly the solution to the IK/FK blending when it comes to the pole vector and 'point at target' bone. :) :)

Castius
09-13-2011, 11:27 PM
It's frustrating not having compensation built into some of these tools. It forces you to have to make offsets when you shouldn't need to. But what are you going to do.

Usually with game exporting. It's best to simply have a rig bake process that deal with all the limitation of your engine. That way you're animation and rigging is not so restricted. This can hard with LW but not impossible. Good luck.