PDA

View Full Version : First time using joint bones - rig problem



heynewt
09-10-2010, 07:45 AM
Hi,

I'm retargeting a rig based on joint bones. I'm an old user of non-joint rigs, and trying to get my head around joint bones.

Anyway I disable the bones, move all the joints into place by moving the actual "joints" around. Seems simple enough. Then I do what I always used to do which is hit "t' for restore rest position, and most of the rig is fine. But I find that the neck and head bones are collapsing the head and shoulder mesh down. Can't figure out how to get the retargeted joint bone skeleton to "bind" properly to the mesh.

Any advice would be appreciated.

Robert87959

RebelHill
09-10-2010, 09:00 AM
You are sure you're pushing r just the once and after positioning. Seems like u r cos the rest of the body is behaving. Perhaps a weight map issue... or, is it possible uve scaled joints and not positioned them, cos if u have, they'll bind as they would at scale 0.

heynewt
09-10-2010, 09:08 AM
Hi Rebel Hill, once again, thanks for your reply.

Yes, I may have inadvertantly scaled the neck and head joints. I'm thrown off by the fact that I don't have access to "rest length" with joint bones. That's how I used to adjust scale, but I don't understand how you adjust the rest length of joint bones without scaling them.

Robert

RebelHill
09-10-2010, 11:15 AM
You dont... joints have no rest length effectively, you just use translate to position them relative to one another.

You can always convert them to Zbones (select joints, properties, bone type) input the appropriate rest lengths, then switch them back again.

But yes, if you have scaled, then thats def your problem.

heynewt
09-10-2010, 12:29 PM
Thanks for the reply. When I convert to ZBones the bones rotate 90deg on the conversion. I was just experimenting with a new Motion Builder rig custom designed to be seamless with MB animation files. It has to keep all bone rotations at 0deg in order to work, and I think that's the issue I'm battling here. But I just don't know enough about why it's behaving this way in LW to make the retargeting actually work.

Got a couple of emails in to the creator of the rig. Eventually he'll answer I'm sure.

Thx,
Robert

heynewt
09-10-2010, 01:25 PM
Ok, small world. Dude, the rig I was having trouble with was YOUR rig, I just noticed....

http://rebelhill.net/html/lwandfbx.html

That is you, right? How many rebelhills could there be?

Anyway, it's working fine now. I went through every bone and discovered 2 spines that still had scale not at 0. Got those fixed. Your rig is fine, my brain, not so much.

I don't know if that's just your site, but great tuts. Really going to use the heck out of that process on an upcoming show.

Robert

RebelHill
09-10-2010, 05:41 PM
yes, taht'll be me, lol.

And the thing is that when converting to Zbones, the bones DONT rotate... but they look as they they have.

When you convert to Zbones, what you're seeing is the actual orientation of the bone, since in this case all bones (or joints) are aligned to world space, it looks a bit nuts in Zbone form, but in joint form it looks fine... and thats the thing, cos thats the difference with how joint systems work. there effectively is no bone... just 2 joints, and what can be considered a "deformer" exists between them.

So if you just have 2 joints, parent and child, moving the child, is much the same as rotating the parent. With Zbones, the orientation of the "bone" and the "deformer" are the same, as the two are the same thing. With joints, they're separated, so can be oriented differently to one another. This is how you can have a joint perfectly aligned with the world axis, but the deformer (which appears to be a bone) is off at an entirely different angle.

As I point out in the tuts, its this difference that has screwed people up with using FBX and LW together, as motionbuilder, which essentially sets the fbx standard, is joint based, and the fixes to go between LWs bone system, and MBs joint system no longer apply.

heynewt
09-10-2010, 07:33 PM
Oh man, it works so well in MB. I'm pulling in all the MB motions and applying them to my character. So much fun.

Though they work fine with all the sample .fbx motion files that come with MB, I'm not having as much luck with BVH files imported into motion builder.

Those files have a t-pose that is not 0 across all joint rotations like your skeleton. The arms are down at an angle. Do I bring the BVH files into LW and, in the same scene where I have my character set up with your skeleton, match my characters pose exactly to the BVH T-Pose, then export both to MB?

But if I go to all that trouble why do I go into MB at all?

Robert

RebelHill
09-11-2010, 02:45 AM
Yes...

BVH is a different mocap format, and doesnt always sit so well with MB. Now BVH's can be cleaned up, or tweaked to be MB friendly... Im not too sure of the full process for getting it right everytime, though I have in the past, taken a BVH in MB, grabbed the bits at frame 0, and manipulated the skeleton into a Tpose, so the motions become relative to that, and characterise the BVH rig. Its worked for me the couple times Ive done it, but Im sure there's more to it than that.

CMU... http://mocap.cs.cmu.edu/

have a bunch of MB friendly adjusted mocap, which you could possibly compare with the non friendly versions to see what they're doing. Im sure theres gotta be info floating around the web somewhere on using BVH successfully with MB.

As for why to use it at all... for the retargeting... bring a BVH (or any other mocap into LW) and just manually resize it to fit your character, and you'll have foot slide, and all sorts of other wonky stuff going on.

heynewt
09-11-2010, 09:03 AM
Yes, everything you said is right on. The BVH's don't function like the motion files you get straight out of Motion Builder. Trouble is, I don't know where there is a cache of free (or even cheap) MB motion files. There are only a handful that come with the samples when you buy MB.

The 2500 file CMU link is good, but there's a guy who just a few months ago converted all those CMU files to be more MB friendly.

http://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/cmu-bvh-conversion

The other important thing I just discovered this morning, is that if I do like stated above: that is, I use your MB rig on my character in LW, and I move the character down to match the BVH file's skeleton so that the hips are at 0,0,0 and the arms are rotated down to match the arms on the BVH character, then when I export that to MB and bring in the BVH motion, IT WORKS!!

This is important, because your rig enables it to work. It never worked before with any rig I was using. I always had huge problems in MB no matter how closely I matched the LW character to the BVH rig. But with your rig, I'm getting incredibly clean motion in MB using BVH motions. I can't imagine how good it's going to be when I export back to LW and it's weighted properly using your process you describe in the tuts.

THANKS for that rig!!:bowdown: Just really opened up my opportunities for character motion.

Robert

RebelHill
09-11-2010, 10:55 AM
No worries, Im glad its worked out for you, thats what I put it together for in the first place, really.

Just remember, sharing is caring, any firther tip tricks, or idiosyncrasies you come across and solve in the process, be sure to post em up so others can benefit too.

Best.

jeric_synergy
09-11-2010, 01:13 PM
Damn, RH, you are the guru of bones and motion utilities!!! I bow to your knowledge! :bowdown:

Seriously, that's some crazy deep knowledge you got there.

heynewt
09-14-2010, 03:44 PM
Well, I brought the character back in from MB, saved the scene as a LW scene. Went to my original correctly weight-mapped scene and did a "load items from scene" just choosing the object and making sure "merge only motion envelopes" was checked.

It loaded the moving object and did not merge any motions on to the original object.

I checked the hierarchy under the object in both scenes, and they appear absolutely identical. So now I'm stuck. Not sure what to do next.

I could go through all the bones and change the weight maps back, but that would be a pain.

Any advice would be helpful. I feel like I'm almost there.

Robert

RebelHill
09-14-2010, 03:49 PM
Hmmm... OK, thats a tricky one. So long as all the names, and the hierarchy structure is exactly the same, anything such as weights, or even additional bones not part of the FBX hierarchy dont get in the way, and the whole thing should work fine.

If its loaded in the items, rather than merging the motions, then my best guess is taht somethings amiss with the hierarchy or names somewhere (and yes the naming is case sensitive).

But if a second check over these details doesnt get you there, all i can recommend is to zip up the relevent files and post em over... or at the very least screenshots of your scene editor, each step, etc, so as I can try to troubleshoot it for you.

heynewt
09-14-2010, 04:00 PM
Ok, just checked more carefully. MB seemed to have put in a few duplicate bones here and there for some reason, e.g. "LeftHandRing4(1)" and "LeftHandRing4(2)" whereas the original only had one bone at that location.

I'm going to go through and delete all the duplicates and check it bone-for-bone and see what I get. I'll report back.

I think it will probably work though.

RebelHill
09-14-2010, 04:07 PM
Yup, thats a lil bug somewhere between LW and MB (not sure which exactly is to blame), but I already inserted a workaround for that in the rig itself which prevents those things conflicting, so thats not the problem.

heynewt
09-14-2010, 04:07 PM
Ok, I see what happened. Where your rig had bones called

LeftHandIndex4
LeftHandIndex4End

MB converted those to bones called
LeftHandIndex4(1)
LeftHandIndex4(2)
during the FBX export (or import, not sure where it happened).

Wonder why you didn't have that problem with your rig when you were testing.

RebelHill
09-14-2010, 04:11 PM
I do get that problem... but the [whateverfinger]4 isnt a bone that MB animates, it only goes up to 3... my insertion of the 4, and 4end is so as when the import creates that add on junk, its added onto bones that have no animation, applied to them anyways... if they're ignored by the user, you'd never know the problem exists.

heynewt
09-14-2010, 05:14 PM
Ok, that makes sense. I've tried matching it bone-by-bone, but clearly I've missed something along the way. It still won't do a motion envelope only import. I'm going to go through both skeletons now and delete those 4End bones and see if it will work then.

Last resort is just to change the weight maps on the MB imported bones. That's probably an easier alternative than trying to match the bone names so that the motion envelopes would match.

So there's nothing you can do with your original rig so that it gets exported from MB with a hierarchy that's exactly identical to the rig you started with in LW?

Robert

RebelHill
09-15-2010, 02:55 AM
Well... my rig does export out of MB exactly the same... those "end" bones have absolutely no effect, as they're ignored by both MB and LW.

Also, when LW loads motions it does it sequentially (or at least seems to)...

So if you have items A,B,C,D,E... A is master/root, B is child of A, C is child of B, etc, down the line... and you merge motions on a file where say item D is missing, or rather, is named "F" (giving you A>B>C>F>E)... then the motions for A,B and C would be loaded correctly, and nothing would be for the last 2 items (F and E).

Really, zip up your scenes, mail them over to me, and Im sure Ill find the culprit in 2 mins flat. (either that or Ill go mad).

heynewt
09-15-2010, 08:45 AM
... I discovered the problem.

When I was working in MB, I changed the default name of "Character" to "Knight" (It's a Knight character). When LW opened the FBX file, (if you don't assign it an "Objects" folder it creates one automatically - in this case it created one withiin my "Scenes" folder) and created a new version of my character. It used the old file name, but it added a suffix "_Knight" to the object name. I didn't notice that addition when I was trying to merge the motion envelopes.

Anyway, here are the scenes zipped up if you want to check them.

http://www.box.net/shared/sqs747issk

Thanks again for an awesome rig! The CMU files from www.cgspeed.com, the BVH ones optimized for Motion Builder, work great with your rig. Yes, they're a little dodgy and need cleaning up, but there are 2500 of them.

Robert

RebelHill
09-15-2010, 08:58 AM
Aha... I knew it had to be a naming issue somewhere. SO thats sweet, as long as you got it working, all is good.

Glad its working out for ya.