Getting Started with VRM
When designing a VRM, especially if you plan to mint it with the Mona Marketplace, you will want it to work on as many platforms as possible including Mobile and/or Standalone VRM spaces. For this we are recommending creating your assets for a mobile/VR specification.
If your VRM has a high polygon/material/model count or significant texture size, it will affect how the space will run, especially seeing as there can be up to 100 users in a space at a time! So, make sure to keep within the recommended specifications.
The Maximum specs below will still pass QA, but would not be considered a good avatar for a Mobile/Standalone VR experience (depending on the space and number of VRMs in the space).
*Note how the textures differ from Total and Individual. Total means that all your textures add up to the target textures. So instead of having a diffuse, normal, smoothness/Metallic, and emissive texture at 1024x1024, they would actually be 512x512 each to add up to a 1024x1024.
Individual would be 1024x1024 for each texture type. Textures play the largest part in file size and affect how performant a VRM is in a space, which is very important when it comes to Standalone VR and Mobile platforms.
To get started building a VRM Avatar, you will first need to create a Character. A Character model typically is in a humanoid form but could also be as wild or crazy as your imagination. With Mona, we don't prescribe form.
You will need to model your character in 3D modelling software like Blender, 3DSMax, Maya, etc.
Most of this documentation will assume you already have a character made and ready to add a skeleton, also known as rigging.
There are a number of different methods to create a VRM. The following are two methods that are well documented.
Your avatar is recommended to be in a T-Pose before rigging.
This will reduce issues with the animation of your avatar. It is possible to set your character as a T-Pose using Mixamo (described in the following doc), however it may not look as accurate.
Remember if you are submitting VRMs to the Mona Marketplace, it is important to keep under the requirements specified above otherwise your avatar will potentially slow down a space and/or fail QA.
As there can be a large amount of avatars in a space, it is necessary for avatars to have reasonable specifications. Especially if those assets are going to be used on low end devices such as standalone VR or mobile.
Materials are one sided, meaning a dress would only be visible from the outside, and invisible underneath. One way around this would be to create a simplified mesh going up on the inside so the mesh is double sided. It may be possible to create a custom shader for VRMs that supports double sided materials, but this is also more expensive to compute.
It is recommended not to have nudity on your base character mesh. This applies if your character has a dress and underwear hasn't been considered. The model will probably be seen underneath (when jumping or in high places), so this should be considered when designing your character.
As your model will be animated you will need to consider how the model is created so that the key joints in the body can animate well. This will also improve Mixamo/Accurig process for improved results with fast rigging methods.
Decimation will not create clean edgeloops and therefore the character will not animate well.
Key areas that need clean edge loops include :
- Neck (top/bottom)
- Finger joints
As Mona does not currently use blendshapes this tutorial will skip that functionality (for now), however if you want to use your avatar in platforms that do (such as VRChat) then you can learn more at the following :