Avastar User Interface (Mesh)

This article describes Avastar Mesh related User Interface in more detail. Please note that we mostly describe what Avastar adds(!) to Blender. This document is intended as a reference guide and not as a user manual for howto work with the tools.

Avastar Meshes

 

The Avastar character serves 3 purposes:

  1. The Avastar character is prepared to be used as Animation model in connection with the Avastar Rig. That is why the Avastar character is fully controlled by the Avastar Rig.
    Note: You should strongly avoid to ever modify the Avastar character mesh directly.
  2. The Avastar character is prepared to be used as Cloth model for making texture based cloth.
  3. The Avastar character can be used as Mesh model for making your own human character meshes.

To support the above usage scenarios, we have fully recreated the Avatar from OpenSim and similar online worlds in Blender. Here is a summary:

An Avastar model is always made out of 8 separate parts.

  • headMesh, upperBodyMesh, lowerBodymesh
  • skirtMesh
  • eyeBallRightMesh, eyeBallLeftMesh
  • hairMesh, eylashMesh

Each Mesh part contains

  • A UV Layout
    The UV Layout is fully compatible to the original Avatar’s UV Layout. This is to support texture based Cloth creation.
  • A set of ready weighted vertex groups
    These vertex groups correspond to the SL Bones. this is to support the creation of precisely fitting mesh attachments.
  • A Set of Shape keys
    The shape key correspond to the SL Shape sliders. This is to make the Avastar behave exactly like the SL Avatar regarding the Shape editor.
  • A material
    The material is named similar like the corresponding mesh, e.g. for the headMesh: “avastar:mat:head”, for the upperBodyMesh: “avastar:mat:uperBody”, … This is to support layered texturing (by means of the blender material-texture stack)

Note: Material support is still a work in progress. Currently not all Avastar meshes are automatically associated to materials.

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.

Custom Meshes

 
Although Avastar has been designed as Animation tool, we wanted to provide a reasonable tool kit for also supporting creators of rigged Custom Attachments and even entire Custom characters. But we also have started to add some support for transporting static and rigged Meshes from Blender to OpenSim or any compatible online world. You find the main mesh support functions in the Tool shelf of the 3D View. The displayed function depend on whether you have just selected an arbitrary mesh alone (in obect mode) or together with an Avastar rig. This will be documented in more detail in the remainder of this text.

Export your Character as Collada

The Collada exporter exports your Mesh character or mesh attachment to a form that is recognizable by the target System (SL, OpenSim or any compatible online world). You find the Mesh Exporter in the Tool shelf. The Collada Panel has quiet a few options. we explain all of them now
 

Hint: You usually can keep the default settings and just click on the “Collada(Avastar)(.dae)” button. A File Selector will pop up. Here you can navigate to your export directory and then export your file as a Collada file (using the file extension “.dae”)

Modifiers

By default Avastar applies all mesh changing Modifiers except the Armature Modifiers to the exported meshes. However, some modifiers have 2 sets of options, one option set is for rendering, the other option set is for the Viewport. We provide 3 options here:

Image013
  • Apply according to the View Settings (the 3D Preview settings)
  • Apply according to the Render Settings (the settings for Blender’s own Renderer)
  • Don’t apply modifiers and only export the base mesh

The View settings  will be applied by default. These settings are very closely related to the Blender Render System. In most cases you can actually just use the defaults. We will get back to this when we talk about how to use (or not use) Modifiers.

Armature Modifiers define a relation between your mesh and your Skeleton (Armature). You find the Armature modifier in the Modifer Stack (see image). Armature modifiers are always defined for the mesh. Armatures them self have no Armature modifier.

We will get to armature Modifiers in the “Create an Attachment” tutorial.
modifiers

Hint: You want to display the modifier in edit mode and adjust edit cage to modifier result

Textures export (advanced)

You can export images along with your models. In that case the images will be stored as extrafiles and a reference is added to the Collada file. The SL Importer knows how to read and import these images for static meshes.
Note: But for rigged meshes the images are not recognized.
Image014
  • UV Textures & Material Textures: Blender supports Material based textures and UV textures (which are directly assigned to polygons). Normally you want to export only the UV textures. In rare cases it is more desirable to export the material based textures instead. But beware, Blender does not export the render results, but only the source images!
  • Image Type:  The image format is typically predefined in the Blender Render settings.  However we found it convenient to provide an immediate setting in the Exporter. By default the image type will be applied ONLY to generated images.
  • Use ‘Image format’ for all images: If this option is set, then Blender will use the selected image format for all exported images. If the option is disabled, then only the generated images will be affected.
  • Use RGBA: Blender can export the Alpha channel for images. Normally this is controlled in the render settings where you can specify to use either RGB or RGBA for image exports. If the currently selected export format supports Alpha then enabling  RGBA here will export images with Alpha channel even if the render settings are set to RGB and vice versa.

Hint: You may want to NOT use RGBA because of the Alpha glitch. However this is not a general advice. There are many situations where using Alpha images is even recommended (for example when you want to create an Alpha mask).
Hint: If the format of the exported image(es) does not support an Alpha channel then the “Use RGBA” option is simply ignored.

Advanced options

The Advanced Options are related to some special issues. You should normally keep the options set as they are. This ensures your exports are well suited for SL. However in some situations you will have to get back here and set the options according to the descriptions below:
Apply Armature Scale: If you have scaled your Armature in Object Mode for making a tiny or a giant you should not apply the scale to the armature because then the entire Avastar Animation system may no longer work (details need to be documented). But the Object Scale must be applied when you export the mesh.
Otherwise your scaling will not be recognized in your target online world and the giant shrinks back (or the tiny grows back) to normal size. The Applay Armature Scale option ensures that the Object scale is applied in the exported Armature.

 

Apply Rotation & Scale: If you have Scaled or rotated your Objects in Object Mode then this Scale&Rotation should be applied to all objects of an export to avoid unexpected scaling and rotation issues within the target system. However this is all so often simply forgotten and sometimes even unknown.
Hence we have added an automatic apply Rotation&Scale to the exporter. This setting does not affect the original objects.

 

Weld Edge Normals: When two separate objects share a boundary line, then you typically see a boundary seam in the object texture. This happens because the vertex normals differ even if the adjacent objects share the exact same vertex locations.
This option recalculates the vertex normals at the adjacent boundaries of the selected objects.

 

Weld to all visible: Sometimes you want to only export one part but still want the vertex normals be fixed.
This option lets the exporter take all visible objects into account when calculating the vertex normals at object boundaries.
Include Deformer Shape: Some virtual worlds support the Mesh deformer which was originally developed for usage in Second Life.
When this option is enabled, then an additional xml file is created that can be used as reference shape if the Importer supports this feature (currently used with OpenSim)

 

bone bug fix: We have found that some online worlds have serious issues with modified Joint offsets for Collision volumes and Attachments(1). Hence we suppress the export of joint offsets for collision volumes and attachment bones by default.(1): The technical details are related to the SL Importer’s option With Joint Positions The Skeleton can be modified (in edit mode) to create other rest poses than the default rest pose (T-Pose) When you do that, you actually move the Joint Offsets away from their default locations. And you will later have to set “with Joint Offset” during import in order to get your modified skeleton uploaded.

However this works only for the SL Basic bones (the mBones) All other Bones have various issues with Joint Offsets. The Collision Volumes do not work at all when you try to import them with Joint Offsets. We consider this an SL Bug. So we have added the Bone Bug Fix option. This option should only be disabled for experimental purposes! Handle with Care. You likely break the animation system.

Mesh Info

[PS Showtime url=”/wp-content/uploads/2012/08/map_mesh_info.png”]
The Mesh Info panel exposes details of the selected Mesh Objects like Vertex count and Triangle count, etc. The tool also makes some very basic checks on the Selected mesh Objects and informs you if it found anything remarkable.

The panel is organized in 3 parts:

  • The Mesh Data statistics
  • LOD Estimates (assumptions)
  • Basic Quality Report
mesh_info_01

Mesh statistic

The Mesh Info section displayes various statistics about the selected meshes:
mesh_info_02

Statistic Details:

Meshes

In Object Mode: the Number of separate Objects in current selection. In Edit Mode: the name of the edited mesh is displayed.

Verts

Total sum of vertices for all selected after all modifiers have been applied.

Faces

Total sum of faces for all selected after all modifiers have been applied

Tris

Total sum of Triangles for all selected after triangulation

UVs

total sum of UV Vertices for allselected

Materials

The number of Materials used by the selected object with the most number of materials.

Note: Sometimes you may see values like for example “3 + 2” in the display. This indicates that the number of model faces assigned to a material (texture face) exceeds 21844. The SL Importer will then split the texture face(s) into chunks with no more than 21844 model faces and create one material for each of these chunks.The number of true materials is indicated in the first number (3 in the example). And the number of extra chunks is indicated in the second number (2 in our example)

Hint: This can potentially result in too many (>8) texture faces.

Deforming weight Maps

The number of found Weight Maps for the selected collection of mesh Objects.

Hint: When you click on the blue Info icon, then you get a more detailed report in a popup Message box.

Estimates

This section displays the number of Triangles and the number of effective vertices for the automatic generated LOD’s of the SL Importer.

Note: Only the High LOD triangle count is exact. The High LOD vertex count may differ slightly from what the SL Importer calculates. All other numbers are rough estimates. We do not know how the actual LOD calculations are done. We simply predict the numbers and this can fail at times.

mesh_info_03

High LOD Tri count and Server Cost are correct. All other values are estimated.

 

Report

This button generates a summary report in the Blender console.

Following information is reported:

  • Basic mesh data:
    – polygons, modifiers, armatures, …
  • Weight group data:
    – zero weight vertices.
    – more than 4 weight groups vertices.
  • Any potential problems it finds.

 

We have added a couple of vertex selection functions based on different rules. You find these tools in the Toolshelf (Avastar Tools Panel).

When you have selected only one single Mesh and that mesh contains vertices reported by the functions, then those vertices are selected (highlighted in yellow).

When you have selected multiple Objects you will find a report in the Blender Console with one line per object indicating the number of unweighted vertices.

unweighted_panel

When you are in Edit Mode or in Weight Paint mode, and when the tools find problematic vertices, then these vertices get selected (see image)

Note for Weight Paint Mode: When you use the tools in Weight Paint mode and when the tools detect problematic vertices, then the Editor switches automatically into Vertex mask Selection mode. You can leave this mode by deselecting the corresponding icon in the 3D View footer:

mask_select_mode

The tools

Unweighted/Zero weighted Vertices

These vertices are not assigned to any of the Deforming Bones (unweighted) or assigned with a total weight of 0 to one or more Deforming groups (zero weighted). These vertices only move along with the movements of the mPelvis Bone.

When you pose any other bone in Blender then this appears like the unweighted vertices are simply “glued” to their RestPose Location (See image)

 

unweighted
Note: Avastar does not allow to export a mesh with zero-weighted or  unweighted vertices. The original reason for this was that the SL Importer would not accept these meshes either.
But nowadays the SL Importer will accept the mesh for import. However unweighted vertices will disappear when you wear the mesh, while zero-weighted vertices behave like in Blender
unweighted_sl

More than 4 weights per vertex

In Blender you can assign as may weights as you like to one single vertex. But in SL (and OpenSim as well) the maximum number of weights per vertex is limited to 4.

The Avastar Exporter will automatically reduce the number of weights per vertex. It simply removes the weights with the smallest weight values until the number of weights is 4 for the vertex.

Note: In SL it is unclear what exactly will happen. We do not know if the first 4 weights are preserved or the 4 weights with the highest values are preserved.

Doubles (duplicate verts)

Duplicate vertices are 2 or more verts which occupy the same location in 3D space. While this is not necessarily an error, and sometimes it is actually wanted (for example when you use an efge-split modifer),  it is still important to avoid duplicate verts wherever they appear unintentionally to avoid potential texturing issues and weighting problems.
Note: In SL there is no special signature for unwanted duplicates, so you have to check this on purpose if you want to avoid them.

 

The Weight copy tool is used to copy the mesh weights from sibling meshes and from other bones within the mesh skeleton (rig). Actually we support Weight copy at 3 different places:

1.) While attaching a Mesh

During parenting a mesh to an Avastar rig you can enable an initial Weight copy from all visible siblings to all bones of the parented mesh. In the image on the right you see the armature (yellow) and the shirt(semi transparent) selected. Initial weight copy will project the weights of the upper body into the weights of the shirt. For more detailed information see the Reference guide
Binding(Assign to Armature).

boneWeightCopyOnRigging

2.) While skinning a Mesh

Avastar supports 2 different skinning patterns for animating an SL mesh character:

  • Via weighting the mBones
    (also named Classic Weighting)
  • Via weighting the cBones
    (also named Fitted Mesh Weighting).


Avastar can pre configure a Mesh to use either of the weighting patterns. For details read the Skinning section.

weighting-06

Note: Of course you can mix mBones and cBones manually. In that case you want to use the Fitted Mesh weighting Preset. For more detailed information see the Workflow
Skinning with Weight Copy

3.) Weight Copy Tools in Weight Paint Mode

While working on the weights of a mesh in Weight Paint mode you can do a weight copy on a bone by bone base. The details are described in the weight copy tool reference below.

Note: The Selector in the Mirror Opposite Bones button is new with Avastar-1.3
weight_copy_01


The  Weight Copy Tool Reference

Below you find all Copy tools explained in more detail.

Selected to Active Bone

If you want to copy from another bone, then you must ensure that you have selected exactly 2 bones, where the source bone must be selected first while the target bone is SHIFT Selected second (so the target bone becomes the active bone!)

Note: The target bone’s weights will be entirely replaced by the weights from the source bone, not added or merged!

boneWeightSelectedToActiver

Mirror from Opposite Bone

If you want to mirror copy then you only have to select the target bone(s). You can select a set of bones. Avastar will perform the mirror function on each selected bone.

 

boneWeightCopyMiror
New in Avastar-1.3: You now can specify if your copy shall use Topology mirror or Vertex Mirror. Please be aware that topology mirror can only be used when the mesh is not symmetric! For perfect symmetric meshes you will always use Vertex Mirror.
weight_copy_06

Note: If you have Sparkles-Pro (to be released soon), then you get one additional option Shape Mirror Copy which is less accurate but works in any case even if the topology is completely different on both sides of the mesh.

Details about Mirror Copy

A common pitfall with Weight Copy happens when your mesh is slightly asymmetric. on the next image you see an example:

The boots look pretty much equal, so you have the impression that a weight copy should be no big deal. But actually i have moved the left boot slightly out of symmetry, so all vertices have a small offset from perfect symmetry. And you can not see this slight asymmetry by just looking at it.

Lets assume you have carefully weighted the left boot and now you want to mirror copy the weights from the left ankle to the right ankle.
weight_copy_02
So you will select the right ankle bone, and then perform a Mirror from Opposite Bone. But you end up with the weights not mirrored. In the image you see the weights are not copied to the right ankle as expected, but the weights remain on the original vertices.

Whenever you see this happen you can be sure that your mesh is not exactly symmetric. In that case you can try a topology mirror copy, but unluckily this has its own pitfalls as well…
weight_copy_04
So lets try to do a mirror copy with topology mirroring enabled (select Topology in the selector right to the Bone Mirror Copy Butto). In my case i ended up with a very strange result as you can see in the next image.

The problem with topology mirroring is that the used function needs a more complex mesh to identify the mirrored vertices. I have not fully understood how it works, but apparently it does not work for low polygon meshes, hence Topology mirroring is in general not suitable for game engine development.
weight_copy_05

Stepping out of the pitfall

So if you have the situation that i just have explained above, then you have 2 options to proceed:

  1. Either you decide to use Blender’s Symmetrize function (in edit mode Mesh -> Symmetrize)
  2. Or you can decide to delete half of your mesh and use a Mirror modifier to fix this issue. Using the mirror modifier has the nice extra advantage that your weights get automatically mirror copied when you apply the modifier.

However, if you are working with slightly asymmetric meshes, then you might not be able to use mirror weight copy. Then you only can weight both sides of your mesh manually.

Sidenote: In our new Blender Addon Sparkles-Pro we have added an additional Shape Mirror Copy which is less accurate but works in any case even if the topology is completely different on both sides of the mesh. So if you are lazy and you want the one click solution, you may want to check out the Sparkles Pro tool.

Note: If you select a bone AND its mirrored bone, then only one of the bones will be mirrored. That is: We do NOT swap the weight data and thus you always end up with a symmetric result! This may not be what you want in all cases.

Swap Collision with Deform

Each classic mBone is related to a corresponding fitted mesh cBone. Hence when you select any of the Deform bones the tool knows which is the counterpart bone according to the table below.

Each time when you call the tool, the weights of the selected Bone(s) will be swapped with the weights of their corresponding counterpart.

Note: The tool will revert exactly to the initial configuration when you call it twice. You should always double check how your Vertex Groups get renamed after you called the tool!

The relation table

Classic Fitted Mesh
mCollarRight, mCollarLeft R_CLAVICLE, L_CLAVICLE
mShoulderRight, mShoulderLeft R_UPPER_ARM, L_UPPER_ARM
mElbowRight, mElbowLeft R_LOWER_ARM, L_LOWER_ARM
mWristRight, mWristLeft R_HAND, L_HAND
mHead HEAD
mNeck NECK
mChest CHEST
mChest UPPER_BACK
mChest RIGHT_PEC, LEFT_PEC
mTorso BELLY
mTorso RIGHT_HANDLE, LEFT_HANDLE
mTorso LOWER_BACK
mPelvis PELVIS
mPelvis BUTT
mHipRight, mHipLeft R_UPPER_LEG, L_UPPER_LEG
mKneeRight, mKneeLeft R_LOWER_LEG, L_LOWER_LEG
mAnkleRight, mAnkleLeft R_FOOT, L_FOOT

Important: The grey relations are not ambiguous thus they are ignored by the Swapping Tool!

Remove weights

This is obvious: The weight groups of all selected bones will be reset (made empty). You may want to do that when you decide to restart a bone weighting from the beginning.

Copy from Rigged

If you want to copy weights from other meshes (weight sources) to a mesh (weight target), then all source meshes and the target mesh must be siblings of the same armature. (all meshes must be attached to the same armature). All currently selected bones will become Copy targets in that case.

Note: Only visible weight sources are taken into account. Hence at least one weight source (mesh) must be visible.

Note: If you want to do a full weight Copy, then you only need to select all SL Bones (the blue ones) as seen in the image to the right.

Note: Custom meshes can also be used as Sources for a Weight Copy, provided they are siblings of the active Mesh!

Note: the topology of the source meshes and the target mesh may be different!

copyAllBones

Binding (Assign Armature)

[PS Showtime url=”/wp-content/uploads/2012/08/map_skinning.png”]

After you have modeled your mesh (Character or Attachment) the next step towards animating your work is skinning the mesh. This is basically the process of attaching the mesh to a rig (Armature) and defining how exactly the mesh gets influenced by the Armature’s Skeleton. Avastar’s Skinning Panel provides a convenient starting point for this work.

Basic Preparations

Cleaning up the Mesh

Ensure that the mesh does not have any implicit scale or rotation from one of its parent objects. This issue typically happens when your mesh is still parented to another object (Mesh, Rig, Empty,…) which has a scale and or rotation defined.

Easy Fix (recommended)
  • Select the Mesh
  • Object -> Parent -> Clear and Keep Transformation
  • Object -> Apply -> Rotation and Scale
Advanced Fix (not recommended)
  • Select the parent of the Mesh
  • Apply Scale and Rotation
  • Do the same for the Parent’s parent and so on…

This avoids unexpected behavior and it ensures that your object can be bound to another rig without distortions.

Hint: It is in general best to have as few objects as possible in your visible layer. So you best move all objects into another invisible layer which are not directly involved in the bind action. This ensures that you keep track of what happens.

Reposition and Bind

You prepare the binding step as follows: First you align your new mesh attachment as good as possible to the Avastar character. Then you select both the armature and the new mesh attachment:

  • Go to Object mode
  • Select the attachment with RMB. If you want to bind multiple new attachment at once, select all of them now (order does not matter).
  • SHIFT RMB select the Avastar Armature.

Now you have selected the Rig and all mesh attachment which shall be bound to the Armature.

Note: If you are familiar with Blender, then you can simply parent the selected meshes to the armature (using Object -> Parent -> Armature Deform).

The Skinning Panel

For your convenience we have added a Bind to Armature button within the Skinning Panel in the Tool shelf. This button and its associated properties only appears when you have selected at least one Mesh and one Avastar Armature as described above.

The Weight Option allows to select from where the initial weight maps will be generated. The 5 check marks below the Weight Option provide more basic fine adjustment (see below for details).
improve_03

Note: You can not expect that this function automatically creates optimal results! Hence you must be prepared that in most cases the resulting weight maps have to be fine adjusted manually. Please look at the Create an Attachment tutorial on this website.

The Skinning Panel Options

Weight:

This Property defines from where the Bound meshes will get their initial weights. We provide 4 Weight sources here:

Meshes: The weight maps are copied from all Meshes which are already assigned to the same armature and which are currently Visible in the 3D viewport.
Hint: If you have hidden all Meshes, then you will get an error message from Avastar that it could not find any weight sources.
Bones: The initial weights are created automatically from the Bones. This function is provided by Blender ( “assign automatic from Bones” ) We added this here for convenience.

Hint: The automatic weight assignment sometimes runs into an issue where it can not find solutions for one or more vertices. This is typically due to intersecting and/or unconnected mesh parts in your object.

Empty: Weight maps will be created, but not populated (no weights will be calculated). If the mesh already has weight groups assigned, then these groups will be preserved. You want to use this option when you later plan to assign weights manually.

This option will only create missing weight maps. Weight maps which already exist in the Mesh will not be touched and kept as they are.

Hint: The Empty option should be rarely used. In almost every case you will be better with the next option.

Keep: No weight maps will be created. If the mesh already has weight maps they will be preserved. You want to use this option when your mesh has already been weighted, and or when you want to manually weight your meshes.

This option is almost identical with the Empty option, only you will not be cluttered with empty weight Maps. Since weight maps are created on the fly during your weighting activities, in almost every case this option is the best to use when you intend to create your own weight maps.

Note: Directly after a mesh was bound to an Armature, you will find this section replaced by a weight Generator section from where you can regenerate your weights completely or partially at any time. For more details see in the skinning help section.

Clear Weights

The weight generators only replace weights. Hence if your weight maps already contain weights for whichever reason, then all weights which are not replaced by the weight generators will be kept as they are.
When this option is selected, then Avastar will first remove all weights from affected weight groups so that the weight generators will operate on fresh weight groups.

Selected verts

If this option is checked, then only the currently selected vertices will receive mesh weights.

With Eye Bones

By default the Eye Bones are considered to not influence any other parts than the eyes them self. this avoids weird weighting results in the face where eyes and meshes typically intersect partially, thus the weighting generators often create bad results.
When this option is set, the eye bones are treated by he weight generators exactly like all other bones.

Interpolate (only available with Weight:Meshes)

If this option is checked together with the “with weight copy option”, then Avastar subdivides the source meshes (meshes attached to the armature and currently visible) to get a smoother distribution of the weight values on the target mesh.

Alter to Rest Pose

The current Pose of the Armature is also taken into account (see note below). It is mandatory that either the mesh has already been weighted or either the weight:Meshes or Weight:Bones option is enabled (see above).
Note: Avastar will reject a mesh that is not fully weighted when this option is enabled.

What is Alter mesh to Rest Pose ?

This video is about what the  Alter to Restpose feature actually does for you

Below you find some explanation.

In principle this option does the equivalent of the following procedure:

  1. The current pose (“mesh pose”) is made the armature’s default pose.
  2. The mesh is parented to the new default pose
  3. The pose is set to the actual T-Pose (and the mesh gets bent into T-Pose)
  4. The mesh is frozen (pose applied and mesh unbound from the armature)
  5. The armature’s default pose is set back to T-Pose
  6. The mesh is parented to T-Pose.
  7. When now the armature is posed into the original “mesh pose” then the mesh looks exactly like it looked when it was not yet parented.
Avastar does not step through the above process, but instead calculates the needed modifications and applies them directly to the mesh, then parents to the Avastar Rest pose (T-Pose).

Note: Since Avastar is modifying your mesh directly, you should use this tool with caution.
  • When your mesh fits well to the Avastar mesh, then you probably want to initialize your weight maps by setting the Weight option to “Meshes”.
  • Only when you have to pose the Avastar in order to get a good alignment to your mesh, then you will also want to enable “Alter Mesh to Rest Pose”.

Note

When the option “Alter mesh to Rest Pose” is enabled then your mesh will be altered on vertex level. The mesh will actually be bended into the Avatar Rest Pose (which is the T-Pose). Such that when the current pose gets applied later then the current shape of the mesh is almost exactly preserved.

 

Freeze Shape

Purpose

The Avastar Meshes can not be modified. As soon as you try to do this, you will get very bad distortions. This is due to how Shape keys are handled in Blender.

The freeze either creates static meshes from your rigged meshes, or modifiable versions of your selected meshes. The tool basically removes all shape keys and all Avastar control data.

The Freeze Tool is used in following situations:

You want to create a static statue in the current pose and with no rigging information assigned. But when you export the Avastar character to SL as it is, then the imported mesh rezzes always in T-Pose, even when you exported in another pose.
You want to modify the Avastar base meshes for optimization or as initial model for your own custom Avatar project. But as soon as you edit the Avastar meshes, they quickly get into a chaotic disorder.

Usage

  • Ensure Blender is in Object Mode.
  • Select all parts which you want to freeze.
  • Set the freeze options.
  • Freeze Selected.
Note: You can apply Freeze Shape to any mesh object (unrelated to Avastar). This is practical for example when you want to apply all shape keys.

Details

Select all parts of the Avastar meshes which you want to use for your own character:

Image008

Here i have selected the Head, the upper body and the lower body

Then set the Freeze Options, and finally Freeze Selected:

avastar_tools_02

It is important to understand that this tool always creates a copy of the selected meshes with all Shape Keys applied! The copies are placed exactly where the original meshes are located.

Note: The frozen Meshes do no longer react in the exact same way to the Avastar sliders as the original Avastar character does. However, the meshes behave exactly in the same way as they will behave when imported into SL, OpenSim or other compatible virtual environments.

What you should know

  • When you select to Keep the Original, then the original mesh and your frozen mesh will overlap and you might not be able to see that there are actually 2 meshes now.
  • When you select to Delete the Original, then the Original Avastar mesh is fully replaced by your frozen version.
  • When you select to Hide  the original, then the Original Avastar mesh will be hidden from view, then you only see the frozen version.
  • when you enable Standalone Posed then your frozen mesh will be detached from the armature and it will end up as a simple non rigged static mesh.
  • When you enable Remove Weight Groups then all weight groups of the frozen mesh will be deleted and you end up with a static non rigged mesh without any weights associated to it. (A naked model so to say)

The Tool Options

Original:

This option defines what shall happen with the original Mesh(es) (those which you have selected in Object mode)

Values:
  • Delete: The Original Mesh is deleted.
  • Hide: The Original mesh is kept but gets hidden. You can always unhide hidden objects with the keyboard shortcut ALT + H
  • Keep: The Original Mesh is kept and remains visible. Thus the original and the new copy are displayed at the same time
As static Mesh:

If the original Mesh was rigged to an armature, then -by default- the frozen mesh Copies keep rigged as well. But sometimes you want to get a complete static statue with no animation information at all. In this case you will select this option.

freeze_02

Note: If you select this option you get an additional option Remove Weight Groups which does what the name implies. Hence you can achieve that the frozen object contains no animation data at all (this option is rarely used, but very handy when needed)

Join Parts:
If you have selected 2 or more objects, then the Join Parts appears. This option just joins the frozen parts into one resulting mesh object.

Note: If the Join parts option is selected, then you get one more option Weld Parts. If that option is checked, then all duplicate vertices along the adjacent edges of the joined parts will be merged.
freeze_03
Caveat: The Weld Parts option only removes doubles along the welded edges. Duplicate vertices on any other place in your meshes will not be removed by the freeze tool!

8 Enlightened Replies

Trackback  •  Comments RSS

  1. anhchi says:

    Could you please tell me how to make UV unwrapped avatar in Blender 2.71? And then how to make alpha mask on that avatar in Blender 2.71? I am stuck here as the tutorial using different version and also did not find a video for UV unwrapped avatar… I am new to Blender and Avastar. Thanks for your advanced help.

Post a Reply

Your email address will not be published. Required fields are marked *

Top