Using BVH (biovision) Files from Motionbuilder in Houdini

ZIP Files for the Tutorial (right-click and 'save-as')

This is going to be a quick and extremely rough tutorial on getting Biovision files from Motionbuilder into Houdini. I've only been using Houdini for a little while and I am sure that my way of doing this isn't the best or most efficient, but it works for me.

Step1:

Create your animation in Motionbuilder (or anything that exports .bvh files). (NOTE: I've had some problems importing .bvh files with correct rotations on the spine. So I like to have the animation plotted starting in a T-Pose. This is so you can bind the skeleton to your rig easier. You'll see why in a few paragraphs) When you are satisfied with everything plot the animation to the skeleton. If you are using story mode, you can right-click and "plot to current take". Then either mute or delete the story track. Next you want to open the navigator tab and select your characters hip bone, right click and select branches.

 

Step 2:

Now we should have a raw .bvh file that we will need to put through mcbiovision. First, make sure your environment variables are set to the Houdini bin file correctly, here's mine:

Open a command prompt and expand to the directory of your .bvh file. Since we are going to select the "-w" flag so we have something to snap our bones to when we create our skeleton. Here is what I typed (in yellow):

Step 3:

We should now have 2 new files created in the same directory as the original .bvh file:

kickingman_take_001.bclip and kickingman_take_001.cmd

Step 4:

Open Houdini and goto file-run script. (NOTE: Since Houdini doesn't like to have spaces in file names, you might need to move your kickingman_take_001.cmd file to a different directory. I put mine in my root C:\ so there weren't any spaces) Next in the run-script dialog, source the kickingman_take_001.cmd file and hit apply.

You should now have a wireframe of your skeleton. (NOTE: For some reason while writing this tutorial, my wireframe looked like it had a bad case of scoliosis and after a few hours of trying to fix it, I gave up, but even in its messed-up state, it's still useable) Here is what I ended up with:

 

Step 5:

Now we have to create the bones for our character. This will be done 1 bone at a time, and since we will be parenting each bone to its relative wire, the bones should not be chained together like we would normally do.. First make sure snapping is turned on and Tab-Bones. I started with the left leg and worked down. Let the cursor snap to the starting point, click, and let the cursor snap to the next point. Right-click to stop, the hit "q" and do it again. This might sound cumbersome, but once you do a couple, you quickly get the hang of things. Here's mine:

Now we need to do some parenting: Tab-Parent select a boneROOT (NOT the bone), right-click, select the coresponding wire (it run should run down the middle of the bone) and right-click to drop. Hit "q" and repeat for everybone. And my MESSY network (Sorry I didn't name everything):

 

Step 6:

I parented the root of my wireskeleton to a ROOT null for easy scaling and moving around. At this pont we can import our motion file. Tab-ChopNetwork and enter it. Now hit tab-file to create a holder for our mocap file.

Point the channel file to the kickingman_take_001.bclip. Make sure you hit the brown export flag. Congratulations, you should now have a character skeleton running around. As you see, the curvature in the spine doesn't affect the motion of the skeleton. If we had started the animation in a T-Pose, we could now do our skin-binding. We should also be able to import other bclips and just add them to our Chopnetwork, and aslong as they share the same skeletal system (this includes the curvature in my case) the motion should play out nicely.

I hope this info saves some of your hair, as I definetly lost alot trying to figure it out. This tutorial is by no means the best way, its just the way that worked for me, and that seems like it's all that matters as long as you get the final product the way you want. Fee free to email me with questions/comments/rants at toddrdurant[at]hotmail[dot]com. Peace be with you.