arms alignment in bvh files

When I first tried to upload animations into SL I found I always had problems with the figure's arms. The issue turned out to be that of arms alignment. So what is arms alignment and why is it not consistent? This page will answer these questions.


a note about arms alignment

When character modellers create characters (like the SL avatar) they tend to create the default position with the arms out-stretched, producing a skeleton with X axis arms alignment.

In contrast, the default position for many life motion capture systems is with the arms at the sides, giving us a skeleton with Y axis arms alignment.

So, when all the rotation values for a skeleton are set to zero (i.e. the default position), the skeletons will take on different stances:

This creates problems when we try to retarget data across characters with different arms alignments. bvhacker can handle retargetting from Y axis aligned arms to X axis aligned arms for figures whose arm joints use the ZXY rotation order. The joint rotation order for a selected joint in your file is shown in the 'joint properties' panel on the right hand side of the bvhacker interface.

If you just want to check the arms alignment of your bvh file, simply open up your file in bvhacker and look at the file properties window in the bottom left. The figure's arms's alignment is displayed there. You can also have a look at your figure's default post ion by clicking the Set T button.

If your figure has Y-axis aligned arms and you want to make it compatible with SL, you can use bvhacker's SL conversion commands in the hack menu. This will automatically change your arms alignment without changing your joint rotation order.

Converting between X-axis and Y-axis arms alignment (whilst maintaining the joint rotation order) is mathematically difficult. bvhacker does do the conversion, but if the arms swing around a lot (technically, if they go beyond ±90° on any axis) there will most likely be small errors. I know how to fix this, but have run out of time on this development cycle - I do this stuff for free remember! See here for a more technical description of my solution to the problem.

I don't want to deal with problems like this!

My animation company, Dubmation, based in South East Asia can undertake all manner of animation related work. From motion capture, data cleaning, processing and production through consultancy, software design and algorithm implementation.
We are also experienced in the design, build and maintenance of virtual world presence - see here for examples of a past projects. Because we are based in SE Asia, our operating costs result in significantly lower rates for our customers.

Bookmark and Share