Proposed: VRC and VRM compatibility
The Context
VRChat (VRC) and Virtual Reality Model (VRM) are two popular things used in the creation of virtual reality content. However, they are not inherently compatible with each other, which can cause issues for developers trying to use both in their projects.
The Problem Statement
The lack of compatibility between VRC and VRM can lead to inefficiencies and limitations in the development process. This proposal aims to address this issue by providing a solution that allows for seamless integration of these two groups.
Describe how your proposal will work with code, pseudo-code, mock-ups, or diagrams
The proposed solution involves a series of steps outlined in the README below:
- DO NOT remove transparent triangles for [hair, face, body]
- Make sure the
Body
has all blend shapes deleted. - Add face shapes with hana tool
- Split the skin from the clothing using separate by material.
- On all the clothing delete vertex groups.
- Use Robust Weight Transfer for Blender to rig clothing
- Unpack the prefab.
- Convert to vrchat. Combine meshes, remove upper chest
- Delete skirt bones that are not used.
- Add vrcfury direct tree
- Add vrcfury fix write defaults
- Add vrcfury anchor override fix
- Add vrcfury jerry’s templates
- Add vrcfury unlimited parameters
- Make sure the
Body
has the perfect sync blend shapes. - Remember that VRM Mouth Joy is similar to jawOpen.
- Remember that brown down and eye blink can be buggy.
- Choose either the MPEG4 blendshapes or Perfect sync. Delete one or the other.
- Remove empty vrc parameters
- Remove Physbones with missing transforms from secondary.
- Convert bone clusters in sphere colliders to capsule colliders to go from VERY POOR to POOR.
- Continue converting capsules until satisfied “POOR”.
- The FX controller must match the name and not be temporary.
- Use Auto VRMColliders.
- Make sure all pipeline IDs are detached.
- Remember to delete the upper chest from the humanoid.
- Eye look is behind the nose bridge
- Make sure the breast bones are parented as the same bone as the clothing chest bones correspond to.
- Cross eyed fix in vrcfury breaks eye tracking.
- Upload. (Pick a new slot. DO NOT REUSE A SLOT.)
Installed packages
- vrc sdk base
- vrc sdk avatar
- vrcfury
- vrcft - jerry’s templates
Overly bright
- in liltoon turn saturation to 2.
Seams when moving
- Try in blender to merge by distance
Weight Transfer matching
- 0.0125 m for distance
- 15 degrees for angle match
How to prioritize spring bone removal
- Core movement
- Ears :3
List of my default VRCFury components
- VRCFury blink controller
- VRCFury blend shape optimizer
- VRCFury direct tree optimizer
- VRCFury fix write defaults
- VRCFury unlimited parameters
- VRCFury anchor override fix
- VRCFury GoGo
The Benefits
The proposed solution will allow developers to use VRC and VRM together in their projects, leading to increased flexibility and efficiency.
The Downsides
The process may be complex and time-consuming, especially for those unfamiliar with these formats.
The Road Not Taken
An alternative approach could involve developing a new format that combines the features of both VRC and VRM. However, this would likely require significant resources and may not be feasible for all developers.
The Infrequent Use Case
This proposal may not be beneficial for developers who only use one of these formats in their projects.
In Core and Done by Us
The proposed solution has been developed by us and is integrated into our core system.
Status
Status: Proposed
Decision Makers
- V-Sekai development team
Further Reading
- vrc-get gui
- V-Sekai · GitHub - Official GitHub account for the V-Sekai development community focusing on social VR functionality for the Godot Engine
- V-Sekai/v-sekai-game - GitHub page for the V-Sekai open-source project bringing social VR/VRSNS/metaverse components to the Godot Engine
- [https://vcc.vrcfury.com]
- [https://Adjerry91.github.io/VRCFaceTracking-Templates/index.json]
- [https://esperecyan.github.io/VRMConverterForVRChat/registry.json]
- [https://vpm.nadena.dev/vpm.json]
- [https://lilxyzw.github.io/vpm-repos/vpm.json]
- [https://fujisunflower.booth.pm/items/2087178]
- VRM Downgrader
- GoGo Loco
AI assistant Aria assisted with this article.