Posing Panel

The Posing Panel

Important: The posing panel is only available for Armatures in Pose mode or Edit mode.

The Posing panel contains a set of operators needed for posing your character for various purposes. The panel contains 4 sections:

  • Position Control
  • Bind Pose enable
  • Bone Constraints
  • Rig Modify Tools
Image387

Position Control

This is the same operator that you also can find in the Bone Data Properties Window (Right side of your Blender Screen). We added it here because it is a nice shortcut for quick tests of your Rig.

Image391

Use Bind Pose

Lets say your favorite Rigging position is the A pose (see image). But you also know that the SL Rig is a T Posed rig (with arms pointing straight to the sides). So in previous releases we always needed to manually force the A-posed Character into a T-Pose rig ( for example by using the Alter to Restpose Option)

Avastar-2 no longer forces you to work in T Pose. Instead of that you can now work in any Restpose. And we have added a few options for how you can prepare your rig to use bind pose. The by far easiest workflow is…

Image388

Most simple Workflow to enable Bind Pose

  • Important: Set your Rig to SL Neutral Shape (White Stickman in Appearance Sliders)
  • Use Pose mode and only use the green animation bones(!) to pose your Rig into your favorite Restpose
  • Convert to Bind Pose (see the Convert to Bind Pose chapter further down in this page)
  • Enable the Use Bind Pose Option
  • Export as usual but with Use bind Pose option enabled
  • When you import your item, then ensure the with joint offsets option id disabled!

Now the Avastar Exporter knows how to convert this rig into a standard T-Pose rig without distorting the Meshes. A tutorial for using the Bind Pose option is planned.

Tip: When your Rig was not set to the SL Neutral Shape or when you posed your rig with translating the pose bones, or when you edited your rig in edit mode, then enabling the bind pose may change your rig. Especially when you use the Male option (Gender) then you may see unwanted changes in the Bone configuration.

This is actually not a bug but expected behavior. However, it is not at all convenient and we know that. We try to find a solution that works for everybody. That might need some time though.

Bone Constraints

The Avastar Rig includes a rather complex set of constraints which restrict the bones to move in unreasonable locations. However sometimes you need to disable those constraints. This is where the Bone Constraints section comes into play.

Image389

The selection option at the top of the Panel allows you to specify which subset of Bones you actually want to Lock/Unlock.

: Same Group relates to the Pose Bone groups which you can find in the Rig Data Properties window (on the right side of the Blender screen)

SL Bone Rot: By default the (blue) SL Deform bones follow strictly the (green) Animation bones when posing the skeleton. While the deform bones themself can not be posed. However when you are weight painting, then you often want to check your work by posing the deform bones as well. Here you can Unlock the Deform Bones from the Animation Bones.

Anim Bone Trans: By default the (green) Animation Skeleton ensures the integrity of the Rig, that is: Bones are connected and do not move independently. However in some cases especially when it comes to Facial animation, you want to be able to move the animation bones (Translation). Here you can Unlock the Animation Bones so that they can be moved freely.

Vol Bone Trans: By default the (Orange) Volume Bones are tightly clamped to their parent bones and should not be animated. However sometimes (for non human characters) you want to displace the Volume Bones to better match your character. Here you can Unlock the Volume bones from their parent bones so they can be freely moved and animated.

Convert to Bind Pose

Convert to Bind Pose bakes the current Pose into the Rig. This actually changes the rig’s restpose to the current pose. You use this function after you have posed your Rig to match perfectly to your mesh attachment. But normally you will do this before you bind your meshes.

Image390

Beware of Pitfalls

We found that the most used workflow for converting to Bind Pose results in a rather unexpected behavior:

When you Convert a Rig to Bind pose then all assigned meshes are frozen (See freeze option). This includes the Avastar meshes. So if your Rig contains Avastar Meshes then those meshes will become regular custom meshes. But this implies the character no longer reacts to the sliders like the SL system character does (by using shape keys). In summary:

After Convert to Bind Pose is applied, then  the Avastar reference meshes react like regular meshes and so the slider behavior for the Avastar meshes changes significantly

This becomes very important when you are working with Fitted Mesh.

Note: When all you want to do is fitted Mesh for the system character, then please do not use the Convert to Bind Pose option!

The Bindpose options

When you take a closer look at the Convert to Bind Pose Conversion button (See image above) then you notice 3 small icons inside the button (right aligned). Those options are explained below:

Record Bone Tails information (enabled by default)

Strictly spoken only the Bone heads are important for the Rig. However in some cases, especially for the leaf bones (at the end of bone chains) you usually want to also record the bone tail information to ensure that the rig keeps its intended look. If you disable this option you may get unexpected results.

Record IK Joint Offsets (Experimental, disabled by default)

Avastar tries to auto adjust the IK Rig. However this only works nicely when you work with human rigs. For other rigs the automatic adjustment might not work. So you can try to adjust the IK Bones manually and then enable this option.

Auto-Apply bind pose (enabled by default)

When you want ot use the current pose as new Bind pose then in almost all cases you want to do:

  • Apply the current pose to the mesh(es) (unbind)
  • Set the current pose as the new Restpose
  • Bind the meshes to the new restpose

So you almost always will want to enable this autobind option

Basic workflow

The most simple workflow for using this option was described further up in this document.

When you call this Operator, then you will also get an Operator Redo Panel (at the Tool shelf Bottom) from where you can adjust the settings interactively. But take care here: The adjustments can possibly take some time to appear depending on how complex your meshes are.

The Operator Redo Panel

Right after you have clicked on the Button an operator panel will show up at the bottom of the Tool Shelf (lower left corner). You might need to scroll down the Tool shelf to spot that panel.

The Operator Redo Panel gives you some control over how the Bind pose conversion is performed

 Image394
  • Snap Mesh: When enabled then the bound meshes are altered to the new shape (similar to Alter to Restpose from previous Avastar releases)
  • Preserve Volume: Set the Preserve Volume feature of the Armature Modifier
  • Scope: Can be Selected Bones, Visible Bones, or All Bones.
  • Adjust IK Line Bones: Will adjust the connection bones between the IK Pole Targets and their constrained Bones
  • Adjust IK Pole Angles: Will adjust the Pole angle (see below)

Sync Pole Angles

Pole Angles become important when you work with IK Targets. It is important to have the Pole angles adjusted correctly because otherwise you will see remarkable changes of your pose when you switch between FK and IK mode.

Normally you want to keep this Option enabled.

Image392

So what is the Pole Angle? ...

Imagine a triangle spanned by the three bones IKChainEnd, IKTarget and PoleTarget. In the left image below we have the Collar Bone (IK chain end), the Writ Bone (IK Target) and the Elbow Pole target. This triangle defines a plane in space. This pole plane is sketched as a transparent green triangle.

Now look on the other image. The green (selected) bone is the lower arm. This Bone can possibly have a longitudinal rotation angle relative to the pole plane. This angle is the Pole Angle:

rigging_11

Click to Zoom In

rigging_12

Click to Zoom In

Note: The pole angle is always defined for the Rest Pose. The bending of the Arm in the images above just makes it easier to spot how the pole plane is constructed.

For a simple Rig like the Avastar Rig the Pole angle is typically 0°,90°,180° or 270° but it can have any angle actually. Blender allows to set the Pole angle manually. Avastar provides a function that calculates the optimal pole angle automatically whenever you switch from Edit mode to pose mode.

Our course Non Human character Creation tells more about this. You also find some information about the Pole Angle on the Web. You find some resources with Google, see blender pole target

Experimental Features

We are constantly trying to improve our tools and we experiment a lot with new features. Some of our ongoing development is already added to Avastar. The new featuyres can be enabled by switching to the Experimental mode in the Settings Panel.

Skeleton Templates

Sometimes you may want to conserve a specific Skeleton arrangement for later reuse. This is where Skeleton Templates step in. When you create a new Skeleton Template then the restposition of the current Rig is recorded. The main usage for this is when you want to use alternative bind poses for intermediate work, then later switch back to the original Skeleton arrangement.

We have added 2 default templates as we found they are often needed.

A very Common example: Using A Pose for weighting, then later switch back to the Original T Pose

You can add your own or use predefined templates:

  • SL Bento: rearrange the active Armature to match the Bento default Skeleton
  • SL Legacy: Rearrange the active Armature to match the old (legacy) Skeleton

Note: You need to know which Skeleton you currently use. Using the wrong preset may cause damage (we are working on this)

Image431

 Minimalistic workflow

Lets assume you want to work with a custom pose instead of the default SL T-Pose. This is a very common usage scenario and it is briefly done as follows (nothing special here):

  1. Add a new Avastar
  2. pose Avastar to your mesh (A Pose for example)
  3. Convert to bind pose
  4. Do the weighting of your skeleton

Now you can work in your custom Restpose and there is nothing wrong with that. Avastar can even automatically export your work compatible to SL. So there is nothing to worry about here.

The downside of this

The only downside of using custom restposes is that you no longer can use the Avastar meshes as reference for your work! The technical reason for this is that the Avastar meshes need to be frozen during the restpose conversion, so they no longer are compatible to the defualt SL Avatar.

But especially when you are doing fitted Mesh for the system character then you will almost certainly want to compare your work to the SL Avatar to ensure your meshes behave nicely in combination with the Avatar. And this can only be done when you work with the default T-Pose. So you need a way to convert your custom restpose back to the Avastar default T-Pose. And this is where we need…

custom Skeleton Templates

Here is the workflow:

  1. Ensure you have the Experimental setting enabled (See Settings panel)
  2. Select the armature and open the Posing panel
  3. Enable the snowflake in the skeleton template menu (see image)
    This will adjust the meshes to the skeleton changes (Important!)
  4. Use the SL Legacy or the SL Bento preset depending on what Avastar you use

Now you have switched your Model back into the default T-Pose, but the Avastar meshes in your model still do not contain the Morph shapes (Shape keys). If you want to get full compatibility then you need to…

Convert to Plain Vanilla Avastar

If you need plain vanilla Avastar Meshes, for example when you want to create Fitted Mesh for the System Character, then you still need to follow the basic workflow above, but then you need to add a few more steps:

  1. Unbind your Custom meshes
  2. Delete the entire Skeleton
  3. Create a new Avastar
  4. Bind your Mesh with the “Keep weights” option

Now you have a plain vanilla Avastar that you can use easily with the Fitting Panel.

Why not use Alter to Restpose for this?

Yes, good question! This workflow is very comparable to the old “Alter to Restpose” feature that we had in Avastar-1, but it gives you a very important advantage over the old feature:

  • In Avastar-1 you need to have the weighting already made before you apply the Alter to Restpose.
  • In Avastar-2 you can bind unweighted meshes to your custom restpose, then add the weighting with the usual weight tools, and finally convert your meshes back to T Pose. The big(really big!) advantage of this approach is that you now have full control over the weighting, so you can get much better results with much less effort.

Remarks

You think all of this is just “utterly complex stuff for easy things”? Well, yes, admitted. Its not a one button click solution. But honestly, once you understand how things work together it boils down to a few clicks and almost no thinking. You need to train a bit and then you will like this a lot, i am sure !

And note: All of the above is only needed when you want (or need) to compare your creations to the default SL Avatar (mostly when you work with fitted mesh). If you do not use the system character at all, then you can use the fitting panel with any skeleton arrangement.

Video (Work in Progress)

Transcript

The transcript is a work in progress and it contains control commands. The transcript is published here only until the video is available.

Avastar directly supports the making of fitted Mesh attachments
for the Second Life Avatar. The tool works smoothely?^
as long as you avoid to use joint-positions.<break time=”1s”/>

However?^ sometimes you may want to use a modified restpose
instead of the Secondlife T-Pose.
For example when you are modelling pants,
in that case you may want to work with an A-pose.<break time=”1s”/>

The good news is?^
Avastar actually does support arbitrary restposes.

But there is a caveat here:

When you modify the restpose?^
then the Avastar meshes must be frozen.
And this means?^

Avastar meshes are now treated exactly like custom meshes.
So you no longer can use them as reference for the Second Life avatar.<break time=”1s”/>

So, in the following workflow?^
i demonstrate where exactly things go wrong?^
and how you can make the model working properly again.<break time=”0.5s”/>

We will combine some tools so that we actually
can use our special bind pose for the initial weighting.

but then?^ in the final step?^
we revert our model back to the Secondlife T-pose,
so that we again can use the fitting tools.<break time=”1s”/>

Here is the working model, a simple pants.<break time=”2s”/>

And this is the Avastar default rig.<break time=”3s”/>

Obviously we want the rig to match with the pants.
So, our first task is to find the matching pose.
We use the Avastar default meshes as a guideline,
and we work on the Armature in Pose mode.<break time=”1s”/>

In our case the matching pose can be obtained by
rotating the hips by 5 degrees.<break time=”4s”/>

This is the matching pose. <break time=”1s”/>

In the next step?^
we want to use the just created Pose?^ as the new restpose.

But before we do this?^
lets quickly inspect the Avastar meshes.<break time=”1s”/>

Open the data properties section.
Here?^ you can see that all Avastar meshes make use of Shape keys. <break time=”2s”/>

This is exactly the same technique
that is also used within the Second life viewer,
to maintain the system character’s appearance.

ok, so lets proceed with modifying our bind pose and see what happens.<break time=”0.5s”/>

Ensure that your rig is in pose-mode.<break time=”1s”/>
then open the Posing panel?^<break time=”1s”/>
and convert to bind pose.
In this case we will use the default options. <break time=”2s”/>

Now we see how the rig’s restpose
has changed from a simple T-pose?^
to an A-Pose on the legs part. <break time=”2s”/>

However?^
right now two things have changed.

First, the Avastar meshes no longer have shape keys. <break time=”1s”/>
This is because they have been frozen during the binding step?^
and they are now treated as regular custom meshes. <break time=”1s”/>

Second, the rig actually has joint positions defined.
We can see the joint positions in the rig-data properties panel. <break time=”1s”/>

Just scroll down to the joint positions section. <break time=”1s”/>
Here?^ you can see all bones of the lower body are listed.
Although we previously only rotated the hip bones. <break time=”2s”/>

Well?^ this may be unexpected?^ but actually this is correct.

However, Lets leave the joint positions for a moment,
and first proceed with binding the A-posed pants.  <break time=”0.5s”/>

So, Keep the Armature selected?^
then shift select the pants in object mode.<break time=”1s”/>
and open the Skinning Tools panel. <break time=”1s”/>

Since we have tight pants,
we use weight-copy from meshes in this case.<break time=”1s”/>
finally?^ we call the Bind to armature operator.<break time=”2s”/>

Now we can go ahead with testing and optimizing the weight maps for the pants.<break time=”1s”/>

However, i won’t go deeper into weighting here.
i just make a quick check to see what the automatic weighting
has produced.<break time=”4s”/>

and since this is already a rather good weighting?^
i just proceed to the next step.<break time=”2s”/>

Ok, Lets remember what we actually want to achieve, that is?^
We want to create fitted mesh pants.<break time=”1s”/>

So we first try to proceed in a very straight forward way.
We just select the pants?^
and then step into the fitting panel right away.<break time=”1s”/>

And once we are in the fitting panel?^ <break time=”1s”/>
we just select the Fully fitted option to begin with.<break time=”1s”/>

Until here?^ everything works like a charm.
But actually we stepped into a big pitfall.
And?^ We actually messed up this model without noticing.<break time=”1s”/>

So, lets open the appearance sliders,
and then move the Belly-slider a bit?^
to see the problem.<break time=”3s”/>

ok?^ you might have expected the Avastar character to react
on the sliders as usual.
But this does no longer happen like before.<break time=”1s”/>

well, at the point where we converted the rig to bind pose?^
the Avastar meshes have been converted to regular meshes.<break time=”1s”/>

But?^ regular meshes only react to the belly slider?^
when they have been prepared for fitted mesh. <break time=”1s”/>

ok, now what to do next?
Maybe we can try to be clever?^
and simply add fitted mesh bone weights to the Avastar character.
This should do the job, does it?

Actually not.
Lets see what happens when we do this.<break time=”1s”/>

Select the lower body,<break time=”1s”/>
then select the fully fitted entry from the fitting panel.<break time=”1s”/>

Then do the exact same for the upper body.<break time=”3s”/>
Now the upper and lower body are fitted as well.
And on first sight the problem seems to be solved.<break time=”2s”/>

But actually the system character is now treated as a custom mesh,
so it reacts slightly different on the sliders.
And here is the problem:<break time=”1s”/>

The system character uses shape keys for shaping,
while custom-meshes use collision volume bones.<break time=”1s”/>
You can see that the model behaves not as before?^
when you try for example the love handle sliders.<break time=”5s”/>

But when you want to test your fitted mesh pants against the
system character, then you also want the Avastar character
to react on the shape settings exactly like the secondlife avatar.
And what you certainly do not want is to compare your pants
to a mesh clone.<break time=”2s”/>

The simplest way to step out of this pitfall?^
is by replacing the Avastar Rig
by a fresh Avastar without any joint offsets.
Luckily this can be done very quickly with no effort.

And here we go.<break time=”1s”/>

Take care that your settings is set to experimental?^<break time=”2s”/>
Then go to the posing tools,<break time=”1s”/>
and in the pose presets-menu
enable the snowflake icon,<break time=”1s”/>
then finally select the Second Life Legacy boneset.<break time=”1s”/>

And by now you see the character has changed its rest position
back to the default Second Life T-Pose.<break time=”1s”/>

Now you unbind the pants?^ <break time=”1s”/>
then delete the Avastar, <break time=”1s”/>
proceed by creating a new Avastar character, <break time=”1s”/>
and finally, bind the pants to the Avastar with keep weights.<break time=”1s”/>

And now the sliders behave again exactly as expected on the Avastar,
and they also behave properly on the mesh attachment.