galister / oscavmgr

[Linux] Face tracking & utilities for Resonite and VRC
MIT License
32 stars 4 forks source link

OSC Avatar Manager

This is a personal project that includes a face tracking relay (VRCFT replacement), among other things.

Supported:

Setting up to use with VRChat

A helper software is required, in order to handle OscQuery for us: galister/VrcAdvert.

Get latest OscAvMgr + VrcAdvert:

wget -O VrcAdvert https://github.com/galister/VrcAdvert/releases/latest/download/VrcAdvert
wget -O oscavmgr https://github.com/galister/oscavmgr/releases/latest/download/oscavmgr
chmod +x VrcAdvert oscavmgr

Recommended start script:

#!/usr/bin/env bash

# stop VrcAdvert after OscAvMgr quits
trap 'jobs -p | xargs kill' EXIT

./VrcAdvert OscAvMgr 9402 9002 --tracking &

# If using WiVRn
./oscavmgr openxr

## If using ALVR
#./oscavmgr alvr

## If using Project Babble and/or EyeTrackVR
#./oscavmgr babble

Once OscAvMgr is started, it will print further instructions to the terminal.

VRC-Only: Autopilot

This activates when the avatar bool parameter AutoPilot is true. The bottom of the terminal will change from AP-OFF to MANUAL.

Turn left-right: Look at the left/right edge of your screen\ Jump: Look at the top edge of your screen\ Toggle Mute: Raise your eyebrows\ Move forward: Puff your cheeks\ Move backwards: Suck your cheeks

VRC-Only: Gogo Loco integration

Auto loco switch:

Pose save:

Quick-ascend:

VRC-Only External Storage

This allows you to save infrequently used sync parameters into OscAvMgr, so that they don't take up sync param space on your avatar.

Your corresponding animator state machine must be Write Defaults OFF for this to work.

Requires 4 parameters:

To set a value:

To read a value:

Using with Resonite

Enable this mod: galister/EyeTrackVRResonite (This is a fork that supports both Eye + Face)

With the mod enabled, simply start OscAvMgr.

A set of DynamicValueVariables will be created for you. Use them to drive your choice of blendshapes. (Network syncing is already handled for you).

If you are starting up Resonite after using VRC, you will need to restart OscAvMgr, or it will keep sending the set of parameters from your last VRC avatar!

Pico 4 Pro Users: Your eyes will be always closed. To fix this, remove the eyelid blendshapes from your EyeManager, and create a second EyeManager (not driven by OscAvMgr) to drive the eyelids.

Building from Source

We recommend using rustup. If your compile is failing, try updating your toolchain using rustup update stable.

cargo build --release

Notes for ALVR: By default, OscAvMgr build for ALVR branch v20, which has the latest 20.x release.

If you need to use OscAvMgr with a different ALVR version, change the branch in cargo.toml and then run cargo update before building.

Join the Linux VR Adventures community