Working with Bind Poses

In previous Avastar releases we always needed to eventually use the T-posed Character when we were creating models and attachments with human shapes. We did so to keep compatible to the SL  T-Pose rig (experts may remember the Alter to Restpose Option that we provided for this purpose).

In Avastar-2 we are no longer forced to handle the T Pose. Instead of that you can now work in any Restpose (technically named: Bind Pose). Avastar can now calculate the necessary extra data that is needed by the SL Importer to handle these Rigs properly.

Besides supporting arbitrary Bind poses we also added a few extra functions so that you can create your custom rigs more efficiently…

 

Simple Workflow for Bind Poses

Prepare the Rig

When your Appearance Sliders are disabled, then you can not set the use bind pose options. However you still can follow this workflow for editing your rig.

When your Appearance Sliders are enabled, then we recommend that you enable the use bind pose option. However this is not a strict requirement.

Enable Pose mode

You can use the workflow presets in the Avastar Workflows Panel (see image). This makes sure that Avastar is configured correctly for the next steps:

  • Select the Armature
  • Open Workflows Panel
  • Enable All features
  • Select Pose&Animate Preset

Blender Expert...

When you are familiar with Rigging in Blender then you can also use the quick steps:

  • Select the Armature
  • Set mode to Pose Mode

Pose the Rig as required

Now pose your Armature into your favorite Restpose by using the Appearance sliders and the green animation bones(!). You can also use the gender option when you work on a male character.

Important: Please use only the green animation bones for this step! When you use the blue and purple pose bones then you later might not get the results that you expect.

In the image aside you see how we adjusted an Avastar Rig to match a static Mesh model. Further down we will bind this model to the rig.

Apply as Rest Pose

  • Open the Posing Panel.
  • Apply as Restpose

For more details about the panel options see the Avastar Tool tips in the Posing Panel to get a better understanding of the options. Avastar’s default settings should be good for most situations.

Important: When your Rig has already bound meshes, then please make sure the Convert meshes option is enabled before you apply as restpose. If you forget to do this then the bound meshes will return back to their original restpose (T-Pose).

When you Apply as Restpose then Avastar calculates the difference between your custom rig and a plain vanilla SL Default Rig. This difference is the Bind pose. Later when you export your work with the Use Bind Pose option enabled, the Collada exporter proceeds as follows:

  • The exporter exports a plain Vanilla SL Skeleton
  • It adds the Bindpose as Extra information to the exported Mesh(es)
  • The SL Importer only needs to import with Weights. (The with Joint offsets option should be disabled!)

The Use Bind Pose option

When you enable this option then Avastar is told that your Rig is meant to be a plain vanilla (SL Default) T-posed SL rig with no joint overrides. Then one of 2 situations apply:

  1. If your rig has not been edited at all (is a default SL T posed rig) then enabling this option has little to no effect at all.
  2. If you rig is modified, then Avastar calculates the transformation differences between your Rig and the SL Default T posed Rig. Those differences (also named the bind pose) are later added to the exported Collada file and allow the SL importer to treat your meshes correctly without need to use joint overrides!

A serious word of warning

The Use Bind Pose option should only be used with rigs that are only slightly modified! Here are some rules of thumb for when a rig can be used with Bind pose:

  • Your edited Rig must be created only by using Bone Rotations (You must avoid Bone translation at any costs)
  • Do not rotate the Spine bones (from mPelvis up to mChest)
  • If ever possible adjust only the mHip bones and the mShoulder bones

A serious word of warning

The Use Bind Pose option should only be used with rigs that are only slightly modified! Here are some rules of thumb for when a rig can be used with Bind pose:

  • Your edited Rig must be created only by using Bone Rotations (You must avoid Bone translation at any costs)
  • Do not rotate the Spine bones (from mPelvis up to mChest)
  • If ever possible adjust only the mHip bones and the mShoulder bones

Bind Your Meshes (optional)

When you not yet have bound (attached) your Meshes to the Armature, then you can do this now by selecting the Mesh(es) and the Armature in object mode.

In the Skinning panel you can now bind, then optimize your weight maps.

Export with Avastar’s Collada exporter

Select your attachments and export with the Avastar Collada exporter as usual. Avastar should automatically set the correct advanced options for the Export.

However if you are in doubt, then open the advanced section of the Collada exporter and check that the option Use bind Pose option is really enabled.

Important: When you import your item into SL, then make sure the with joint offsets option is disabled!

 

Now the Avastar Exporter knows how to convert this rig into a standard T-Pose rig without distorting the Meshes.

When using Bind Pose fails

When you use bind pose then you can imagine your model will be bent into a T-Pose upon upload. To be clear: This is not exactly what happens, but this image is good enough to explain where things start going wrong. Lets make an example:

Custom Rig in Blender

(1) In Blender you matched your bind pose perfectly to your own model.

Same Rig bent into T-Pose

(2) In SL we use the original T-Pose rig. Hence the character is forced into the T-Pose which might make your model look odd and distorted.

(3) On top of this the SL viewer applies the default gestures (stand pose, walk, etc.) to the T posed character. And consequently your model keeps the distortions…

Note: in this case the distortions happen on the chest. This is where the Skeleton was changed most from how it is setup in T Pose.

How to fix this problem

All you need to do is adding poses (single frame animations) and gestures to replace the default animations. Then you finally get back what you expected.

However as soon as the poses terminate your mesh will fall back into the distorted restpose. So you need to use an AO (animation overrider) to permanently apply your poses to your mesh.

Below you see how you can make a single frame stand pose:

How to create a Single Frame Animation

  • Select the armature in Pose mode
  • Create a static pose or a stand animation to your likes
  • Keyframe using Locrot
  • Export the animation

You maybe want to add an animation loop as well.

How to avoid this problem all together

Atually in SL you want your meshes to behave just like any other T posed attachment does. So you need to provide a compatible rig. Here are some rules of thumb:

  • Avoid Bone translation at any costs (only use rotations!)
  • Do not rotate the Spine bones (from mPelvis up to mChest)
  • If possible adjust only the mHip bones and the mShoulder bones

In the images below you see a compatible rig for this model. It is not optimal but at least it will work with the standard Avatar animations.

Custom Rig mostly compatible to the SL T-Pose Rig

Same Custom Rig in Front View.

Summary

Bind to Pose in general is very capable instrument for your rigging. However it works best if the modifications on the Rig are small. Ideal candidates for Bind to Pose are A posed rigs. For anything else it might be easier to Custom Rigs with joint offsets.