Cross-platform game engine, released in June 2005 at Apple Worldwide Developers Conference as a Mac OS X game engine. The engine has since been gradually extended to support a variety of desktop, mobile, console and virtual reality platforms.
To start using Unity in order to export VRMs we will need Unity, Uni-VRM plugin, both are free for you to download and a rigged avatar FBX to convert into VRM.
After having Unity installed in our PC, it’s time to install Uni-VRM plugin dragging and dropping the Unity Package into the Unity Scene and it will start downloading and installing itself.
After installing it, this two windows should appear:
Introducing the VRM
Once we have Uni-VRM installed it’s time to have some fun with it! Let’s import the avatar FBX into the scene with it’s textures and create some materials for the textures, it’s recommended not having more than three materials to avoid having a heavy VRM.
To import the FBX to convert it into VRM is as easy as dragging and dropping it to the project window but we need to configure it.
Clicking in the imported avatar will open a window on the right side
In the Model tab you can configure everything related to the avatar (Height, import cameras, lighting, blendshapes), it’s recommended to tick Read/Write Enabled and Legacy Blend Shape Normals.
In the Rig tab you can configure everything related to the avatar rigging and we need to put the Animation Type in Humanoid and configure the bones in the configure button and then press Apply and Done.
Materials tab is where we need to put the materials with the textures inside to see them on our avatar, in this case there are only two materials.
After that our FBX avatar is ready to convert into a VRM avatar!
Drag and drop the FBX imported with all the configuration into the Unity hierarchy and with it selected click in top tab called VRM0 and export to VRM 0.x
and a windows will appear to configure the VRM metadata and make it Tpose if it wasn’t at the beginning.
Congratulations! You’ve done a VRM avatar but hold on, we need to configure blendshapes if we want them to talk.
To do that, create a folder called VRM in the project window and import inside the exported VRM
Lots of folder have been created but don’t panic, they are friendly. Drag the character into the Scene hierarchy and put the FirstPersonOffset in front of the eyes, this will be where VR platforms put the camera.
After that, it’s time to configure blendshapes, one of those folders created when we imported the VRM is the blendshape folder where we can configure them
All we need to do is match the blendshape preset with our blendshape and with that done, last step is to reexport the avatar and have fun through the metaverse!
One last thing, if you want to test how your avatar moves, download mixamo animations and in Unity create an animation controller.
Put the downloaded animation from Mixamo in Humanoid like the avatar to have a correct retarget and inside the animation controller drop the animation connected to entry and press play, now your character have a nice animation!
And this is the result