Add pre-upload avatar mesh merger to the VRCSDK
bd_
A lot of avatars have excessive meshes due to either the fear of touching blender, or the desire to be able to continue using poorly-optimized editing tools (such as VRoid Studio). One way to combat this would be to add automatic mesh merging logic to the upload process. Specifically, this should, at time of upload, and without modifying the original avatar object in the editor:
- Identify and exclude any meshes with enable states controlled directly by animators, or where the parent object is not the root or a bone
- Convert normal meshes into a skinned mesh renderer with all vertices fully weighted to their parent bone
- Merge all skinned meshes into a single combined mesh
- Fix animation references to shape keys (this may require name mangling some shape keys to avoid collisions)
- Upload the resulting avatar
This will need to take into account some more advanced animation techniques; in particular, merging into the face mesh can be dangerous, as sometimes animating the face mesh enable state is used as a workaround to disable lipsync and/or eye tracking.
Log In