VRChat
ENA NAE EN Jun 19, 2021 @ 5:57pm
[Avatars3.0] Avatar Descriptor LipSync not detecting visemes
Greetings. Here is the problem. My avatar was made in VROID and imported into a .blend file to be able to edit it with more freedom. Visemes were basic (mostly jaw flap) hence I jumped in and edited some like the RR not moving the tongue and apparently SIL despite not moving the mouth it was moving other objects in the body (some ribs). I corrected this glitch by blending the corrected mesh from the Basis' vertexes, and ALL visemes afterwards since when I zoomed out I found that all the visemes moved the ribs of the chest, thus I ran down the fix on all the visemes so that only the mouth and tongue moved.

The model lacked shapekeys for BLINK and LOWERLID so I made those from scratch using the Basis and placed them on top of the shapekeys' list. Since it doesn't blink because it's a robot, those 4 visemes are "empty" like SIL.

Because the guy was using an older version of Blender I appended the collection to a new .blend file to bake textures and stuff with my settings and plugins.

With all that done, I export the FBX and drag it into the proper Unity project with the latest avatar SDK available from VRChat's site. After dragging it into the project I drag the file into the scene from the Assets folder and I proceed to add the Avatar Descriptor component.

So far until now I just needed to click "Auto Detect!" at the LipSync and automatically it will find "Body" for me and place the visemes in their correct spot. Worked for everything I have done but THIS particular model I was working on.

I tried to troubleshot it myself but I hit a dead end :(
  • Exported the unmodified file FBX and visemes were detected.
  • Exported the same file with a few visemes tweaked at random and it worked.
  • Exported the file without some accesories that I didn't like and it still worked.
  • Exported the file with the 4 new visemes that were lacking and it worked.
  • Exported the file with some of the shapekeys renamed and it worked (previously they were all written in Japanese hence I wished to change them from the start)
  • Exported the file with the visemes rearranged in the list and it worked.
  • Exported the file after appending it to a new .blend file to update it and it worked.

I'm really out of ideas... I have moved my original avatar to 3 new .blend files to see if any trash metadata is not making the LipSync to find the visemes assigned to Body to no avail. The other original file worked with incomplete viseme list (no BLINK nor LOWERLID), all in Japanese but the visemes (which were either all in full caps or incomplete like "VRC.v_E".

I'm not sure what I'm doing wrong so I leave this here if someone can kindly point me out a different approach to the problem because, after 4 days (1 and a half of avatar edition + 2 and half trying to find out what is going wrong), I'm morally wasted :cozydbd:
< >
Showing 1-4 of 4 comments
Mio Rin Jun 20, 2021 @ 4:32am 
You can manually assign the body mesh and the viseme blendshapes, if the auto-detect doesn't work.
I've had to do that on a few Quest versions of avatars I've made.
ENA NAE EN Jun 20, 2021 @ 7:09am 
Originally posted by Mio Rin:
You can manually assign the body mesh and the viseme blendshapes, if the auto-detect doesn't work.
I've had to do that on a few Quest versions of avatars I've made.

Aye, I did that, on each different iteration.

As a side note, I have found out the solution... It was a very dumb thing. All my avatars has a Multires modifier I use to sculpt and bake and never gave a single problem when I exported them in .FBX because the exporter would automatically apply any modifiers (even the Armature one) in the final file. But see, I was experimenting trying to "break" the original file and I managed to reproduce the same bug as my customized model by adding a Multires modifier to it without even making any subdivisions at all. Then I returned to my customized mesh, deleted the Multires, exported it to .FBX and voilà, now the LipSync auto-detects it flawlessly.

This is the first time I modify a base from VROID and apparently the Multires modifier caused the Avatar Descriptor to bug out with empty visemes even if you drag the "Body" into the Face Mesh location within the component. I'm not sure why it happens only with this model as the rest of my models I've done from scratch in Blender work fine with the modifier intact.

If someone else happens to get a similar error, check the modifiers and delete any unneeded ones. Never delete the Armature modifier though, as this will delete all the bones associations assigned to the model. Applying the modifiers instead of deleting them also works. Hope it helps someone to get over this issue which unfortunately falls beyond the criterion of logic solutions.

Thanks for reading :gbl:
OwlBoy Apr 30, 2022 @ 3:07pm 
Thanks for mentioning that stuff about the Modifiers getting in the way Vlastimira! I had a similar issue where a weighted normal modifier was blocking the Avatar Descriptor from seeing any of my Shape Keys / Visemes.
syspa Aug 19, 2022 @ 3:32pm 
wow that was an easy fix
< >
Showing 1-4 of 4 comments
Per page: 1530 50

Date Posted: Jun 19, 2021 @ 5:57pm
Posts: 4