Update August 2023: A big advantage of new PBR Viewers is that the Ready Player Me .gltf file can be used to load all the PBR materials, their properties and constituent textures in one bulk upload. Use Build -> Upload -> Materials and select the avatar .gltf and then use the drop down menu to select the “Bulk Upload All” option.
This blog post provides resources and information for a route to take Ready Player Me avatars through Blender with the (paid) Bento Buddy addin into Second Life and OpenSim to travel across the Hypergrid. Note that you either need the “Bento Buddy Express” version or a current Bento Buddy “Expression” service subscription to be able to export to Collada (.dae).
An alternative process and simpler instructions is available using the “Onigiri” Blender add-on. See this blog post.
- Obtain Ready Player Me avatar .glb URL.
- Download avatar URL with ?textureAtlas=none&pose=T on the end.
- Start Blender and delete the default camera and light.
- Import .glb to Blender and check avatar is in T-Pose.
- Extract all the textures using one of two methods:
- Save the project as a .blend file first, then go to File -> External Data -> Unpack Resources and select “Use files in current directory (create when necessary)”.
- Via the Texture Paint tab, select each texture via the drop down menu and then Image -> Save As.
Export FBX for other platforms such as Unity
This is a good point at which to export an FBX version of the avatar if you wish to use it in other platforms, such as Unity. The settings for “Add Leaf Bones” box and the “Bake Animation” box for FBX Export appear not to matter, so defaults are fine. The FBX avatar and its textures can be inserted into a Unity project’s assets directly. For Unity I suggest uploading the textures to a folder first, accepting any recommendation to “Fix” the normal map images. Then add the FBX model to ensure that the materials all are correctly setup with bumpiness normals.
Set Finger Pose to Second Life/OpenSim Splayed Fingers
Shortcut for this section: Use the saved Bento Buddy Pose Library entry that I have made for you that will splay the hands of the avatar in a form suitable for Second Life and OpenSim [Resources here https://openvce.net/resources/downloads/ReadyPlayerMe/BentoBuddy/]
The Ready Player me T-Pose has the fingers in a line. Second Life and OpenSim T-Pose rest pose has the fingers widely splayed. The steps in the bullets below should be undertaken BEFORE doing the character conversion. Missing out these steps will still give a reasonable avatar but leave the fingers deformed.
- Add (temporarily) the Bento Buddy Rig Creation Safe Rig which have splayed fingers as expected in Second Life and OpenSim) to act as a comparison to the Ready Player me T-Pose which has the fingers straight.
- Enter Blender Pose Mode. It is also useful to set the skeleton to be in front in Viewport Display.
- Rotate the bones of the avatar’s fingers and thumbs to closely match the reference rig. It is best not to scale or move them to avoid bad hand positions. You can mirror the changes on one hand to the opposite hand using the “Pose Options” setting for “X-Axis Mirror”.
- Select the avatar “Armature” and under Bento Buddy Rig Tools click the “Rebind associated mesh” button.
- Check that the Pose and Rest Pose for the mesh are now identical (with splayed fingers).
- Remove the temporary Bento Buddy reference safe rig.
You can save the splayed fingers T-Pose in the Bento Buddy Library for later reapplication to simplify these steps on other avatars. The Library is usually located at something like
but can be overridden when you update Bento Buddy so save a copy elsewhere as well. Use the Bento Buddy Animation tab -> Enable Posing Library. Select the avatar and “Add Pose” from the rig, rename it to something meaningful (e.g. “T-Pose Splayed Fingers”) and “Save Lib” to save a .bpl (Bento Pose Library) file.
You can then skip the steps above to set the fingers in splayed position by selecting Bento Buddy’s Animation -> Enabling the Pose Library and then loading the .bpl pose library file and applying the pose to the avatar (note to make the Pose Apply button to be active you might have to click off the Armature in the Blender Outliner and and back on it).
Its safest to restrict the change of bone positions to just the thumbs and fingers which you changed by selecting only them first and using the Posing Library option to “Apply to selected bones only”. But you also can streamline that procedure by manually editing the .bpl file to only leave in the “pose_matrix” positions for the fingers and thumbs.
[Resources here https://openvce.net/resources/downloads/ReadyPlayerMe/]
Convert Avatar Rig/Armature to Second Life/OpenSim version
- Under Bento Buddy Character Converter, load the readyplayerme.bbm map (Any version from 184.108.40.206 30-Sep-2022 onwards) and click Convert
- Use Bento Buddy to export for Second Life/OpenSim (select all three options including Project Full Rig)
- Import to Second Life/OpenSim. Name the mesh something sensible. Set the Lowest Level of Detail to 0. Select Physics as “Lowest”. In Rigging tick both “Include Skin Weights” and “Include Joint Positions”. If you leave out Include joint positions, the avatar may look spindly.
Note: Ready Player Me avatars have a Mixamo compatible skeleton/armature. After 30-Sep-2022 versions of Bento Buddy have readyplayerme.bbm similar to mixamo_no_prefix.bbm, but before that readyplayerme.bbm (2KB) would not give a full conversion and would leave the hands unconverted.
Prepare the Avatar
- Attach the uploaded mesh avatar (e.g. to Avatar Center)
- Change the Description field of the avatar mesh to include the licence information:
CC BY-NC 4.0 https://readyplayer.me
- As with any mesh avatar in Second Life or OpenSim, you will need to add an “Alpha Mask” to make sure the underlying standard avatar does not show through the mesh. This should make all parts transparent (Lower, Upper, Head, Eye and Hair)
Texture the Avatar in Second Life or OpenSim
- Texture the mesh faces using the Diffuse textures and Normal Maps (for bumpiness). The shininess/metallic textures don’t work well and may be omitted
Texture with diffuse textures and add bumpiness “normal” textures to the mesh inworld. You probably don’t want to use (yet) the Metallic/Roughness/Shininess (PBR) where that is provided for some faces as they can be a bit too glossy. Though Physics Based Rendering (PBR) is under development for Second Life, so you may wish to keep the textures to hand.
To texture the teeth you may need to Disable the Camera Constraints (Preferences -> Advanced) to be able to swing the camera inside the mesh head to select that mesh part.
Avatar .glb files that are downloaded may have a single face with three textures that represent the texture (diffuse), normal map and metallic/shininess (PBR), or maybe have multiple faces for hair, face, skin, top and bottom. The single face format does not allow hiding of the hair, glasses, etc for in world customisation as described below.
Optimising and Re-using Textures
If multiple Ready Player Me avatars share the same face, eyes, teeth body, hair and perhaps items such as glasses. The diffuse and normal map textures for these can be reused rather than uploading and using a new asset each time. This will save upload fees, but also allow for texture sharing or reuse for efficiency. The different textures for the outfit top, bottom, dress and/or footwear can then be used with these shared elements. The skin and hair colour textures can also be replaced by the standard blank texture and coloured to match to further save on the use of different textures.
Hand Relax Background Pose
- You could add a hand relax low priority pose into the mesh
To “relax” the hands when not in a pose you could use the RuthAndRoth “bentohandrelax” script and “bentohandrelaxP1” animation. These are available in the Ruth2 v4 and Roth2 v2 distributions in Second Life and OpenSim or via the (GitHub RuthAndRoth “Extras” repository Animations Directory).
- Optionally make some parts transparent (such as hair and glasses, hats, etc) to allow use of in world attachments for those parts
- Try the Avatar Shape sliders as many will work
A number (but not all) the “Edit Shape” sliders work on Ready Player Me avatars to adjust the general shape.
Some parts such as the hair, accessories such as glasses, etc can be set to 100% transparent and the underlying avatar shows through (such as setting a bald head). This can allow some measure of in-world customisation. It also allows standard avatar attachments such as mesh and flexi hair to be added on without initially uploading a bald headed Ready Player Me avatar.
The head and body parts and textures cannot be altered. Facial hair, eyebrow details, make-up, etc are all baked onto the skin textures which have a unique mapping for Ready Player Me avatars. Hence tattoos and other elements that can be applied to skins in Second Life or OpenSim will not work.
The eye texture can be changed, even to a Bakes on Mesh (BoM) Eye (ensure you use an underlying avatar mask that allows the eye to show in that case). The normal eye texture iris image is slightly larger than the standard Ready Player Me one, so you may wish to adjust the image horizontal and vertical scale to (say) 1.1.
Update February 2023 – Tests with Blender 3.4.1 and Bento Buddy 2013.28
- Blender is an open source 3D modelling tool.
- Any avatar created using the Ready Player Me website is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0), allowing non-commercial use.
- Bento Buddy is a paid Blender add-on (GNU GPLv3), see https://www.blender.org/support/faq/ under “Can I sell add-ons for Blender”.
- OpenSimulator is an open source virtual world largely compatible with Second Life.
Bento Buddy 220.127.116.11
Bento Buddy 18.104.22.168 was the last version available prior to a change in operation of Bento Buddy from versions 2023.x which now require either Note that you either the “Bento Buddy Express” version or a current license for the “Expression” web service to create the Collada (.dae) export file.
There is a fork of the Bento Buddy code by gaffe-buck at https://github.com/gaffe-buck/bentobuddy based on Bento Buddy 22.214.171.124 and so is pre the need for the “Bento Buddy Express” or “Expression” service. But it does not contain the data for character conversion, pose library and devkit contents in the release versions.