Tutorial 2: preparing animations

This tutorial describes my current steps for final preparation of a bvh file before uploading to Second Life. I do not present this as a definitive guide - please do let me know if you have any ideas or corrections.

Tutorial 2

In this article I describe the way I process animations before uploading them to Second Life. I started off just using bvhacker to add the t-stance reference frame after exporting from my main animation editor because it's so much easier and quicker. Since then I've added a number of 'last minute' features that save me a lot of time!

If you are not already familiar, an overview of bvhacker's interface is available here.

Six things I check new animations:


1. Offset removal

In a sentance: Make sure the hips height is what you expect

Some animation editing software produces files with two offsets for the hip joint. Regular SL animations should only have one stored in the motion data and not the hip joint's offset value. Don't worry if this doesn't mean anything to you - all you need to know is that pressing the 'NoOff' button in the 'hacks and tweaks' section (3) sorts it out. In fact, pressing the 'NoOff' button can't do any harm, so it's nearly always worth pressing just to make sure.

2. Not Zero!

In a sentance: Makes sure SL doesn't ignore any joints

Second Life ignores joint data below a certain threshold. Pressing the '!Zero' button (3) will search through all your motion data and make sure any values below the threshold are increased to just over the threshold. Warning! do not do this if you have already set your T-Pose or otherwise zeroed out joints! !Zero should always be used before you create any necessary zeroed out joints.
3. Final positioning

In a sentance: Helps to keep feet on the ground and make animation transitions smoother

Select 'Translation mode' in the 'Sliders adjustment' section (4). Click the 'front' button in the 'View' section (5). Position your character using the X slider in front view and the Z slider in the left or right view. To postion the feet on the ground, select the front view and then hit the 'floor' button and move the Y slider. Exactly where to position your character depends on the kind of animation you are producing:
Standing, dancing, gesturing Adjust the X and Z sliders until the character's feet are exactly centred. If one foot is in front of the other, put the leading foot on the zero line. You may choose to center the hips instead, but I find using the feet generally gives smother animation transitions. From the floor view, adjust the Y slider until the platforms on your character's feet are in line with the ground.

Sitting
Center your character's hips using the X slider and adjust the Y slider until the platforms on your character's feet are in line with the ground. The placement of the Z centre depends on what you need - just behind the knees works great for sitting on larger objects, halfway between the hips and knees is better for stools. Experimentation seems to be the key here!

Sitting on ground
Center hips in X and Z planes. Set Y plane at around 8 to 10, depending on the avi's bum thickness.

Flying, swimming
Center hips in X only. Move forward in Z until feet are at zero. Set feet at hip height.

4. Free up joints

In a sentance: Adds more natural, random movement using SL generic animations

It is often desirable to free up various joints so SL can play it's generic animation on that joint. The usual candidate for 'freeing up' is the neck as freeing this up allows the avatar's head to follow mouse movement. Occasionally, freeing up shoulders or arms can be effective - again, experimentation is the way!
To free up a joint you need to set all rotation values (x,y and z) for the selected joint to zero. This makes sure that Second Life reads the joint as 'open to lower priority animations'.

To free up a joint, simply select it in the skeleton tree view (12) and click the 'XYZ' button in the adjustments section (2).
5. Framerate

In a sentance: speed up or slow down your animation

bvhacker is designed to play all frames, whether or not the computer can play them fast enough. It does this so that glitches that may have not been seen in other animation editing tools can more easily be detected . This means that many animations will appear to run slower in bvhacker than in Second Life, so bvhacker is not the place to adjust the apparent speed of your animation. Despite this, I often need to speed up or slow down various animations using bvhacker. This can be done by increasing or decreasing the framerate usng the 'Frame time' control's buttons at the bottom of bvhacker's interface (9).
6. Set T-Pose

In a sentance: essential! set the reference stance (T-Pose) for SL

Do a final scrub through the animation using the slider at the bottom of bvhacker's interface. If you are happy with what you see, hit the 'Set T' button (4) to set the reference frame for Second Life.



Now save!

You now have a 'polished' animation ready to be uploaded...
7. Check the quality

In a sentance: QC - Quality check - let bvhacker check your animation for problems

This feature was added in April 2008. Pressing QC will produce a text file on your desktop listing common problems and human limits warnings found in your animation.



Now save!

You now have a 'polished' animation ready to be uploaded...

A note on intellectual property rights

If you do sell animations made with bvhacker you have an obligation to obtain permission from the original bvh motion file creator to re-sell their work. However, this does not apply to files from bvhfiles.com - if you want to re-sell animations from there you are permitted to do so as long as you add the words 'bvhfiles.com' or 'Animazoo' to the name of the animation when you put it up for sale.