Update 17-Apr-2021: Ada Radius has improved the armatures and documentation and has removed the sample armatures in RuthAndRuth/Reference/Ada Radius that are referred to below. Look instead to use SLAvatar.blend in Ada Radius’s GitHub RuthAndRoth References area. The readme gives the details.
Previously avatar_skeletonV3.blend replaced avatar_skeleton_with_custombonesettings.blend, and had two armatures in the .blend file… using the avatar_skeleton.xml armature for rigging to export as Collada for Second Life and OpenSim.
These notes are a reminder of the process to use Blender to take the Ruth2 v4 mesh avatar, add an “armature” for rigging and go through the process of exporting Collada (.dae) and importing to Second Life/OpenSim. It follows a very helpful tutorial on 4th November 2020 by Ada Radius and Kayaker Magic on Discovery Grid.
A place to start might be this GitHub Ruth2 Wiki page on… Clothing Creator Guide … and much more technical detail is in this Wiki page on… Blender and Rigging.
- Blender 2.83 or later (using 2.90.1)
- Ruth2/Mesh/Ruth2_v4/Ruth2v4Dev.blend (GitHub/Ruth2)
- Reference/Ada Radius/avatar_skeleton_with_custombonesettings.blend (GitHub Reference)
- Guidance notes at Reference/Ada Radius/Export_ImportRiggedMeshBlender.md (GitHub Reference)
Simple Process Guide
Open Blender with a new project, remove default cube.
Check if Edit > Lock Object Modes is ticked tick and if so turn if off. Save as defaults for future via File -> Defaults -> Save Startup File.
Add Ruth2 v4 mesh parts dev kit via File > Append Ruth2v4Dev.blend and select the “Object” mesh part you want to work with.
In Outliner, if present Delete Light and Camera.
In Outliner, if you have a mesh part named “headMesh”, it is just the Second Life/OpenSim classic avatar head shape for comparison purposes and not part of Ruth2 v4. Delete that too.
Rotate mesh 90 degrees on Z axis to face right in front orthographic view (as armature already is as you will see later when you append that).
Use Object > Apply > All Transforms to ensure all subparts of rotated outer container/mesh are transformed.
Add armature via File > Append avatar_skeleton_with_custombonesettings.blend and select “Object” avatar_skeleton.xml. When using “Append” in Blender always bring in the “Object” which will pull in any related items needed, i.e. to avoid confusion, you should not try to only bring in the separate “Armature” part in this case.
Select avatar_skeleton.xml and choose “Edit Mode”. Select > All, Armature > Bone Roll > Clear Roll.
Return to “Object Mode” and in outliner, select mesh first and then avatar_skeleton.xml. The armature must be the last thing selected. Then use Object > Parent (Ctrl/P) to get Parenting options. Set to “Armature Deform”. Parent should then be shown as avatar_skeleton.xml.
Now carefully check all the mesh properties as described in the Ada Radius guidance notes.
In the sample mesh part I was checking the Ruth2v4 (head, body and hands, no feet) had the required single Armature Modifier, but also a “DataTransfer” Modifier to Ruth2v4FeetFlat. “DataTransfer” and “Weld” may be able to be left in as according to Ada Radius… “those are Modifiers that do apply well on export from Blender and import inworld. Not perfectly, but well”. So I left that in. Ada adds…
The Data Transfer Modifier has several uses. In this case I use it for separate objects that we want perceived as a single object inworld. With the settings I used, it matches the face corner normals to the target we point it to. It works fairly well, depending on inworld lighting and how well the textures match. If you see a modifier called “Weld” it’s the same thing
Export to Collada
Select the mesh part you wish to export… note its the mesh part which is now parented to the armature… i.e. do NOT select the parent armature.
File > Export > Collada.
Under the “Main” tab tick the “Selection Only” box.
Via cog settings icon, use Operator Presets > SL+OpenSim Rigged (which sets nearly all settings needed, but check against guidance notes).
For rigged mesh items (like the Ruth2 avatar mesh parts themselves, or rigged mesh clothing) in the Extra tab you must ALSO tick “Keep Bind Info” (otherwise the mesh in Second Life/OpenSim will look like a spindly deformed alien when imported).
Import – Mesh Upload to Second Life/OpenSim
Import to OpenSim/SL via the Mesh Uploader as usual. Make sure to use the Second Life only version of the viewer (with Havok Physics) if uploading to Second Life. Make sure to tick “Include Skin Weight” in the Options/Rigging tab if it is not already preselected. But “Include joint positions” should not be ticked.
Avatar Mesh in OpenSim after Texturing for Bakes on Mesh
When the Bento Hand Relax animation normally running in Ruth2 v4 is added to the imported mesh the fingers deform (wrinkly or wonky). This issue is currently under investigation by Ada Radius (as at 5th November 2020).
Update: 24-Feb-2022 by Ada Radius on Discord RuthAndRoth Channel: I was finally able to replicate the “wonky fingers” issue. It has to do with changes in Blender, I think. The problem: Shin Ingen developed Ruth2 with better anatomy than the Second Life/OpenSim inworld avatar, and I think he used one of the Linden Lab Bento downloads – female and male – as his templates. These models do not line up with the inworld armature, which has shorter arms. What we’re all going to have to learn how to do, with any model that doesn’t closely match the inworld mesh and armature, is to edit the armature to fit the mesh in Blender. BinBash for the Bento Buddy Blender addon has a few videos at YouTube that show how to do that. Hands are the usual issues, whether we‘re working with Ruth, Roth, most of the dev kits out there
Stone Johnson on Discord noted the following…
The key webpage to read is https://avalab.org/avastar/279/avastar-2/reference/advanced/the-avastar-hand-rig/ if you are Bento-rigging hands (should work similarly for other body parts).