PDA

View Full Version : Question re: Ulven's Mocap tutorial


MarkInTx
03-24-2008, 03:50 AM
Ulven (or anyone)

I am following along with your moCap tutorial, and hit a snag.

The steps as I see are:

1) You Load BVH File
2) You Load unrigged model (mesh)
3) You turn the bones from the BVH to show edges only
4) You go into the animate tab, and play the BVH
5) You click the CREATE button, and you get a shelf that shows:
"Scripts | Motion | Setup | Setup Script"

OK, from this, you click a button that says (I think): " motlib no update"

But, when I hit: Create, I do not get that shelf... and I can't figure out how to bring it up. So the skeleton in my setup tab is gross, with no form to it.

I am using Messiah 3... does that make a difference?

Also, is it possible to somehow simply tie the rig that is generated from the autorigger into the motion that is contained in a BVH file?

I have my character rigged (thanks to autorig) and I just want to tie it into something and "watch it go." Is that possible?

Ulven
03-24-2008, 11:06 AM
That shelf is the F5 scripts menu. It comes up when you hit F5.

With regards to loading bvh files onto custom rigs, this could likely need a whole seperate tutorial (but you can use the match tab in compose to link things up as a starter).

MarkInTx
03-24-2008, 11:54 AM
That shelf is the F5 scripts menu. It comes up when you hit F5.

With regards to loading bvh files onto custom rigs, this could likely need a whole seperate tutorial (but you can use the match tab in compose to link things up as a starter).

Thanks Ulven. That brings up the shelf.

As for attaching it to AutoRig... what I was going to do (not knowing anything) was bring the mocap in as nulls and map the bones from autorigger to them, using the nulls as targets. Not that I know how to do that... but that was what I was thinking.

Would it be better to bring it in as bones and match the bones from autorigger to the bones on the BVH file... I think that's what you are saying?

My next question is: Is there any real advantage to doing it that way? I suppose when I get to tweaking, I have more control if I have the full auto-rig there, eh?

Ulven
03-24-2008, 02:05 PM
You should bring it in as a motion clip and use the match tab in compose to synch up the items in the group "animatables" to the items in the motion clip it creates. after you've hit autorig. You will have to fade IK off for the feet since bvh only has rotation information on the legs (I think). The forward movement in bvh is on the hip control if I rememeber correctly so that should be linked with the Character_Root control. You will have to account for the fact that the rigs will be differently sized/configured to some extent as well.
Basically, if you haven't done it before it will take a bit of experimentation unless someone gets enough time to make another tutorial soon.

Suricate
03-24-2008, 02:15 PM
A while back, I've been looking into using BVH data with messiah. A few things that I would like to share:

1. messiah's BVH import is a bit borked. When setting up the bones, messiah puts the bones/nulls on the wrong place along the Z axis (messiah puts the bones to +Z instead of -Z and vice versa). This in itself wouldn'nt be a problem, but since the rotations that are stored in the file are based on the setup, some rotations of the MoCap animation end up in the wrong way (i.e. a arm would rotate to the soide instead of rotating forward). I've been working on a BHV loader myself (not completely finished yet) that imports the data correctly.

2. To retarget the motion from the source rig to the destination rig, you can attach nulls to the source rig (the rig that contains the animation) and transfer them to the other rig with the 'Align' expression. This can be a bit tricky since rotations might be not the same on different rigs. I've been working on a 'Retarget' expression which simplifies this transfer a bit, but again this is not finished yet.

3. The advanatage of having a full-blown rig is indeed when you want to tweak the animation. BHV data contains only FK rotations (except for the root object, which also contains translation data). The problem is that if your destination character has different proportions on the leg, the feet of the character most likely will not be exactly on the ground (since the have the FK rotations of the source rig applied). So you would most likely bake the FK leg rotation to IK and then manipulate the IK controller of the leg.

So it's not completely straightforward to retarget the MoCap data to your own rig.

MarkInTx
03-24-2008, 02:36 PM
Thanks Ulven and Suricate.

I guess what I was hoping for (an easy way of testing the rig in animation and saying: "Wee, look at that!") doesn't really exist. Shucks. You mean I have to work now?

Ulven, if you get time for the new tutorial, that would be great. The main problem I have when following aong with your soundless tutorial is when you do something like switch from Local properties, to World properties and parent properties.

As a Noob, this is the hardest thing for me to get. I'm not sure when I should be adjusting which one of these. No one really explains this (that I've seen - and I have both of Joe's CDs on rigging as well) to the point I understand it. It is frustrating.

I hooked up the Thief.BVH to my mesh, and as Suricate predicted, my arms bend the wrong way. It may be that I tweaked the wrong setting in the set-up, but the arms are all screwy, Legs look fine.

I'll keep playing a bit... But if anyone has a place in the manual they want to point me towards or something, I'd be much obliged (the messiah manual on Motion capture use is a bit terse -- to say the least!)

TylerAZambori
03-24-2008, 03:24 PM
A while back, I've been looking into using BVH data with messiah. A few things that I would like to share:

1. messiah's BVH import is a bit borked. When setting up the bones, messiah puts the bones/nulls on the wrong place along the Z axis (messiah puts the bones to +Z instead of -Z and vice versa). This in itself wouldn'nt be a problem, but since the rotations that are stored in the file are based on the setup, some rotations of the MoCap animation end up in the wrong way (i.e. a arm would rotate to the soide instead of rotating forward). I've been working on a BHV loader myself (not completely finished yet) that imports the data correctly.

2. To retarget the motion from the source rig to the destination rig, you can attach nulls to the source rig (the rig that contains the animation) and transfer them to the other rig with the 'Align' expression. This can be a bit tricky since rotations might be not the same on different rigs. I've been working on a 'Retarget' expression which simplifies this transfer a bit, but again this is not finished yet.

3. The advanatage of having a full-blown rig is indeed when you want to tweak the animation. BHV data contains only FK rotations (except for the root object, which also contains translation data). The problem is that if your destination character has different proportions on the leg, the feet of the character most likely will not be exactly on the ground (since the have the FK rotations of the source rig applied). So you would most likely bake the FK leg rotation to IK and then manipulate the IK controller of the leg.

So it's not completely straightforward to retarget the MoCap data to your own rig.

I would be very interested in that BVH loader and retarget expression!

MarkInTx
03-24-2008, 04:20 PM
BTW, Ulven... where did you get that DRUNKEN.BVH? Is it public domain? I'd like to fire it up and see how it looks. My Mesh looks pretty good in the legs and in wide genstures of the arms, so I was thinking it might look OK with that BVH.

Any chance I can get that somehow?

kursad_pileksuz
03-24-2008, 04:34 PM
Suricate Can you also email Pmg about this problem?So they have it in record. I already emailed Fori but it would be best if we have more people complaining about to get a fix.

I would be very interested in your plugins as well. Back in 2007 I needed mocap in messiah but because of the issue you have mentioned I could not use mocap for that project. And trying to clean up and realign would have been major struggle.


A while back, I've been looking into using BVH data with messiah. A few things that I would like to share:

1. messiah's BVH import is a bit borked. When setting up the bones, messiah puts the bones/nulls on the wrong place along the Z axis (messiah puts the bones to +Z instead of -Z and vice versa). This in itself wouldn'nt be a problem, but since the rotations that are stored in the file are based on the setup, some rotations of the MoCap animation end up in the wrong way (i.e. a arm would rotate to the soide instead of rotating forward). I've been working on a BHV loader myself (not completely finished yet) that imports the data correctly.

2. To retarget the motion from the source rig to the destination rig, you can attach nulls to the source rig (the rig that contains the animation) and transfer them to the other rig with the 'Align' expression. This can be a bit tricky since rotations might be not the same on different rigs. I've been working on a 'Retarget' expression which simplifies this transfer a bit, but again this is not finished yet.

3. The advanatage of having a full-blown rig is indeed when you want to tweak the animation. BHV data contains only FK rotations (except for the root object, which also contains translation data). The problem is that if your destination character has different proportions on the leg, the feet of the character most likely will not be exactly on the ground (since the have the FK rotations of the source rig applied). So you would most likely bake the FK leg rotation to IK and then manipulate the IK controller of the leg.

So it's not completely straightforward to retarget the MoCap data to your own rig.

Suricate
03-24-2008, 10:13 PM
Suricate Can you also email Pmg about this problem?So they have it in record. I already emailed Fori but it would be best if we have more people complaining about to get a fix.

I would be very interested in your plugins as well. Back in 2007 I needed mocap in messiah but because of the issue you have mentioned I could not use mocap for that project. And trying to clean up and realign would have been major struggle.

I will report that bug (if I hadn't done so yet, cannot remember). About the plugins, I have to check how much cleaning up is needed. You know, so many plugins, so little time ... :D

kursad_pileksuz
03-24-2008, 11:15 PM
Totally understandable.
You should think about releasing your plugins as donationware . I think this is a good way to reward people who put their precious time into making something for community.



I will report that bug (if I hadn't done so yet, cannot remember). About the plugins, I have to check how much cleaning up is needed. You know, so many plugins, so little time ... :D

Suricate
03-25-2008, 10:14 AM
Totally understandable.
You should think about releasing your plugins as donationware . I think this is a good way to reward people who put their precious time into making something for community.
Well, doing these plugins is also a sort of advertising for me, so if I once in a while get a paid rigging or coding job, things are Ok with me. :)

Anyway, I've now updated the 'ExpressionPack' plugin to include an expression for retargetting. A sample scene is also included, I hope this is sufficiently clear.

The BVH loader needs more cleaning up, so you have to wait a bit longer.

MarkInTx
03-25-2008, 01:20 PM
You should bring it in as a motion clip and use the match tab in compose to synch up the items in the group "animatables" to the items in the motion clip it creates.

I might be dreaming here... but wouldn't it be possible to create a BVH --> Autorigger import?

BVH is just a text file that describes a hierarchy and motion... yes?

So, if you assumed a certain naming convention in the BVH file (and it would be really easy to have a front table to do a translation) It seems that you could read a BVH file in and put the movements on the autorig's bones... so instead of ending up with a stick figure skeleton showing the BVH motion, you would have the auto-rigger's bones doing it.

Then, any character that used the auto-rigger as a base would be instantly animated.

That would sure make Auto-rigger more powerful in an instant...

Ulven
03-25-2008, 04:34 PM
I'll have a think on it.

MarkInTx
03-26-2008, 02:16 AM
OK, I hate to be a PIA on this... but still having trouble.

I have been playing around with this all day and I can't seem to replicate what Ulven did. (It would help if I had the same BVH file but...)

I'm using the THIEF.BVH file that ships with Messiah. (I have tried others I have found on the web, but it makes no difference, actually, I always run into problems at the same place...)

I set the hips, and the chest, neck and head. Fine so far -- just like the example Ulven shows. To set the collar bone, I switch to WORLD coordinates and move it up to the spot (again, just like Ulven.)

The problem is when I go to set the LeftUpArm. In the Video, Ulven switches to the Parent coordinates, and then moves the PITCH of the bone to set it perpendicular to the chest bone. (His model is in the DaVinci pose, and the reference rig from BVH is arms down position.)

This is where I get into trouble. My PITCH doesn't move the arm like his does. My PITCH moves the arm forward and back... not sideways -- if that makes sense. I took a screen shot, but I don't know if it is clear from that. In the screen shot, I have moved my arm about 30 degrees and as you can see, it looks foreshortened, because it is moving BACK not sideways.

I have no control to move the arm counterclockwise (from front view) into position.

The only way I can get that control is to switch to F - Local co-ordinates. Then the HEADING control will move the arm the same way Ulven's moved with Pitch... but now I am good and truly screwed because the BVH arm now moves all weird -- like the joints are mashed or something.

I can keep this from happening (I think) if I click XFORM - OFF in the RESt tab... but this seems to confuse the animation later in different ways, and my mesh deforms strangely.

Any idea what I am doing wrong? (If I made myself clear... not sure how to decscribe this without making a video, and that seems extreme...)

Anyone?
http://digitalartistguild.com/Tests/Messiah/MS3_SS3.jpg

Ulven
03-26-2008, 09:39 AM
I wouldn't follow the video quite so step by step. What you're seeing me donig is adjusting the bvh to fit my character, using whatever coordinate system feels natural. You may need to bank the clavicle to adjust it or you may have to use heading in parent coordinates to get there... depends on what's in the bee wee hedge file.

MarkInTx
03-26-2008, 11:47 AM
I wouldn't follow the video quite so step by step. What you're seeing me donig is adjusting the bvh to fit my character, using whatever coordinate system feels natural. You may need to bank the clavicle to adjust it or you may have to use heading in parent coordinates to get there... depends on what's in the bee wee hedge file.

Understood, but there seems to be a difference. All coordinate systems do not seem to work equally.

When I use the World Co-ordinates or the Parent co-ordinates, the results on the animation Tab are fine. When I shift to the F-Local coordinates, any adjustment I make to the arm screws up the BVH motion.

If anyone wants to try it, it is easy to do. Take the Thief.bvh and adjust it to a mesh with a Davinci pose. You will not be able to do it (I think) without resorting to local coordinates. When you do, go back and play the BVH file. It will be screwed up now.

OK, I used JING and created a video that shows what I mean... (It's not great... so you sort of need to wait through a couple of bad clicks)

1. Do all of the setup steps (off camera).
2. I move the collar bone using parent co-ordinates.
3. I go back to the ANimation and clip is fine.
4. Now I go into the shoulder bone.
5. Pitch moves arm forward and back, not up and down. But the BVH is still fine when I do that
6. Now I go into setup again and this time I switch to F - Local co-ordinates. It takes a few click here (sorry) but eventually, I grab the heading control and rotate arm straight up perpendicular.
7. I go back to Animate and look at the result... the joint is all mangled.

So... does this make my problem clearer?

JING Video LINK:

http://www.screencast.com/users/MarkJoel60/folders/Jing/media/9512d6ca-f43f-4ab6-a670-46705113ec32

MarkInTx
03-27-2008, 12:56 PM
I'm selfishly bumping this, because I don't know if my last edit was seen.

If someone could look at this video and comment I would really appreciate it. This is the single thing about Messiah that seems to mess me up:

My Edit Sphere never seems to match everyone else's.

No matter what tutorial I am following, it seems like my Coordinates do not match up.

In the case of MoCap, Ulven can pitch an arm up into horizontal position -- I can't. My Pitch moves the arm forward and back.

When I am following along with Joe's Rigging tutorial, his character faces left. When he goes to the front view, that becomes his right leg. When I go to the front view, I am looking at the back of the character. So I switch to the back view, but now the leg is the LEFT leg.

Spinning the model 180 degrees doesn't work either... Because now the model is showing facing the opposite way in the left viewport.

This is really perplexing!

If someone could explain to me why I always seem to be facing the wrong way with respect to the rest of the world, I would sure appreciate it!

JING Video LINK:

http://www.screencast.com/users/Mar...70-46705113ec32 (http://www.screencast.com/users/MarkJoel60/folders/Jing/media/9512d6ca-f43f-4ab6-a670-46705113ec32)

CGTalk Moderation
03-27-2008, 12:56 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.