Here’s a concise step-by-step guide to convert a GLB file to a full VRM (3D avatar for VTubing/VR).
You missed the VRM Meta license in Unity. VRChat requires Redistribution Prohibited or CC BY to be set. Without a license, the SDK will throw an error.
Assets → Import New Asset)VrmBlendShapeProxy for expressionsVRMSpringBone for physicsVRM0 → Export to VRMFor production use, consider these dedicated tools:
# Using VRM Converter (Unity-based) # Download from: https://github.com/vrm-c/UniVRM/releasesPhase 2: Unity – The Full Processing
The VRM standard includes metadata (avatar name, author, allowed licenses) and look-at settings that Blender cannot handle. Unity is mandatory for a full conversion.
Step 1: Setup Unity
- Create a new Unity project using the 3D Core template.
- Import
UniVRMviaWindow > Package Manager > Add package by name...(entercom.vrmc.gltfor download the.unitypackagefrom GitHub).Step 2: Import the VRM from Blender Drag your
.vrm(exported from Blender) into the UnityAssetsfolder. It will automatically appear as a VRM prefab.Step 3: Spring Bones & Colliders (The "Full" part) GLB has no physics. VRM requires it.
- Select your avatar in the Hierarchy.
- Go to
VRM > Spring Bone > Add Spring Bone.- Assign
HairorSkirtbones.- Add
Collider Groupsto the hips so hair doesn't clip through the body.Step 4: Blendshape Mapping (Lip Sync & Expressions)
- In the UniVRM menu, open
VRM > Blendshape.- Map your GLB’s morph targets (e.g.,
mouthOpen) to VRM’s standard presets (Aa,Ih,U,E,Ohfor visemes;Joy,Angry,Sorrowfor expressions).- Pro tip: If your GLB has no morph targets, download a free "VRM Blendshape Transfer" script on GitHub to generate basic shapes via bone movement.
Step 5: Meta Data & Look At
- Fill out
VRM > Meta: Title, Version, Author, and License (required for VRChat upload).- Configure
VRM > Look At: Set target bones (eyes and head) and type (boneorblend shape).Phase 2: The Engine Room (Unity)
Leo exported his rigged model from Blender as an FBX (a format Unity reads easily) and opened Unity, the engine where 90% of VRM creation happens.
He dragged his file into the Assets folder. Immediately, he saw the error messages flashing in his mind. A standard import isn't enough.
- Rig Configuration: He clicked on the model file and navigated to the Rig tab. He changed the Animation Type from "Generic" to "Humanoid."
- The Crucial Check: He clicked "Configure." Unity overlaying a skeleton over his model. He had to ensure every bone matched—Head, Chest, Hips, Left/Right Hands. If a bone was red, the VRM conversion would fail later. He tweaked the assignments until the skeleton was a healthy green.
Steps for Conversion:
Install Necessary Software and Plugins:
- Blender: Download and install Blender from its official website. Blender is free, open-source software that supports the import and export of various 3D formats.
- VRM for Blender: You may need to install a VRM plugin for Blender to enable VRM export. This can usually be found in the Blender Market or through the VRM official GitHub repository.
Import GLB File:
- Open Blender and switch to the "Scripting" workspace or go to
File>Importand select the appropriate option for GLB (usuallyGL Transmission Format 2.0 (.glb)).Adjust and Clean Up the Model:
- Once imported, inspect the model for any issues such as incorrect normals, wrong scale, or materials that might not translate well.
- Make necessary adjustments. This might involve reassigning materials, re-scaling the model, or re-orienting it.
Export to VRM:
- After cleaning up and adjusting the model, you'll need to export it as a VRM file. Look for the VRM export option under
File>Exportor use the functionality provided by the VRM plugin.VRM Export Settings:
- Configure export settings according to your needs. This might include setting up avatar expressions, physics, and other VRM-specific features.
Usage
if name == "main": # Method 1: Direct conversion glb_to_vrm("input.glb", "output.vrm", "MyVRMModel") convert glb to vrm full
# Method 2: Using trimesh # glb_to_vrm_trimesh("input.glb", "output.vrm")