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.
- 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.
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.
Avatar Mesh in OpenSim after Texturing for Bakes on Mesh