GET - 3D avatars

Get a 3D avatar GLB file with desired performance and configuration settings.

Get an avatar GLB by id or by short code.

GET https://models.readyplayer.me

Get an avatar 3D GLB model with desired performance and configuration settings.

Path Parameters

NameTypeDescription

avatarId.glb*

String

ID of an avatar.

Query Parameters

NameTypeDescription

morphTargets

String

Comma-separated list of individual morph targets or morph target standard groups to include on the avatar.

textureSizeLimit

Int

Sets the upper limit for texture resolution in pixels of any texture in the avatar.

useDracoMeshCompression

Boolean

Reduces file size by compressing output avatars with Draco mesh compression. More effective on complex meshes.

pose

String

Defines the pose for a full-body avatar.

useHands

Boolean

Toggles hands for half-body VR avatars.

meshLod

Int

Controls the triangle count of the avatar.

textureAtlas

Int

Generates a texture atlas of the desired resolution. The operation merges all meshes and splits opaque objects from transparent ones resulting in a maximum of 2 draw calls.

quality

String

low, medium or high - Use quality presets to combine performance related parameters.

textureChannels

String

Define which textureChannels should be included in the .glb. It can be a comma-separated combination of the following values: baseColor, normal, metallicRoughness, emissive, occlusion

useMeshOptCompression

Boolean

Reduces file size by compressing output avatars with Mesh Optimization compression. More effective on meshes with morph targets.

Parameters, expected values, and examples

You can combine multiple parameters by concatenating with &.

So for example requesting an avatar with meshLod 2 and without texture atlassing would look like that:

https://models.readyplayer.me/6185a4acfb622cf1cdc49348.glb?meshLod=2textureAtlas=none

Parameters, expected values, and examples

ID or Shortcode of an avatar.

Expected values (String)

  • 6185a4acfb622cf1cdc49348.glb

  • ABC123.glb

Notes

You must include the .glb file extension or you will get a 404 return value.

You can get an avatar id or short code via postMessage returned from Ready Player Me. You can read more about how to do that at Native Integration.

Without any of the optional parameters, the avatar is returned based on default values.

Use quality presets to combine performance related parameters from below.

Expected Values (String)

  • low

  • medium

  • high

The values behind those presets are the following:

  • low (meshLod=2, textureSizeLimit=256, textureAtlas=256, morphTargets=none)

  • medium (meshLod=1, textureSizeLimit=512=textureAtlas=512, morphTargets=none)

  • high (meshLod=0, textureSizeLimit=1024=textureAtlas=1024, morphTargets=none)

All other values overwrite quality. So e.g. you can use quality=low and overwrite the LOD with 0 to get the high-res avatar. See Examples.

Control the triangle count of the returned avatar.

Expected values (Number)

  • 0 - No triangle count reduction is applied (default).

  • 1 - Retain 50% of the original triangle count.

  • 2 - Retain 25% of the original triangle count.

Set the upper limit for texture resolution in pixels of any texture in the avatar.

Expected values (Number)

The value needs to be a multiple of two.

  • Min: 256

  • Max: 1024 (default)

Generate a texture atlas of the desired resolution. This operation merges all meshes and splits opaque objects from transparent ones resulting in a maximum of 2 draw calls.

The texture atlas is generated for all PBR channels - baseColor, normal, metallicRoughness, emissive, and occlusion, if any of the assets making up the avatar includes them.

Expected Values (String, Number)

  • none - Do not create a texture atlas (default).

  • 256 - Create a texture atlas of 256x256px.

  • 512 - Create a texture atlas of 512x512px.

  • 1024 - Create a texture atlas of 1024x1024px.

Select the texture channels you want to have included in the .glb. (By default, the .glb comes with all available channels).

Expected Values (String)

  • baseColor

  • normal

  • metallicRoughness

  • emissive

  • occlusion

  • none

You can combine these values by comma separation. See examples.

Comma-separated list of individual morph targets or morph target standard groups to include on the avatar.

Expected values (String)

The default value is "Default".

Define the pose for a full-body avatar.

Expected values (String)

  • A - Create a full-body avatar in A pose (default).

  • T - Create a full-body avatar in T pose.

Only applies to full-body avatars.

Reduce the file size by compressing output avatars with Draco mesh compression.

Expected values (Boolean)

  • true - Enable compression.

  • false - No compression (default).

Draco mesh compression is disabled by default for maximum compatibility for various glTF loaders.

Reduce the file size by compressing output avatars with Mesh Optimization compression. This technique is more effective on avatars with morph targets.

Expected values (Boolean)

  • true - Enable compression.

  • false - No compression (default).

Mesh Optimization compression is disabled by default for maximum compatibility for various glTF loaders.

Toggle hands for half-body VR avatars.

Expected values (Boolean)

  • false - Do not include hands with half-body VR avatars.

  • true - Include hands with half-body VR avatars (default).

Only applies to half-body avatars.

The default values above only apply when you have not requested any changes to those settings previously. Please reach out to support@readyplayer.me if you want to reset your default settings.

Last updated

Change request #130: Asset API