Ask or search…
K
Links

Create Custom Outfits

Create outfits that meet Ready Player Me specifications.
This document explains how to create an avatar outfit that meets Ready Player Me technical specifications and functions properly in your application. An outfit is an asset type that includes apparel for upper-body clothing, lower-body clothing, and footwear.
If you're looking to create modular assets that only cover parts of the body on their own and can be combined with other garments, like footwear, tops, or pants, please refer to the Create Modular Assetsguide.

Examples

Outfit example based on the masculine template
Outfit example based on the feminine template

Outfit Requirements

All outfits must comply with the guidelines in this document and pass validation when uploaded. See Upload Custom Outfits.

File Requirements

  • File Type: Only files in the glTF 2.0 binary (.glb) format can be uploaded.
  • File Size: max. 10 MB
Do not use custom glTF-Extensions extensions in the file, e.g. Draco mesh compression.

Structure of an Outfit Asset

Do not simply download an avatar from Ready Player Me and try to upload it as an outfit, because a final avatar does not have the structure expected for the outfit asset type. E.g. all meshes and texture maps may be merged into one if using a texture-atlas is set. And the head, hair etc. must not be part of the outfit.

Armature

An Armature is a skeleton that is responsible for deforming the avatar during animation. It does so by a process called linear-blend skinning, for which each vertex on a mesh, aka skin, needs a set of weights that determine by which joint in the skeleton they are going to be influenced.
You can get fullbody templates for the skeletons from by downlind the template files. Use the masculine or feminine skeleton.
Ready Player Me avatars have either a feminine or masculine shape, each based on separate skeletons. When creating an avatar, it must use either the feminine or masculine skeleton. See Checking Skin Weights
Do not include animations in the exported GLB file.

Meshes & Materials

The images in this guide were taken in Blender, but using Blender is not mandatory. You can use any 3D software as long as it can output GLB files. And, if your asset was created in a 3D software that doesn't support the GLB format, you can use Blender to convert from different file types to GLB format.

General Requirements for Meshes, Materials and Textures

An outfit asset can consist of a top, bottom, footwear, and the body. It has to have at least 1 mesh. Each mesh must only use 1 material.
Maximum total triangle count: 20000 You decide how to distribute triangles across meshes. We recommend to use as few triangles as feasible and put details into the texture maps.
Skin weights: Required for ALL meshes Implementations of the gltf 2.0 specs are only required to at least implement 4 skin weights per vertex. Therefore, Ready Player Me assets only support a maximum of 4 skin weights per vertex. Skin weights for each vertex MUST be normalized, meaning they have to add up to 1.0!
Vertex colors: No

Texture files format: PNG 24 bits per pixel. Do not use palettes (8-bit color indexed). Do not use transparency. Do not include metadata or color profile information in the PNG image file to avoid errors.
BaseColor maps: Required for materials, except Wolf3D_Body Use sRGB (IEC 61966-2-1 Default RGB color space) when editing the image.
Normal maps: Optional, required for Wolf3D_Body OpenGL tangent space normal map, +Y up.
Metallic-Roughness maps: Optional
Occlusion maps: Optional We recommend to pack the occlusion map into the red-channel of the metallicRoughnessTexture. See Blender documentation on how to export it.
Emissive maps: Optional
Maximum texture resolution: 1024 x 1024 pixels Texture resolutions must be square and power-of-two, e.g. 128x128, 256x256, 512x512.
Maximum individual texture file size: 2 MB

Double sided materials: Optional We recommend to use as few double sided materials as possible.
Not all of the following meshes are needed. Only include the meshes you need for the custom outit you have in mind. For example, if the outfit completely covers the body, don't include the Wolf3D_Body mesh. Or if you make a dress and may not need lower-body apparel, don't include the Wolf3D_Outfit_Bottom mesh.
It is possible to only use a single mesh for the whole outfit with a single material. In that case we recommend using the Wolf3D_Outfit_Top mesh.

Body

The body of the avatar, except for the head. The body meshes are contained within the template files.
Requirements
  • Mesh name: Wolf3D_Body
  • Material name: Wolf3D_Body
  • Maximum texture resolution: 1024 x 1024 pixels
  • Basecolor map: No
  • Normal map: Required
  • Roughness map: Optional
  • Metallic map: Optional
  • Emissive map: Optional
  • Vertex colors: No
Do not include a basecolor map for its material, because the users have the option to choose the skin color of their avatars, so any basecolor map assigned will be overwritten.
Remove any triangles in the body mesh that are hidden by clothing, for optimization and to avoid clipping issues.
Do not alter the UV layout of the body mesh or its shape.

Top

Clothing assets that cover the torso and arms, like shirts and jackets, also including necklace, gloves, backpacks, shoulder pads, or dresses.
Requirements
  • Mesh name: Wolf3D_Outfit_Top
  • Material name: Wolf3D_Outfit_Top
  • Maximum texture resolution: 1024 x 1024 pixels
  • Basecolor map: Required
  • Normal map: Optional
  • Roughness map: Optional
  • Metallic map: Optional
  • Emissive map: Optional
  • Vertex colors: No

Bottom

Clothing asset that cover the legs, like pants or skirts, also including knee pads or a belt.
Requirements
  • Mesh name: Wolf3D_Outfit_Bottom
  • Material name: Wolf3D_Outfit_Bottom
  • Maximum texture resolution: 1024 x 1024 pixels
  • Basecolor map: Required
  • Normal map: Optional
  • Roughness map: Optional
  • Metallic map: Optional
  • Emissive map: Optional
  • Vertex colors: No

Footwear

Clothing assets that cover the feet of an avatar, like shoes and boots, may include socks.
Requirements
  • Mesh name: Wolf3D_Outfit_Footwear
  • Material name: Wolf3D_Outfit_Footwear
  • Maximum texture resolution: 1024 x 1024 pixels, recommended: 512 x 512 pixels
  • Basecolor map: Required
  • Normal map: Optional
  • Roughness map: Optional
  • Metallic map: Optional
  • Emissive map: Optional
  • Vertex colors: No

Steps for creating an outfit

Quickstart

  1. 1.
    Download the male and female template files that include a body mesh and and a skeleton.
  2. 2.
    Model the meshes for your outfit around the template body mesh and create their UV layout. Create the texture maps for your outfit.
  3. 3.
    Add skin weights to the meshes and make sure they deform nicely when animated. See Checking Skin Weights.
  4. 4.
    Export the outfit as a GLB file including the body mesh and the skeleton (Armature).
  5. 5.
    Upload the GLB file in Ready Player Me Studio.

Step 1: Download and inspect the template

  1. 1.
    Download the template files and choose the body type you intend to use.
  2. 2.
    Inspect the templates and familiarize yourself with the details. Your design must match the Outfit Requirements. Your modeling must be within these constraints.

Step 2: Create your outfit

  • Use the respective template for a feminine or masculine skeleton.
  • Fit your clothing to the template body mesh.
  • Create the UV layout for your clothing meshes.
  • Create the texture maps for your assets.
  • Remove any triangles in the body mesh that are hidden by clothing, for optimization and to avoid clipping issues.
  • Do not alter the UV layout of the body mesh or its shape.
  • Stay within the total triangle count limit.
  • Materials can't be shared between meshes.
See the Recommendations and Tips for details.

Step 3: Deformation testing

Add skin weights to your clothing meshes for the skeleton provided in the template. All vertices need skin weights assigned to them.
Make sure your designs move nicely when the skeleton is animated. See Checking Skin Weights.

Step 4: Export

When you have completed your outfit asset, export it as a GLB file.
Include:
  • The provided unmodified skeleton (Armature),
  • The optimized body mesh,
  • The outfit meshes with materials and skin weights for the skeleton.
Do not include:
  • The head mesh. It is only provided in the template for your reference.
  • Any lights, cameras, etc.
  • Any Animations.
  • Any morph targets, also known as blend shapes.

Step 5: Upload in Studio

Once the export is complete, open Ready Player Me Studio and upload your creation.

Recommendations and Tips

Modelling

  • Make every triangle count! A polygon should either be contributing to the silhouette and/or helping deformations. Smaller details, like buttons are better put into the texture maps.
  • You can bake details from a high-poly mesh into the low-poly mesh, see Texture Map Baking.
  • Geometry density has a gradient with the the highest density around the head and upper torso, and the lowest number of polygons used around the feet and lower torso.
  • Avoid creating long & thin triangles, as they tend to cause shading artefacts.
  • Avoid creating very small triangles or triangles that have 0 area (all 3 vertices at the same location), as this can generate errors that fail validation.

UV mapping

  • Minimize UV splits. Do use splits with padding for hard edges if you bake normal maps.
  • If possible, use fewer and bigger UV shells/islands instead of many small UV shells. Every UV split creates extra data.
  • Straighten UV islands where possible, e.g. belts, trouser legs, and sleeves, to reduce artifacts when texture resolution is reduced.
  • Aim for a consistent texel density of ~10.24 px/cm.

Texture Map Baking

  • When you create a mesh with a high polygon resolution, you can use it to put details from that mesh into the texture maps of the low resolution mesh that is used for Ready Player Me. This process is called baking texture maps.
  • During modeling of the low-res mesh, use hard edges (normal splits) on angles of 90 degrees or sharper. This will make the baked normal map not to have to work that hard to get around the corner. There will be less of a gradient in the normals and, therefore, the image compression will be more efficient. But make sure to have padding between the UV splits of the hard edges, otherwise you'll get artefacts.
To create the basecolor maps in a desirable style, we recommend to use our smart material for Substance Painter 2021 (or newer) as a base: ReadyPlayerMe.spsm
Keep basecolor maps PBR-safe, i.e. stay within the 30-240 sRGB luminance range for non-metals and within the range of 180-255 sRGB luminance for raw metals.
Examples of baked base color maps