Video not yet available

The Collision Bones Cheat Sheet

Making the boots:

  1. 3D View: add -> Avastar
  2. Tool Shelf: Freeze lower body
  3. Cut out simple boots

Weighting the Boots:

  1. Remove vertex groups
  2. Tool Shelf: parent to Avastar
  3. Object data: enable Collision Bones
  4. Bones: enable deform
  5. Weight Paint
  6. export to Collada

Add a new Avastar Character

The very first step is to create a new Avastar character. You find the creation Button in the main menu:

add -> Avastar

This will create a new female Avastar character. After a short time (typically 2-4 secs) a new Avastar character is created in the 3D View and at the current 3D cursor location .

Image006

Avastar’s default Shape is compatible with SL’s default Shape.

Important: The Avastar figure is an exact representation of the SL Avatar, based on the SL Avatar definition from Linden Labs and so it is fully compatible with the character from Second Life and all similar online worlds like OpenSim for example.

When you use Avastar’s default shape then you also need to test your work with a fresh created shape in SL.
We do not use any of the Ruth shapes, because there is no clear definition what Ruth is. While there is an official definition of the default shape. In SL you create the default shape from your Inventory:

new_shape
default_shape

The SL default Shape (Create new Shape).

W<strong>hat you should know</strong>

  • New Avastar characters can only be created when you are in Object Mode!
  • A new character will be placed at the current 3D Cursor location.
  • You can hide (‘h’)  or remove (‘x’) not needed parts (like the skirt or the hair for example) without breaking the tools.
  • You can create as many characters as you like and thus you can create multi-character animations. Multi-character animations will be explained in the reference guide.
  • The character that you know from avatar.blend or from the workbench (sometimes also named “ruth”) looks different from the default Avastar character. this is not a mistake. Further explanations can be found in the Avastar vs. Workbench Skeleton article.

Make the Boots

I will show you a very simple method to create the boots as a partial copy of the Avastar mesh. This will not create the best results but it will serve well for the purpose of this tutorial. So let us first create a copy of the lower Avastar body by using the Freeze tool:

Freeze the Lower Body

lowerBodyMesh
The freeze tool is actually a copy tool that makes a copy of a rigged mesh with properties depending on the tool settings. We will use the tool to make a “standalone copy” of the lower body of the Avastar mesh.So, first select the lower body of the Avastar character (The “LowerBodyMesh”). Then locate the freeze Tool in the Tool Shelf (left sidebar of the 3D View).You need to know that the Freeze tool will place the created copies exactly at the same location where the original meshes are. So when the freeze tool is done, then by default you will see the originals and the new copies “on top of each other”. And thus you will see a flicker while you move around in the viewport.
Therefore we have added the “Hide original mesh” option to the freeze tool. This will hide the original objects (the copy sources) and only the copies will remain visible when the tool is done. (You always can unhide the originals at any time later) And in almost every case (especially if you want to work on the created copies)  you will want to enable this option.We also want to make the boots standalone (separate them from the Avastar-Armature). We will later parent the boots again, but we want to start with a clean mesh. You will see in a moment why this is a good idea. For now enable “Standalone Posed“.And finally we want to start with a “clean” mesh that has no shape keys, no Weight Groups, no Armature… just a clean simple mesh. That’s why we also enable “Remove Weight groups“.  freeze_mesh
When you finally click on the “Freeze Selected” button, the following operations will be performed:

  • A verbatim copy is created for each selected Mesh,
    the LowerBodyMesh in our case
  • The original selection gets deselected
  • The original selection gets hidden
    due to “Hide Original Mesh
  • The new copy is detached from the Armature
    due to “Standalone Posed
  • All Shape keys are applied to the Copy
    due to “Standalone Posed
  • All Vertex Groups are removed from the Copy
    due to “Remove Weight groups

We end up with a new non rigged, plain and easy object with the name: “lowerBodyMesh.001” which we might want to rename to “Boots” for example.

lowerBodyMesh_01

Body to Boots

In the last step we will go to edit mode and cut away the upper part of the lower body. Thus we only keep the legs and feet. boots_1
In addition to that i have edited the top rim of the boots a bit. I added one extra loop and folded that back into the shaft, so that the “inside” of the shaft’s upper part does not look transparent.
And finally i selected each of the boots separately and scaled them up a bit (by a factor of 1.1 ). And here they are, the most simple Boots made with just a few clicks. Not nice but very simple to create. Feel free to make your own boots with your own technique, make it better shining and beautiful.

Rigging the Boots

Now we are ready to put the Boots back on the Skeleton. For this purpose we will use the rigging panel in the Tool shelf.It is important that you select the armature to where you want to rig your mesh, and the mesh itself at the same time. Only then the tool shelf will display the rigging tool.

Since we want to rig to the Collision Volumes instead of the SL Bones, we do not want to get any of the default weights copied over to the Boots. In fact we want to avoid to copy any weights at all. The rigging tool provides the necessary options.

prepare_rig
The first tool option “with Weight Copy” copies existing weights from the Avastar meshes to the SL Bones of the new mesh. We do not want this to happen. So we keep this option switched off.Since the following 2 options only apply to the weight copy function, they are now greyed out and we do not need to care about them.

The third option “Alter mesh to Rest Pose” only applies when we rig a mesh that is not created in T-Pose. This does not apply to our boots. they are in T-Pose, so we also keep this option unchecked.

Finally we see the “Parent to Armature” button. The number in brackets specifies how many of the selected meshes are not yet parented to an armature and will be affected when you click the button. (1 in our case)

 rig_mesh
After clicking on the “Parent to Armature” button, a couple of tasks will be performed:

  • All selected meshes which are not yet parented get parented to the selected Armature.
  • For each of these meshes a new Armature Modifier is created.
  • All SL Bone vertex groups will be created.
  • Since we have disabled Weight Copy, the created vertex groups are all empty.

If you now look into the Outliner you indeed see that our Boots have been parented to the Avatar, they now got an Armature Modifier and vertex groups have been added for all deforming bones.

However a closer inspection of the vertexgroup list shows that we do not see any vertex group for the Collision Volumes, only the SL bone related vertex groups have been created. That is because by default the Collision Volumes are set to non deforming. So we now have to prepare (reconfigure) the Skeleton.

outliner

Unhide the Volumes

The rigging to Collision Bones is a very special feature and it is certainly not the everyday workflow for Avastar. Therefor the Collision bones are by default not considered as deforming bones, thus they do not influence the mesh at all by default and consequently no vertex groups are created upon parenting the Mesh to Avastar. We will change that now:Let us first select the Armature in Pose mode, then in the Object Data properties section locate the “Rig Display -> Show Bones” panel. There you find an entry for “Volume”:

rigdisplay_volume_bones

As soon as you enable that button, the 19 red Volume Bones appear in the 3D View.volume_bones_3

When you scroll the Object Data properties upwards to the “Display” panel, then you can enable “X-Ray”. This makes the bones always visible, regardless from where you look at the character:

x-ray

Enable Deform for the Volumes

The Volume bones are normally not used for rigging and weighting (“normally” means here: “in the standard use case”). Therefore they are not enabled for weighting by default. We have to change that now for the foot bones and leg bones of the boots as follows:

  • Ensure that you are in Pose Mode
  • Select the first Volume bone near the Boot mesh.
  • SHIFT + RMB select the other 3 bones until all 4 bones near the boots are selected.
  • Now navigate to activate Pose -> Bone Settings -> Deform This function will toggle the “Deform” flag of the selected bones. But that alone does not guarantee that the Deform flag is “ON”. For example when you had the option already enabled in the past, you actually end up with disabling the option. We can avoid this ambiguity as follows:
  • Locate the Operator Panel in the lower left corner of the Tool Shelf.
  • And change the Type from “Toggle” to “Enable”. This will set the “Deform” Flag on all selected bones for sure.deform_enable

Warning: If you forget to set the deform flag, then the bones can still be weighted, but the weights will not show any effect.

From now on the Collision bones are prepared for our purpose. And we can use them for weighting just like the default SL bones. So, in the next step we will add weights to the Collision volumes.

 volume_bones_detail 

You can check if a bone is enabled for Deform in the Bone Properties section. Look for the “Deform checkmark”:deform_detailActually you also can enable the Deform option stepwise for each affected Volume bone. You would do this asfollows (for each bone separately):

  • Select the Volume Bone
  • Locate the Deform panel
  • enable the deform option

Considerations about Weighting

There is really nothing special about weighting the collision bones. But beware! You should never use the Collision volumes for posing. Remember to always use only the green control bones (and the yellow IK Target Bones) for positioning! Otherwise you might quickly break the rig and get unexpected results.There is one other consideration that you must understand to avoid unexpected results: Weighting the mesh means actually “define the influence of the bone movement on the Mesh vertices”. So if you weight one vertex to 4 bones, then the sum of all bone movements will take effect on the movement of that vertex. In particular: If you give weight to the Collision bones and to the corresponding SL bones, then the influence of the shape sliders on the mesh might be affected and they might not exactly work as you expect. This is not an issue if the Collision Volume have corresponding SL Bones and both move in parallel (that is: have the same parent). It will be more an issue when collision Volumes and SL bones are animated differently. In that case unpredicted results may yield from weighting both (Collision volumes and SL Bones) at the same time.As a rule of thumb we keep with: Either weight the SL bones OR weight the Collision Volumes. Of course you can mix the bone weighting as you like. Just be aware that Collision Bone deformations and normal mesh deformation might not work well in combination. So to make it easy we will only use Collision Volume weighting for the boots.

Prepare the Boots mesh

One nice property of Avastar is that it automatically takes care that all necessary weight groups are defined when you export your mesh. So actually we can just delete all weight groups now. This ensures we will not get any unexpected weighting from the SL bones.

  • select the Boots
  • In the Object data Properties section locate the Vertex group list
  • Open the special functions menu (the grey down arrow on the right side of the list)
  • and select “Delete all”. No worries. We will add new weight groups in a moment.

Hint: Actually it would be better to keep all vertex groups intact, and use the “remove Selection from all” function instead (currently at Mesh -> Vertices -> Vertex Groups -> Remove from All ) However my proposal removes clutter from the vertex group listing and it works well for this usecase.

vertex_groups

Enable Shape sliders for the Boots (optionally)

Maybe one of the most exciting features of Avastar is its ability to propagate the influence of the Avastar shape sliders to your own meshes. This feature allows you to directly simulate how your mesh will later react on the shape sliders.We will use this feature later to check the results of the Collision Volume weighting. But note this is not necessary to make Collision volumes work properly. Its only good for testing the feature in Blender.

For now we only configure the Shape slider support:

  • Select the Boots
  • In the Object Data Properties section locate the Shape Sliders list. It is located below the Vertex groups list.
  • Most probably you do not yet have any shape keys defined for your mesh. Hence i assume for now that list is empty.
  • Click on the big white plus sign on the right border of the list. This will add a “Basis” keyshape. This is the reference shape, basically it contains the unmodified mesh information.
 shape_keys_basis
  •  Click on the white Plus sign again. this will create a new Shape key named “Key 1”
  • Rename this secnd shape key from “Key 1” to “bone_morph”. This shape key will be used by Avastar to auto create the shape resulting from the slider values.
  • Below the shape key name you find a value slider. This slider defines how much influence the shape key will take on the mesh. When it is set to zero, then the shape sliders will have no effect on the mesh. When it is set to 1.0 the shape sliders get full control. You can now safely set the shape slider to 1.0 and forget about the shape keys for now.

 

Note: If for any reason you want to get rid of the Slider influence then you either can get back to the Shape keys and turn the influence down to 0.0 or you even can delete the bone_morph shape key to get completely rid of the slider influence.

 

 shape_keys_bone_morph

Add a material (optional)

This will help us later to distinguish between the lower body and the boots. I make the material pink because this color will never be possible in weight paint and thus you always see when you are in Weight paint mode and when you are in object mode. You will see later where this avoids confusion.

boots_material

Prepare the Skeleton (part 2)

Now that we have defined the boots we can reconfigure the Armature for the weighting task:

  • Ensure that the Armature is in pose mode.
  • Consider to make the green control bones visible
  • Ensure that the Volume bones (red) are visible

It is also helpful to make the lower body part of the Avastar visible again so you can immediately adjust the boots to the lower body and check the behaviour of the Boots in relation to the lowerBody mesh:

  • Go to the Object data properties, locate the Rig display panel and enable visibility of the lower Body. (Ok, actually you disable the visibility restriction, but that is an annoying issue with the Blender user interface. Just click on the button and see that the lower body appears again)
  • Ensure that the Armature KEEPS in pose mode.
 boots_material_adjusted

And finally Weight the bones

Since this tutorial is not about weighting, i will step through this task quickly. But i will give you a few hopefully useful hints:

  • Since we have a fully symmetric Rig, we can work in symmetry mode and thus we can safe half of the work. Go to Weight Paint mode, open the Tool Shelf, locate the Options Panel and enable “X Mirror”. However note that you do not SEE the mirrored data until you switch to the mirror bone.
  • I like the Spray option too. this will constantly apply the selected Weight Brush and allows to paint weights without repeatedly hitting the LMB.
  • You will probably want to repose the boots while you are weight painting to quickly identify locations where the weighting does not work as expected. So you may want to enable visibility of the green control bones and possibly the yellow IK bones. Of course you want the Collision volumes to be visible as well.

If you have serious trouble with Weight Painting, then please try to get some basic knowledge about this topic. However you even go on here first without worrying too much about what you do.

weightpaint_settingsYou generally find useful information at cgcookie.com Here are some more interesting tutorials specific to the topic:

We will later see that we also can test the shape sliders. However that is a tiny bit user unfriendly because we have to switch between the mesh and the armature to get access to the shape sliders.

  • Select the Boots (RMB)
  • go to weight paint mode. Now you should see the boots in dark blue.
  • (optional) In the Properties section switch to the Object data properties and locate the vertex group list. This is not necessarily. It only helps to see what happens!
  • Select the Mix Brush.
  • Decide on which boot you are going to work. And forget about the other boot for now. Blender takes care of it for you if you have enalbed x-mirror (see above).
  • now right click on the Lower Leg Volume bone.
  • Take care to weight the upper part of the boot in red at least down to the ankles. Keep the Foot itself blue for now.
  • Take a look at the vertex groups list (in the object data properties section) You see that as soon as you start painting 2 weight groups will be created (R_LOWER_LEG and L_LOWER_LEG). That is the x-mirror in action. If you only see one vertex group getting created here, then you do not have enabled x-mirror.
  • right click on the corresponding foot bone
  • Now paint the foot in red up to the ankle and keep the upper part of the bone in blue. You will see the 2 new Vertex groups get created (L_FOOT and R_FOOT).
  • Finally switch to the Blur brush and blur the transition area between red and blue on the foot bone.
  • Do the same for the Leg Bone

Now the weighting has been done. To be sure the other boot is also weighted, just right click the corresponding bone and see that indeed the weights have been copied over and the secnd boot has been automatically weighted while we worked on the first boot.

 volume_bones_weighted2volume_bones_weighted

Check your Work (optionally)

Repose the BootsYou might have done this already while weighting the boot. If not now its time to see that you really have weighted the boots and it really reacts on the green(!) control bones. So grab and rotate the green control bones now and see how the boots follow. If you identify issues, go back to the weighting and fix the issues.

If you want to restart your weighting from the beginning, just delete the Vertex groups in the Object data properties and go ahead.

Check the Collision volume sliders

Checking the Collision volume sliders only works properly if you have enabled shape sliders for the boots (see further above). btw you can enable the shape sliders at any time you like, or delete the necessary shape key at any time and redo it later. It just does not matter.so for now i assume you have the shape slider enabled. Then, if all is correct, you will now see the foot size react on the slider value. And that’s all about it.Now either you are satisfied, then you can now safely export what you have to SL.And see that indeed your boots now react to the SL shape sliders as well.

Or you detect more issues which you first want to solve. Please note that you can change the slider values for the Boots to see the influence of the Collision Volume on the mesh even when you are in weight paint mode! So you can check your mesh right in Blender without the need to frequently upload to SL for testing. However be prepared to find slight discrepancies between what Blender shows and what SL shows. We can not guarantee that all transformations under the hood are 100% correct.

Attention: You must(!) use the Avastar Collada Exporter in order to get the export correct. The exporter will take care that the exported data gets compatible to the mesh Importer.

 foot_sizecollison_weight_check

Frequently asked questions

The mirroring does not work You most probably have forgotten to enable “X Mirror” in the tool shelf when in weight paint mode
The shape sliders have no influence on my mesh
  • Check that your mesh has a “Basis” Shape key and a “bone_morph” shape key.
  • Ensure the shape key is really named “bone_morph” all in lower case letters.
my mesh explodes in my face
  • Something broken on the shape keys side.
  • Take care that your mesh has no shape keys initially.
  • Delete all shape keys, recreate the Basis, and recreate the “bone_morph” shape key.
  • Also take care that the shape key name is “bone_morph” nothing else works.
All is well, but i see unexpected distortions Probably you have mixed weights to normal SL bones and Collision Volumes. While that can be done, you need to be careful and test, test, test, test. Its really not easy to get a mixed weighting done!
Some buttons are missing Update at least to Avastar-728
Does work in Blender, but not in SL
  • You forgot to import “with weights”
  • You forgot to import “with weights” !
  • You forgot to import “with weights” !!!
It works but it is not very precise. That is expected. Go back to weighting and try to improve your work.
The shape does not update while weighting this is expected. It would take too long to update the shape with every weighting stroke. Hence you have to switch back to the Avastar frequently and there click on “Refresh Shape” to see the effect of your weighting.