VSeeFace Setup
Steps
Download VseeFace from: https://www.vseeface.icu/#download
Move the archive to a convenient folder and extract it.
Run protonup. (If you don’t have it and you are on Arch, you can get it using an AUR helper such as yay. “yay -S protonup-qt-bin”).
Select lutris. Click “add version.” Select Wine-GE and install the latest one. Close.
Run lutris. Click the plus sign and choose "add locally installed game."
Give it a name and choose wine as the runner. Move to the “game options” tab.
In executable, click the “…” button and find the VseeFace program you downloaded.
If you will use window capture, put --background-color ‘#00FF00’ in arguments.
In working directory, click the “…” button and find the VseeFace folder.
In wine prefix, find an empty folder or create one to store the prefix.
Choose 64-bit architecture.
Move to runner options and confirm that the selected wine version is the one installed with protonup.
Save the settings.
Select the VSF application from the lutris menu, and in the bottom click the upwards arrow, to the right of the joystick button. Then click on winetricks. Wait for the prefix to be created and the menu to appear.
On the new menu, select “Select the default wine prefix.”
Select “install a font.”
Search for corefonts. Check it and click OK.
Click OK on the bunch of error messages Wine is going to throw. There are a lot.
Once it’s done and you are back on the menu, click cancel twice to exit.
Run VSF, it should be ready.
VMC Setup for VSeeFace
Open VseeFace.
Select any camera. It won’t be used but it forces you to choose at the start.
Select your microphone. It will be used for lip sync.
Start the simulation.
Open the settings menu and go to General Settings.
Scroll down to OSC/VMC Protocol.
Enable the OSC/VMC receiver.
Optional info
Check “Apply VseeFace Tracking” and “Track Face Features”. There is a problem here.
With it enabled, lip sync will work, but expressions won’t. And vice versa. Choose one or the other. I assume this happens because with it enabled, VSeeFace overrides the info received through VMC allowing it to manage lip sync, but since it can’t track, expressions aren’t processed.
And the other way around, if it’s disabled, VSeeFace can identify expressions in the data received, but can’t do lip sync since it’s not in control.
A potential solution that I can’t test would be to have 2 cameras. So that XR Animator uses one, and VSeeFace uses another one. That way VSeeFace could override the XR’s face tracking with it’s own. However this could be costly in performance. In any case this is just a hypotesis.
Last updated