Code Monkey home page Code Monkey logo

vrcthumbparamsosc's Introduction

ThumbParamsOSC Github All Releases Buy Me a Coffee at ko-fi.com

OSC program that makes SteamVR controller actions accessible as Avatar Parameters.

Currently supports Valve-Index and Oculus(Meta)-Touch Controllers.

How to use

Activate OSC in VRChat:

EnableOSC

In Action menu, got to Options>OSC>Enable

Run Configurator.exe to configure the program.

Then just run the ThumbParamsOSC.exe and you are all set!

OSC Troubleshoot

If you have problems with this program, try this to fix it:

  • Automatic way:
    • Close VRChat.
    • Run Configurator.exe and click on the Button "Reset OSC Config"
    • Startup VRChat again and it should work.
  • Manual way:
    • Close VRChat.
    • Open 'Run' in Windows (Windows Key + R)
    • Type in %APPDATA%\..\LocalLow\VRChat\VRChat\OSC
    • Delete the folders that start with 'usr_*'.
    • Startup VRChat again and it should work.

Available Parameters

All parameters are case-sensitive.

Two int parameters for the Thumb position on each controller:

  • RightThumb
  • LeftThumb

The Integer represents the position of each thumb with the numbers from 0 to 4:

Value Real Position
0 Not Touching
1 A/X Button
2 B/Y Button
3 Trackpad
4 Thumbstick

Additionally, bool versions of the thumb positions are available, They're mapped the following:

  • [Left/Right]AButton
  • [Left/Right]BButton
  • [Left/Right]TrackPad
  • [Left/Right]ThumbStick

Another bool is also available to detect if the thumb is on either the A or B buttons, or Touching both at the same time.

  • [Left/Right]ABButtons

All button clicks are available as bool parameters, They're mapped the following:

  • [Left/Right]AButtonClick
  • [Left/Right]BButtonClick
  • [Left/Right]TrackPadClick
  • [Left/Right]ThumbStickClick

If you also need the Trigger pull values, you'll have to add two additional parameters of "float" type.

  • [Left/Right]Trigger

The values range from 0.0 to 1.0 for both of these parameters, depending on how much you pull the trigger.

4 Float Parameters for the thumb position on the trackpad:

  • [Left/Right]TrackPad[X/Y]

4 Float Parameters for the Thumbstick position:

  • [Left/Right]ThumbStick[X/Y]

The Trackpad Parameters range from -1.0 to 1.0. you can think of it like a coordinate system, with the middle of the Trackpad being the origin. These parameters are only available on Index Controllers.

A few more bools to determine if the Left or Right stick was moved:

  • [Left/Right]StickMoved

Two bools and two Floats to determine if the controller is gripped and how strongly its gripped:

  • [Left/Right]Grab
  • [Left/Right]GrabForce

Bools for every available Tracker Power button is available aswell. This does require Tracker roles to be set up in SteamVR:
Go to SteamVR-Settings > Manage Trackers and set up tracking roles for each tracker respectively: 268513445-16f47092-6f8b-4de6-9d5d-118fc9135c29

  • LeftFootTracker
  • RightFootTracker
  • WaistTracker
  • ChestTracker
  • LeftElbowTracker
  • RightElbowTracker
  • LeftKneeTracker
  • RightKneeTracker

Finally, the int ControllerType gives what controller is currently being used:

  • Meta/Oculus Touch (2)
  • Index (1)
  • Any other controller/No Controller (0)

After adding any of those Parameter, you can use them just like other parameters in your Animation Controllers.

Command line Arguments

You can run this by using ThumbParamsOSC.exe {Arguments} in command line.

Option Value
-d, --debug prints values for debugging
-i IP, --ip IP set OSC IP. Default=127.0.0.1
-p PORT, --port PORT set OSC port. Default=9000

Configuration

Running Configurator.exe lets you customize the Parameters that you want to have sent to VRChat, and some more things:

image

Unchecking or checking any of the parameters and the hitting save will save the current settings.
Floating Time allows values "float" on the last value registered, it is measured in seconds.
If Floating Time is set to -1 for boolean values, they will act like a toggle instead of always updating to the current state.

Automatic launch with SteamVR

On first launch of the program, it registers as an Overlay app on SteamVR just like other well known programs like XSOverlay or OVRAdvancedSettings and can be launched on startup: Screenshot 2022-12-04 184629
Screenshot 2022-12-04 184907

After setting the option to ON it will launch the program without the console on SteamVR startup.

Credit

Great Projects making use of ThumbparamsOSC:

vrcthumbparamsosc's People

Contributors

i5ucc avatar thelvaen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.