Mocap Problem


#1

Hi

Im trying to improt my fbx character in from maya and bring in my motion capture data. The file type is a BVH I cant get it to apply to the actor in my Motion Builder scene. Not sure what the problem is my bvh file shows in in the scene but I cant attach it to the character. ANy help would be great thanks.

Dan


#2

probably incorrect naming conventions in the bvh , your character, or both.

This type of operation should be covered in the help file.

basically you are going to need to characterize the bvh skeleton and then have that drive your model (once characterized there are a few different ways to do this)


#3

Hi
Onkiaze My Skin and joints Im pretty sure are all named correct. Im not sure about the bvh file though Is there a way to check that. My Skin for the character is named Skin this is how I named my joints. Other than that im not sure what else is named wrong I connected the aux joints by hand . So im guessing its the bvh file but im not sure how to check that.


#4

Did you characterize your skeleton before trying to apply the motion?

Art


#5

I’m not all that familiar with using bvh files in motionbuilder, so there may be a better way of doing this, but this should work.

First of all, open your character in Motionbuilder. Go to your Asset Browser, go to Characters and drag the Character icon into your scene, over your character, let go and it should give you the option to characterize. Click that. If all goes as it should it’ll give you the option to go with a Biped or Quadraped. Choose Biped. Your character should now be characterised meaning it’s in a form that motionbuilder can work with.

Now go File > Import, and import your .bvh file. In the import options dialogue box that comes up, make sure that Create is selected and then click Import. A skeleton should appear in the scene matching the bvh animation. Click the bones in this skeleton to see if they also match the standard characterisation naming convention. If they do then go through the same characterisation procedure, dragging and dropping the character icon onto the bvh skeleton. If they don’t match then rename the bones in the bvh skeleton and try again. You can rename them by right clicking on them in the scene and choosing rename, or if you click Ctrl-W while a viewport is selected you’ll switch to the scematic view, which is probably easier to work in when renaming bones.

Once the bvh skeleton is characterised, go into your Asset Browser, open up Characters and double click on your first character. In the Character Settings tab click on the drop down menu where it says Stance Input, and choose Character Input. In the Input Source drop down menu pick the bvh character. This will use the animation in the bvh character to drive the second character. Even if the rigs aren’t the same, the first character will still try it’s best to match the animation of the second character because they’re both characterised.

If you then select the first characters skeleton (space + right click the root bone), and then in the key controls window click Animation > Plot Selected (All Properties), it will bake the information from the bvh character into the first character skeleton. You can then delete the bvh character and the first character will still keep the same motion.

If the bvh skeleton and your original character skeleton are exactly the same (including naming), then when you first Import the bvh file, if you choose merge rather than create, i’m not sure but I think it’ll automatically paste the bvh animation onto your existing character. The original character may have to be characterised before you import though.

Alternatively, if you just post the files up i’ll take a look at them and see if I can sort out the problem for you.


#6

Hey Headless
Thanks for the reply. I tried giving what you said a shot but I still cant get it to work. One things I have noticed though is when I bring in my character to motion builder it shrinks the neck down where the joint is im sure it has something to do with how my bones are placed but I cant figure it out though. Im guessing this becasue when I go to characterize my character it gives me an error saying that “Neck is not the direct descendant of the spine, Head was found”. If you trun off the skeleton you can see the problem im having with the head of the character. When I brought in my BVH file and renamed the joints it gave me no problem and the animation would read fine but I could never get it to plot or even pick up on my character. So if you dont mind taking a look at the files it would be a great help to me. I will up load them. Oh yes the modeler didnt model the model to a very big scale so in motionbuilder the character is very small tried to scale it up in maya and it messed up in motion builder when I did that to. SO im not sure what going on with it. Here is a uplink location for the files they were to big to attach there are three the maya ma file the fbx file and the bvh file.

http://www.yourfilelink.com/get.php?fid=38524


 Again thanks alot for the time and effort on this i know its not your problem to worry about so im very greatful to you.

Dan

#7

I’m at work at the moment but i’ll check it out later this evening when I get home.


#8

Ok so there was a whole bunch of hurdles to jump with this one.

First, you had some heirarchy issues. You had the hips as the root object, where in Motionbuilder you should have a seperate root object so that you can move, rotate and scale the character independent of the animation. It also meant that the spine bone was doing some weird things when it got to applying a control rig. I moved the rest of the bones around the hips null so that the hips null was in roughly the right place, copied the hips null object, renamed the copied null ‘Reference’, put that at the top of the heirarchy and repositioned that so it was in the right place.

You then had an issue with the spine naming, where you’d named things Spine, Spine2, Spine3, etc, and you’d missed out Spine1. This was probably why you’d parented stuff like the neck and arms to Spine, because when it’s missing Spine1 it won’t take into account any of the other spine bones beyond that, and assumes you only have one spine bone (Spine). As such it prompts you to connect everything to Spine, which you did, but then that causes issues cause you’re ignoring the other bones, which are a part of the model’s skinning. I renamed the spine bones to the correct names and changed the heirarchy so that the neck, arms, etc connect to the top of the spine.

I then characterised the character and plotted the character to a control rig so that you could actually move it round. One thing I did notice is that you have some weighting issues. There’s some loose verts that are spiking that you’ll need to sort out in Maya, specifically on the left hand and left breast.

Then I went to importing the bvh file. First of all I want to say that this bvh file probably isn’t suitable for this kind of thing just because the capture data isn’t really complex enough. If you could get what you want using Magnetic or Optical mocap data that’s much better. Look for .c3d files. You’d have to read up on the MotionBuilder tutorials to see how to work with that stuff, and it can be quite complex, but it will give you much better results. Anyway, on with this…

The naming conventions were off so rather than rename each bone from the bvh skeleton I created a new character and alt-dragged the bvh bones into the corresponding slots, then characterised the bvh skeleton. With both characters characterised I then went into the Old Woman character settings and chose character input, so that the old woman would take input from the bvh character rather than the control rig. I had to move and rescale the bvh character using it’s reference to match it up a bit better, but it’s an ok match. There were some issues with the arms not following so I dragged the ReachT and ReachR sliders in the Chaarcter Controls window to full and that solved the issue. I then plotted the character input back to the control rig, so that the old woman would do the same movements independent of the bvh rig. I grouped the bvh rig and unticked show in the group window to clear the scene up a bit. I also clicked Show in the character controls window and unchecked Skeleton, as that also made things much clearer.

So anyway, here’s the file…

OldWoman_tweaked.fbx [ 6.05 mb ]

As you’ll see in the file, there’s still stuff that needs cleaning up, like the hand orientation, locking the feet in place, and stopping the character from clipping through itself, plus some other little motion tweaks, but most of these are common problems with mocap and in this case it’s just down to there not really being enough detail in the mocap file to match the detail of the character. If you just go onto a new animation layer, reposition things and drop a key down it should sort those few issues out for you. I didn’t want to do it myself cause I don’t know how you want it.

Hope that’s helped you out. I know how hard it can be learning MotionBuilder’s innards when there’s so few books and reference material for it.

Enjoy. :slight_smile:


#9

Hey Headless man I have to say you are the best man you have helped me out so much I cant thankyou enough. You have put alot of time and effort into this and for that im very greatful.

Ive been trying to read up on setting up the c3d files ive been doing pretty good at it I ran into a little snag with the rigid bodies. Im just not sure how to set them up. When I made mine off of my markers I just set them up in groups like I did one for the head one group for the torso and so on. I kept each group with three or more markers. JUst wasnt sure if that was the correct way to set each up I did have to clean much up on my rigid body qualtiy because I had alot of spiking in my data. But over all im learing alot on setting up data for my character. I had a couple of questions for you though if you dont mind. After I do have my actor all set up will I want to characterize it. Or is there something different I need to do to attach it to the character.

Also on the file you sentback Im trying to clean up all my errors still thankyou for pointing those out by the way. Just from looking at the rig that I had made for the character do you think I will have trouble with it later on in my animation not really the weighting issues but just the rig its self just because I didnt make it like the motion builder rigs. Ill put the file on this link if you wanna take a look at it for the rigid bodies.

http://www.yourfilelink.com/get.php?fid=40189

Anywas gotta get some sleep but I really want to say thanks for all the help and time and effort that you have put into this for me. Thanks

Dan


#10

Well I usually clean up mocap data in IQ2, which is the Vicon app that comes with all the actual mocap equipment (the mocap cameras and all that stuff), so I don’t usually bother with rigid bodies because the mocap data that I import into Motionbuilder is already clean.

Basically, the whole point of rigid bodies is that you can reconstruct the position of a marker if the system lost track of it at any point during the capture by working out it’s position reletive to other related markers. Each rigid body should be a group of markers that don’t really move all that much relative to each other (hence “rigid”), so for example, since the head markers (usually there’s 4 of them), always stay the same distance apart from each other you’d group those together.

In terms of how many markers you should group together, the number of them is not really the issue, you just group together all markers that move relative to each other. The more markers you have in one group then the more information it has when it comes to reconstructing the uncaptured marker positions, but then you shouldn’t group markers together if they don’t move relative to each other, so like I say, just group together all the markers that move in relation to each other and don’t worry too much about the numbers.

There should actually be some images in the mocap cleanup tutorials that show roughly how markers should be grouped together. Just use those as a guide. Really all the info you need for cleaning up mocap data should be in those tutorials.

About the actor thing: Characterisation is something you do to skeletons, and the actor isn’t a skeleton. When you characterize a skeleton you’re letting motionbuilder know that rather than a generic set of bones that could be anything, that this bone is an arm, this bone is a leg, this bone is a spine, etc, so that it understands those relations and can then use them to give you extra functionality, like using control rigs or being able to take the information from one character and paste it onto another even if they have different rigs.

The actor is more like a conduit between the marker data and character information. It’s actually kind of like characterisation for marker data, in that as far as motionbuilder is concerned, the markers aren’t a person moving around, they’re just random points in space that are moving around. An actor takes that information and applies it to a human form so that rather than just a point with motion on it, it knows that it’s say, a hand moving around. Once you have your markers driving your actor, you just need to open up your character settings in the Navigator by double clicking on the character (so say, the Old Woman character), and select Actor Input, from the drop down menu. This will use the motion on the actor to drive your character. If you then want to animate ontop of that motion, you click Plot Character, and chose Control Rig, and that will bake that motion onto the Control Rig, meaning the character will do the same motion independent of the Actor.

About me helping you out; I honestly don’t mind. Unlike other apps like Max and Maya I know that Motionbuilder is alot tougher to learn because there’s so few books and documentation on the subject. I was lucky to learn the app in an environment where I had people around me who knew what they were doing, so as long as people put effort into learning it themselves then I think it’s nice to be able to share the knowledge now that I know what i’m doing.

Anyway, good luck with all this stuff.


#11

Headless, are you able to import and apply MoCap data through Actors in MB Standard? Or, is that only in the Pro version? I’m not clear what the limitations are with Standard, based on what I’ve read on the Alias web site.


#12

Afraid I don’t know. I’ve only ever used Pro.


#13

Hey guys,

You are correct, the Actor tool - along with the other ‘motion capture’ focused tools are only found in MotionBuilder Pro.

Cheers!

Curtis Garton


#14

Thanks, Curtis. Need to get Pro version, then.


#15

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.