/vrc-osc-contact-velocity

An OSC router written in Python to intercept VRChat OSC parameters, calculate the velocity, and forward them to another OSC server. Intended for the use case of calculating velocity of a contact sender to drive the Giggletech haptic.

Primary LanguagePython

vrc-osc-contact-velocity

Status GitHub Issues GitHub Pull Requests


📝 Table of Contents

🧐 About

An OSC router written in Python to intercept VRChat OSC parameters, calculate the velocity, and forward them to another OSC server. Intended for the use case of calculating velocity of a contact sender to drive the Giggletech haptic.

🏁 Getting Started

  1. Add contact receivers for each haptic device to your VRChat Avatar.
  2. (optional) Add additional spherical contact receivers around the haptic device location to assist with velocity estimation. Evenly space the receivers for more consistent velocity estimation.
  3. Add unique parameter keys for each contact receiver to your animation controller and map those back to the respective receivers.
  4. Change the settings in the configuration file Config.ini. Parameter keys should match those specified in your unity project.
  5. Run the server
    vrc-osc-contact-velocity.exe
  6. Run the haptice device server (eg. GiggleTech OSC router). Make sure to configure the correct IP, port, and parameter addresses to listen to this contact velocity server. Ensure that your haptic device is turned on.
  7. Open VRChat.

For an in-depth guide on how to set up the contact receivers in Unity, see the Avatar Setup Examples.

🚀 Building

  1. Clone the repository
  2. Install the dependencies
    python install -r requirements.txt
  3. Build the executable
    python -m PyInstaller main.spec
    or run the command
    python main.py

✍️ Authors

See also the list of contributors who participated in this project.

🎉 Acknowledgements