Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Driving /input/Voice with pythonosc Unexpectedly Changes Controls #108

Open
rrazgriz opened this issue Mar 8, 2022 · 7 comments
Open

Driving /input/Voice with pythonosc Unexpectedly Changes Controls #108

rrazgriz opened this issue Mar 8, 2022 · 7 comments
Labels
bug Something isn't working

Comments

@rrazgriz
Copy link
Member

rrazgriz commented Mar 8, 2022

Describe the bug

When driving the endpoint /input/Voice with the pythonosc library, input properties change unexpectedly. The same does not happen when using Hexler TouchOSC.

On Desktop, the Mute/Unmute keybind stops working, and the "Bindings" menu shows Vive controls instead of Keyboard/Mouse controls.

On VR, the controllers appear to stop tracking in-game. Menus appear in front of the HMD as though controllers are disconnected. Buttons and joysticks on the controllers still work.

To Reproduce

Steps to reproduce the behavior:

  1. Send either an int (values 0/1) or a bool to the endpoint /input/Voice using the pythonosc library with "Toggle Voice" in any state.
  2. Observe problem described above.

Expected behavior

Driving this endpoint should not cause input properties to change.

Screenshots

Desktop "Bindings" screen before/after driving /input/Voice:
hGxJlvSAPo

Video of issue occurring:

gtW14SYWPr.mp4

Info (please complete the following information):

  • VRChat 1170 2022.1.1p1-3a3af3e29b (Desktop)
  • VRChat 1181 2022.1.2-ce57a0e100 (VR)

Additional context

Issue was observed on two separate machines, both using pythonOSC with Python 3. TouchOSC was noted to not have the issue on the Desktop/1170 machine.

The problem is reminescent of #107, with strangeness in input, but the two may be entirely unrelated.

H/T to @CatGirlEddie for helping narrow this down, and testing on beta 💯

Minimal example python code:

from pythonosc import udp_client
from time import sleep

osc_client = udp_client.SimpleUDPClient('127.0.0.1', 9000)

osc_client.send_message("/input/Voice", int(0)) # or True instead of int(0)
sleep(0.01)
osc_client.send_message("/input/Voice", int(1)) # or False instead of int(1)
@rrazgriz rrazgriz added the bug Something isn't working label Mar 8, 2022
@CatGirlEddie
Copy link

CatGirlEddie commented Mar 8, 2022

Tested and repeatable on my system with Python 3 using PythonOSC & pyOSC3, as well as Lua using OscCore using /input/Voice and /input/MoveForward, same symptoms appear.

@ZenithVal
Copy link

If done while the user is in VR, it forces the arms into desktop animations.

Reproducible with axes (/input/Horizontal, /input/Vertical, and /input/LookHorizontal)

@rrazgriz
Copy link
Member Author

Confirming that this still causes issues, at least on desktop - the Mute/Unmute keybind stops working, although the menu no longer switches to the vive controls. Have not tested on VR.

@ZenithVal
Copy link

Still causes a force of desktop animations in VR.

@ZenithVal
Copy link

McArdellje on the canny pointed out some more information on this along with a workaround.
https://feedback.vrchat.com/feature-requests/p/osc-locks-arms

"This specifically only occurs when using any /input/ OSC parameters and, while still a bug, can be worked around by setting the parameter's value to 0 at least once per second."

@Raphiiko
Copy link

Raphiiko commented Oct 1, 2023

Can confirm I'm running into the same issue here. I cannot use /input/Voice without the Index controllers losing tracking.

@ZenithVal
Copy link

This issue appears to be resolved on VRChat's most recent Open Beta. (Build 1340)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants