LogoLogo
WebsiteBlogForumsSign up
  • Welcome
  • How Ready Player Me works
  • FAQ
  • 👩‍💻Integration Guides
    • Overview
    • Unity
      • Quickstart
      • Avatar Creator Integration
        • WebView Avatar Creator
          • Avatar Creator for Android & iOS
          • Avatar Creator for WebGL
        • Build your own Avatar Creator
          • Start with the sample
          • Elements
            • Asset Selection Element
            • Color Selection Element
            • Template Selection Element
            • Body Shapes Selection Element
            • Gender Selection Element
            • Avatar List Element
            • Photo Capture Element
            • Signup Element
            • Login Element
            • Logout Element
          • User Management
      • Load 2D Renders
      • Avatar Loader Window
      • Setup Multiplayer
      • Setup for XR (Beta)
        • Setup the Player Avatar
        • Setup Meta Movement SDK
        • Setup Final IK
        • Setup XR Hands
          • RpmHandDriver script
        • Facial Animations
        • VR Avatar Creator
      • Animations
        • Ready Player Me Animation Library
        • Mixamo Animations
      • Optimize
        • Avatar Configuration
        • Avatar Caching
        • Defer Agents
      • Code Samples
        • Loading 3D Avatars
        • Loading 2D Avatars
        • Avatar Creator (WebGL)
        • Avatar Creator (Desktop)
        • Avatar Creator (Mobile)
        • Distance-based LODs
      • Troubleshooting
        • Editor UI Window Issues
        • Avatar loading issues
        • iOS issues
        • WebGL issues
        • Firewall issues
        • Updating the SDK
          • Unity SDK 3.0.0 Migration guide
          • Unity SDK 4.0.0 Migration guide
          • Unity SDK 5.0.0
          • Unity SDK 7.0.0
          • WebView 2.0 Migration
        • Package installation issues
      • Help us improve the Unity SDK
      • FAQ for Unity
      • Early Access Features
    • Unreal Engine
      • Quickstart
        • Import SDK Manually
      • Avatar Creator Integration
        • Build your own Avatar Creator
          • Sample Structure
          • Customization Guide
        • WebView Avatar Creator
      • Load Avatars
      • Animations
        • Ready Player Me Animation Library
        • Loading Mixamo animations
        • Mannequin animation retargeting
        • Blender FBX export to UE
        • Oculus Lipsync integration
      • Optimize
        • Avatar configuration
        • Avatar caching
        • Avatar preloading
      • Code Samples
        • Unreal Engine 5 samples
        • Lyra project integration example
        • VR Avatars
        • Unreal Engine 4
      • Troubleshooting
        • Project compilation issues
        • Missing materials on built applications
        • Avatar loading issues
        • Animation issues
        • Unreal SDK breaking changes
        • Avatar lighting issues
        • Updating from earlier versions
          • Unreal SDK 3.0.0 Migration guide
        • Auto LOD issues
      • Help us improve the Unreal Engine SDK
      • FAQ for Unreal Engine
      • Early Access Features
    • React
      • Quickstart
    • React Native
    • iOS Native
    • Android Native
    • Web Integration
      • Quickstart
      • User Management
        • Guest Accounts
        • Account Linking
      • Avatar Creator integration
      • Optimize
    • API Integration
      • Quickstart
      • Custom Avatar Creator
      • User management
        • Ready Player Me Account
        • Anonymous Accounts
    • UX/UI Guidelines
      • Summary & quick tips
      • UX and UI guidelines and essentials
        • Foundation for good user experience
          • Layout
          • Colors
          • Typography
          • Icons
          • Dark mode and light mode
        • Mobile best practices
          • Layout
        • Making Ready Player Me feel native
          • Seamless Avatar Integration
          • Consistent Branding
          • Responsive Layout
          • Performance Optimization
        • Discoverability of the avatar editor
          • Onboarding tutorial
          • Clear navigation
          • Contextual Placement
  • 🖌️Customizing Guides
    • Studio (Developer Dashboard)
    • Avatar Creator Appearance
      • Avatar URLs
      • Avatar Shortcodes
    • Upload and Manage Custom Assets
      • Asset Manager in Studio
      • Configure in Studio
      • Manage custom assets using the API
      • Unlocking assets through API (Beta)
    • Create Custom Assets
      • Fullbody Outfits
        • Checking Skin Weights
      • Tops, Bottoms, Shoes
        • Editing templates
      • Hairstyle
      • Headwear
      • Facewear
      • Glasses
      • Hero Characters
      • Modeling Guidelines
  • 🔃API Reference
    • REST API
      • Authentication
      • Avatars
        • GET - 3D avatar
        • GET - 2D Render of an Avatar
        • GET - Metadata
        • PUT - Equip an asset
        • PUT - Unequip an asset
      • Assets
        • Asset Entity Properties
        • POST - Create Asset
        • GET - List Assets
        • PATCH - Update Asset
        • POST - Upload Asset Files
        • POST - Add Asset to Application
        • DELETE - Remove Asset from Application
        • PUT - Unlock asset for a user
        • PUT - Lock asset for a user
      • Users
        • POST - Create User
      • Auth
        • GET - Token
      • Changelog
    • Avatars
      • Full-body avatars
      • Full-body XR avatars
      • Half-body avatars
      • Morph targets
        • Apple ARKit
        • Oculus OVR LipSync
    • Avatar Creator
  • 🔉Support
    • Forums
    • Licensing & Privacy
Powered by GitBook
On this page
  • Modelling
  • UV mapping
  • Texture baking

Was this helpful?

  1. Customizing Guides
  2. Create Custom Assets

Modeling Guidelines

Recommendations and tips for creating 3D real-time assets for Ready Player Me avatars.

PreviousHero CharactersNextREST API

Last updated 1 year ago

Was this helpful?

Modelling

  • Make every triangle count! A polygon should contribute to the silhouette or help 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 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 & 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.

  • Add thickness to the geometry, or fill holes to avoid needing Backface Culling disabled.

The mesh at the neck is not closed, resulting in a see through hole if backface culling is enabled. This can be fixed by capping the hole in the mesh.

UV mapping

  • 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.

Texture 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.

Examples of baked basecolor maps

Note that the example basecolor maps above have some lighting information, e.g. ambient occlusion, baked into them, which is usually best supplied separately in the occlusion input of the PBR material.

If your rendering engine does not use PBR shaders, you may need to bake lighting information into the basecolor map like in the examples above.

When uploading the asset to , it will warn you about common issues with meshes and triangle counts.

Minimize UV splits. Do use splits with padding for hard edges if you .

Aim for a consistent , for example ~10.24 px/cm.

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:

Keep basecolor maps , 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.

🖌️
Studio Asset Manager
texel density
ReadyPlayerMe.spsm
PBR-safe
bake normal maps
Example of straightened UV layout for a circular mesh