Rig Transfer / Update Tool

Rig Transfer & Update Tool

The Rig Transfer tool has been added as a convenience tool for keeping your Rigs up to date. The tool is located in the Tools Panel. It shows up when you active Object is an Armature. Depending on the Armature type the panel may have different looks. Following scenarios are supported

The Transfer scenarios

  • Update your older Avastar projects to use the newest Avastar version.
  • Convert a project that was made for the simple SL Rig (like for example the Avatar Workbench or avatar.blend)
  • Import Developerkits (SDK’s) which are delivered as Collada files
  • Copy Information From one Rig to another
This tool is not easy to use and you need a bit of patience to get it to work for your particular situation. Below you find a brief description of its features.
Image396

Scenario Details

Update to newest Rig Version

Update Rig to newest version

When your active Object is made with an older version of an Avastar Armature, then Avastar automatically adjusts the Tools panel to offer an in Place Update of the Armature. Lets step over the Update Tool Panel for this situation:

The Header Section

Pose/Rest Position: To Switch your Rig from the Current Pose to Restpose (the same can be found in the Armature Rig data Properties section (right side of the Blender Screen)

Source Rig: Is fixed to be AVASTAR (After all you update an old Avastar Rig)

Target Rig: You can select either Basic Legacy Rig or Extended Bento Rig (with hands, face, wings, …)

Image397

The Update Options

The Import Options allow you to define in more detail how exactly your old Rig shall be Updated. Finding the right options can be tricky at times, depending on the nature of your Rig. The options are explained below

Enforce SL Bone Roll: The Bone roll is the rotation of bones along their long axis. If the Bone Roll is wrong then you can end up with very odd issues. This option tries to reset the Bone Rolls of your armature Bones to the Roll as used with the Default SL Avatar. This option is only rarely necessary, but very handy when it is needed.

Apply Rot&Scale: Often your Meshes contain Scale and Rotation in Object space. While this is not entirely wrong, it often creates unwanted and unforeseeable issues. So it is normally best to apply Scale & Rotation during the update.

Rebuild missing Bones: Different Avastar versions can have defined different Bones. This option ensures that your updated Rig contains all known Avastar Bones. This also can be used to repair rigs of which Bones have been removed intentionally or by accident.

Rebuild Avastar Meshes: Often you do not want to see the Avastar Meshes. But sometimes it may be good to “recreate” the Avastar Meshes as reference. This option is rarely used.

Check for Joint edits: When you update a rig that has been modified, then Avastar needs to collect the modification information to setup the Rig accordingly. Note: While this seems to be not necessary on first sight, Avastar must do this for internal usage. We rely on this information to allow appearance sliders be used with edited Rigs. Normally you want this option to be enabled.

Generate IK Offsets: IK Bones are normally placed automatically by Avastar. However when you have special custom Rigs where your IK Bones need to be placed at unusual places, this option attempts to treat the IK Bones just like all other bones and move the IK Bones along with the sliders . This option is not used normally as the automatic placement of IK Bones works well in most cases.

Generate Tail Offsets: Technically we only need the Bone Head information to support Sliders on edited Rigs. However sometimes you want to also edit the Bone tails for whatever reason. This option is there just for that. Normally you want this option to be enabled.

Alignment Options

In Avastar-2 the Rig must follow a couple of rules to preserve the entire Rig integrity. This has become necessary so that we can support Sliders also for edited rigs.

When a rig does not follow the rules, then the Update tool provides up to 3 more options to fix integrity. Those options only show up when needed!

Image409

Origin: The origin of the Armature must match the location of the Armature’s Origin bone. The origin Option allows to either move the Armature Origin to the Origin bone, or it moves the Origin Bone to the Armature.

COG Align to: The COG must be aligned to the Pelvis. In some rigs pelvis and mPelvis are not aligned as well. In this case you can specify which of the 2 pelvis bones is the master bone

Rig Align to: Avastar 2 expects that the green Animation Rig is strictly aligned to the blue Deform Rig at all times. In earlier Avastar releases this was not necessarily needed. Although we always recommended to keep the 2 rigs aligned. This option allows the user to either align the Animation Bones to the Deform Bones or vice versa.

The Operator section

The Snowflake icon: When this option is enabled, then the original rig is applied to the meshes (the current pose is baked) before updating. You may want this option when your original Rig is not in Restpose.

Image399

Below the Update Rig button you find an information section which tells you some details about your Rig and the bound meshes:

  • Warning: A Message containing the outdated rig version
  • Custom Mesh: The number of user made (custom) meshes bound to the Rig
  • System Mesh: The number of Avastar meshes (head, body, eyes, …) bound to the rig

Important: The Snowflake option only works when your original rig is oriented in the same way as the Avastar rig (arms aligned along the X axis)

What happens during the update

When all settings are done, then you click the Update Rig button (see image above). Avastar will now step through following activities:

  • The original Armature is applied to the Meshes (when snowflake icon enabled)
  • The meshes are unbound
  • A new Avastar armature is created (Basic or Extended)
  • The Avastar bones are aligned to match the original rig (If check for joint edits is enabled)
  • The meshes are bound to the new Avastar armature
  • Depending on the other options the new Avastar meshes are kept, hidden or deleted

When the update fails

Sometimes the Update Tool creates odd or wrong results. This can be a bug in the tool or it can be a wrong option setting. Here are some known cases:

  • Meshes jump to different locations after update:
    Enable the Snowflake Icon (see above) and try again
  • Armature reverts to Default rig:
    Enable the option check for joint edits
  • Moving the sliders after update fails:
    • Open the Skinning Tools Panel
    • Select No Sliders
    • Select SL Appearance

If you can not get your update to work, you may need to do it manually. Please feel free to report us your issue. So we can see if we can improve the update tool to also cover your particular situation.

Convert foreign Rig (devkit)

Convert foreign rig to Avastar

This mode is entered when you have selected an arbitrary (not Avastar) Armature. In that case the conversion tool offers to Convert the Armature in place.

Attention: For Belleza Male, TMP and Maitreya: you must use the newest daily build of Blender 2.79 (take care, its version number is 2.78.6 or 2.79) If you ignore this information then you get distortions.

When you want to use a character that is distributed as Collada file (.dae), then you must follow the notes below!

How to Import a foreign rigged character from Collada. more...

  • Open the Collada Importer by using:
File -> Import -> Collada
  • Locate the Operator Redo Panel at the bottom left of the File selection Window (See image). Please ensure that the following options are enabled (check marked):

Fix Leaf Bones
Find Bone
Keep Bind Info (importing Fitted Mesh Bones, see below)

Note: Autoconnect can be disabled in most cases. Please test what works best for your case!

 

  • Import the Model

 

  • For Blender 2.77 or older:
    The Auto Connect option is not shown in the user interface, but it is always enabled.
  • Keep Bind Info:
    is only available with Blender 2.79. You find the new option on the daily blender builds page (Look for  Blender versions: 2.78.6 or 2.79.
  • For Blender 2.8:
    Blender 2.8 is the next generation Blender that will become available by end of 2018. Don’t use it together with Avastar (it won’t work).

Important: The keep bind info feature is especially needed for the TMP and Belleza Male devkits. If you intend to import those devkits to Blender/Avastar, then please ensure that your Blender version is at least 2.78.5 but do not use Blender 2.80

Once you have imported your foreign Rig from Collada you can safely proceed as follows:

When converting a foreign Rig to Avastar the Rig Transfer Tool shows a different set of conversion options. In detail you now can specify:

  • Source Rig type
  • Joint type
  • Gender

The detailed description of the options follows below…

Image400

The Header Section

Transfer Presets: Here you find prepared configurations which have been tested with known Foreign Rigs (devkits). You also can store your own configurations as custom presets.

Pose/Rest Position: To Switch your Rig from the Current Pose to Restpose (the same can be found in the Armature Rig data Properties section (right side of the Blender Screen)

Image401

Source Rig: d We support 4 different rig types

  • Avastar: When the source rig is an Avastar Rig. Please ignore this option unless you are explicitly told to use it.
  • Generic: The rig is oriented like the Avastar Rig, but it is otherwise fully compatible to the SL Rig
  • Manuellab: The rig has been created by Manuellab (or MakeHuman)
  • SL: The Rig has been imported from the workbench, avatar.blend or any compatible SL Rig in its neutral Shape.

Target Rig: You can select either Basic Legacy Rig or Extended Bento Rig (with hands, face, wings, …)

Dummies: You can decide to Keep, Hide, or Delete the Avastar Meshes in the converted Rig. For non human creatures you normally want to delete the Avastar meshes. For human characters you most probably want to delete or hide the Avastar meshes.

Note: Only if you import a rig that was made for supporting the System Meshes, but does not have those meshes attached, then you will want to keep the Avastar meshes.

The Update Options

The Import Options allow you to define in more detail how exactly your old Rig shall be Updated. Finding the right options can be tricky at times, depending on the nature of your Rig. The options are explained below

Image402

With Joints: Tell Avastar to record the details of the imported skeleton. SL supports 2 slightly different Rig definitions, namely the Pivot Rig and the Pos Rig. Those rigs only differ in their precision of defining the Joint locations. However small the difference is, it is visual.

It is very important to know which of the 2 Rig versions has been used to create the foreign rig. If you choose the wrong rig version here, you later will end up with small deviations from the original. So, best is to make some experiments before you decide which is the correct rig version to use here. Then conserve your finds by creating a new Preset for later reuse.

Use Bind Pose: When the imported Rig is mostly human and does not differ much from the SL Default rig only by bone rotations, like for example the Belleza devkit or the TMP devkit, then your best bet is to enable the use bind pose option. Because then all Appearance Sliders behave very similar (but not identical!) to the default system character.

Note: You can enable/disable this option at any time later (in the Pose Panel)

Enforce SL Bone Ends:  When you have imported a devkit from a Collada file, then the bone ends of the imported bones are not defined. In this case Blender creates some fictive bone ends based on some reasonable assumptions. While the bone orientation of the end bones does not matter a lot, you still may want to match those end bones to the corresponding SL Bones.

This option ensures the lengths of the end bones (especially the Fitted mesh bones) are adjusted according to the SL settings.

Note: This option may be cosmetic. Actually it should not matter if you enable this option. If you are in doubt, keep this option enabled.

Enforce SL Bone Roll: The Bone roll is the rotation of bones along their long axis. If the Bone Roll is wrong then you can end up with very odd issues. This option tries to reset the Bone Rolls of your armature Bones to the Roll as used with the Default SL Avatar. This option is only rarely necessary, but very handy when it is needed.

Show Offsets: (in Experimental mode) When you enable this option then Avastar draws grease pencil lines to indicate the locations of the Bones in the T Posed Rig compared to the bone locations in your edited rig.

Note: This is only for debugging purposes and normally is not needed for your daily work. The feature only exists when you use Blender 2.78 or newer.

Apply Rot&Scale: Often your Meshes contain Scale and Rotation in Object space. While this is not entirely wrong, it often creates unwanted and unforeseeable issues. So it is normally best to apply Scale & Rotation during the update.

Male: Bind your meshes to the Avastar Male rig (instead of the female rig)

Your Toggle Title

How to correctly import a Rigged Character from Collada

For Male characters you need to take some special care. You will typically follow this workflow:

  1. Import the dae file with the male character as usual
  2. Before you convert this character to an Avastar, ensure that the gender switch is set to Female!
  3. Now convert to Avastar Rig
  4. Finally set the gender switch to male (optional)

Also right before you export your mesh, you may need to follow this workflow:

  1. Set the gender switch to Female
  2. Export the mesh
  3. Set the gender switch back to male

While this works in general, it possibly might not work like this for all collada files!
You need to do some own experiments to find out the correct usage for your
case!

The Operator section

The Snowflake icon: When this option is enabled, then the original rig is applied to the meshes (the current pose is baked) before updating. You only want this option when your original Rig is not in Restpose.

Image403

Below the Update Rig button you find an information section which tells you some details about your Rig and the bound meshes:

  • Custom Mesh: The number of user made (custom) meshes bound to the Rig
  • System Mesh: The number of Avastar meshes (head, body, eyes, …) bound to the rig
  • Joint Offsets: The number of maintained Edited Joints (Todo: this option always shows 0, it should be removed)

What happens during the update

When all settings are done, then you click the Update Rig button (see image above). Avastar will now step through following activities:

  • The original Armature is applied to the Meshes (when snowflake icon enabled)
  • The meshes are unbound
  • A new Avastar armature is created (Basic or Extended Rig version, Pivot or Pos Rig type)
  • The Avastar bones are aligned to match the original rig (If check for joint edits is enabled)
  • The meshes are bound to the new Avastar armature
  • Depending on the other options the new Avastar meshes are kept, hidden or deleted

Example: Converting the Belleza Development Mesh

There is nothing special about the Belleza Devkit. It just happens to be an ideal candidate for showing how to do a Migration in practice.

Step 1: Import the Devkit

  • Open the Collada Importer by using:
File -> Import -> Collada
  • Locate the Operator Redo Panel at the bottom left of the File selection Window (See image). Please ensure that the following options are enabled (check marked):

Fix Leaf Bones
Find Bone
Keep Bind Info (importing Fitted Mesh Bones, see below)

Note: Autoconnect can be disabled in most cases. Please test what works best for your case!

 

  • Import the Model

 

  • For Blender 2.77 or older:
    The Auto Connect option is not shown in the user interface, but it is always enabled.
  • Keep Bind Info:
    is only available with Blender 2.79. You find the new option on the daily blender builds page (Look for  Blender versions: 2.78.6 or 2.79.
  • For Blender 2.8:
    Blender 2.8 is the next generation Blender that will become available by end of 2018. Don’t use it together with Avastar (it won’t work).

Important: The keep bind info feature is especially needed for the TMP and Belleza Male devkits. If you intend to import those devkits to Blender/Avastar, then please ensure that your Blender version is at least 2.78.5 but do not use Blender 2.80

Step 2: Set the Migration options

  • Open the Tool Shelf and locate the Avastar Tools Panel
  • We have a ready made Preset for Belleza (see top of panel). Select this preset
  • Or alternatively set the options manually as follows:
    • Source Rig: SL
    • Target Rig: Basic
    • Dummies: Hide
    • With Joints: Enabled
    • Use POS as Skeleton definition
    • Use Bind Pose: Enabled
    • Enforce SL Bone Ends: Enabled
    • Enforce SL Bone Roll: Enabled
    • Show Offsets: Disabled
    • Apply Rot&Scale: Enabled
    • Male: Disabled
    • Snow Flake Icon: Disabled

Important: Keep the Male switch disabled when you convert a male Belleza Mesh!

Now you are ready to click the Button Convert to Avastar Rig.

Belleza Mesh right after Import (Collada)

Belleza Mesh after conversion to Avastar. The 90 degree rotation is on purpose.

Note:
If you are working with another Devkit then you can store your setup into your own Devkit Preset for later reuse. Actually we have done exactly that to define the Belleza Preset.

Dear Developer kit owners:

If you like so, you also can publish your settings or send them to us so that we can add your settings as an additional Preset.

Step 3: Prepare the Export

The Belleza Rig is an ideal Candidate for been used with Bind Pose. Just to remind you: You can enable or disable the Bind Pose option at any time.

  • Open the Settings Panel
  • Ensure you have set Advanced Settings
  • Open the Pose Panel
  • Enable the option Use Bind Pose

Step 4: Check the Sliders (optional, out of curiosity)

  • Open the Appearance Panel
  • Select the Torso Section
  • Check how the arm length changes with the slider values

Now make an experiment:

  • Disable the Use Bind Pose option
    Right above the Appearance sliders
  • Now check how the Sliders work totally different on the Arms

Gotcha? Perfect!

Arms in Bind Pose mode

In Bind Pose mode the arm length changes as one would expect:

Appearance Slider – 0

Appearance Slider – 100

Arms in Joint Offset mode

In Joint Offset mode the arms are shifted sideways instead of lengthened along the limb:

Appearance Slider – 0

Appearance Slider – 100

Important: If you do not understand why the Appearance Sliders work different when you have enabled use Bind pose, then please take a moment and find out about the Slider behavior. It has been largely discussed in the SL Forums and in the SL Wiki…

Step 5: Check the export

Now do a regular Avastar Mesh export and see how your mesh behaves (you can use Aditi for testing). We tested it as follows:

  • Important for Belleza: Before you export your mesh take care to disable the Male gender setting (export as female)
  • Upload the Belleza Devkit file to SL
  • Upload the Avastar export to SL
  • Wear both meshes and
  • inspect them in Wireframe mode

Avastar and Belleza show an almost perfect match when inspected in wireframe mode

Copy from other Rig

Copy Armature to existing Avastar

This mode is entered, when you have selected 2 armatures, of which the active Armature is either an outdated Avastar armature or an arbitrary non Avastar Armature, and the other armature is an Avastar Armature. In that case the conversion tool offers to Copy the Active Armature’s configuration to the other selected Armature.

Note: in principle you can select more than 2 armatures. Then the active armature data will be copied to all other selected armatures. However this case has not been tested.

The Header Section

Pose/Rest Position: To Switch your Rig from the Current Pose to Restpose (the same can be found in the Armature Rig data Properties section (right side of the Blender Screen)

Source Rig: Can be SL , GENERIC, MANUELLAB, or AVASTAR

Dummies: You can select to Delete, Hide, or Keep the Avastar Meshes in the target rig

The Update Options

The Import Options allow you to define in more detail how exactly your Rig shall be migrated. Finding the right options can be tricky at times, depending on the nature of your Rig. The options are explained below

with Joints: The SL Rig can use two Joint styles Pos and Pivot. The difference is that the Pivot Joints are defined with more precision. However there is no strict recommendation which of the 2 joint styles should be used.  But since creators are free to choose the one or the other, we support both. If in doubt, then please ask the creator which joint style they have used to create the Rig.

Use Bind Pose: SL supports only the T-Posed Rig. But it also supports bind poses which makes it possible to bind a mesh to any pose (e.g. the A pose). However Blender does not support bind poses, so we needed to implement this into Avastar on our own. If you want to use bind pose rigging then this is your option.

Enforce SL Bone Ends: Your Rig has possibly been imported as a Collada file. But Collada files do not support bone length, so your rig might have ended up with very odd bones at the end of the bone chains. this option tries to get copy the bone size of the end bones (leaf bones) from the Avastar Rig definition)

Enforce SL Bone Roll: Your Rig has possibly been imported as a Collada file. But Collada files do not support Bone roll. This option enables the copy of the bone roll from the Avastar rig.

Male: Use this setting only when the source mesh has actually been created with the Male shape. Note: This is almost never the case. As far as we know Avastar is the only tool that supports the gender switching and most foreign Rigs are made with the female skeleton.

Transfer Meshes: Copy also the Meshes from the Source Rig to the Target Rig. Not sure why this was removed. That might be a bug after all. Or it is now done automatically. Needs to be checked.

Apply Rot&Scale: Often your Meshes contain Scale and Rotation in Object space. While this is not entirely wrong, it often creates unwanted and unforeseeable issues. So it is normally best to apply Scale & Rotation during the update.

The Operator section

The Snowflake icon: When this option is enabled, then the original rig is applied to the meshes (the current pose is baked) before updating. You may want this option when your original Rig is currently not in its Restpose (we suggest to avoid using this option).

Below the Copy to Avastar Rig button you find an information section which tells you some details about your Rig and the bound meshes:

  • Source:  Name of the Rig from where the data is copied (source Rig)
  • Target: Name of the Rig to which the data is transferred (target Rig)
  • Custom Mesh: The number of user made (custom) meshes bound to the Rig
  • System Mesh: The number of Avastar meshes (head, body, eyes, …) bound to the rig
  • Joint Offsets: Number of identified Joints that have been edited.

Important: The Snowflake option only works when your original rig is oriented in the same way as the Avastar rig (arms aligned along the X axis)

What happens during the update

When all settings are done, then you click the Update Rig button (see image above). Avastar will now step through following activities:

  • The original Armature is applied to the Meshes (when snowflake icon enabled)
  • A new Avastar armature is created (Basic or Extended)
  • The Avastar bones are aligned to match the original rig (If check for joint edits is enabled)
  • The meshes are copied and bound to the new Avastar armature
  • Depending on the other options the new Avastar meshes are kept, hidden or deleted