The Posing Panel
Important: The posing panel is only available for Armatures in Pose mode or Edit mode.
The Posing panel displays a set of operators needed for posing your character for various purposes. The panel displays4 sections:
- Position Control
- Bind Pose enable
- Bone Constraints
- Rig modifyTools
Pose Panel in Edit Mode
When you attempt to edit an armature, then you get some additional operators in the Posing panel:
When your User interface is in Expert Mode:
- Store Joint Edits: Tell Avastar to calculate the control values for the appearance sliders(1). Also take care of the double sided arrow right to the Store button. This controls the snap direction for the adjustment of Control bones to Animation bones
- Remove Joint Edits: Revert the skeleton back to the SL default Skeleton. The Snowflake icon is enabled then the rig is not reverted, only the Joint edits as recorded by Avastar are removed. (Normally you do not need this option)
When your User interface is in Experimental Mode:
- Draw Joint Offsets: Use the grease pencil to visualize from where to where an edited joint is moved by drawing a line from the Joint original location to its current location. You can remove the lines by deleting the related Grease pencil layer.
- Snap Base to Rig (Snap Rig to Base): Enforce the synchronization between the blue deforming Bones and the green animation Bones. The double sided arrow right to the Button specifies the direction of the synchronization.
(1): Actually the tool should store edited Joints automatically as soon as you switch from Edit mode to Pose mode. But this works only when you follow our recommendation and only edit the Control bones. However we found it more convenient to also display the function in the user interface, especially if you prefer to only edit the blue Deforming bones.
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.
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 Avastar releases we always needed to manually force the A-posed Character into a T-Pose rig (possibly 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…
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 make surethe 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.
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.
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.
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 also posing the deform bones. 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 also want to move the animation bones (Translation). Here you can Unlock the Animation Bones so that you can move them freely.
Vol Bone Trans: By default the (Orange) Volume Bones are tightly clamped to their parent bones and you can not animate them. 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. Only then you can animate them like the green animation bones.
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.
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 has 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:
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 imageabove) 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 make sure that the rig keeps theintended 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
The most simple workflow for using this option was described further up in this document.
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
- 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: 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.
So what is the Pole Angle? ...
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:
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
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. You enable the new features by switching to the Experimental mode in the Settings Panel.
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 use. Using the wrong preset may cause damage (we are working on this)
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):
- Add a new Avastar
- pose Avastar to your mesh (such as a Pose)
- Convert to bind pose
- 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 are frozen during the restpose conversion, so they no longer are compatible to the default 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 make sure your meshes behave nicely in the SL world. 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:
- Make sure you have the Experimental setting enabled (See Settings panel)
- Select the armature and open the Posing panel
- Enable the snowflake in the skeleton template menu (see image)
This will adjust the meshes to the skeleton changes (Important!)
- 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, such as 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:
- Unbind your Custom meshes
- Delete the entire Skeleton
- Create a new Avastar
- 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 better
You think all of this is just “utterly complex stuff for easy things”? well, yes, admitted. it’s 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)
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 smoothly?^
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 Second Life 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 Second Life 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”/>
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?
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 second Life 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 bone set.<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.