TheNexusAvenger / Nexus-VR-Character-Model

Maps Roblox characters to the VR inputs of players.
MIT License
65 stars 12 forks source link

V2.10.x Movement going different directions when physically rotating #43

Closed B00ie23 closed 1 month ago

B00ie23 commented 1 month ago

I use a Quest 2 + VR Air Bridge to connect my headset to my PC. I experience this issue in almost all experiences.

Basically, when I rotate physically to move in different directions, it appears to be having a "double effect" causing movement to behave strange. When facing left or right by 90 degrees, the character moves sideways opposite of the calibrated forward-facing direction. When facing backwards, the character also moves backwards toward the calibrated forward-facing direction.

I've attempted countless ways to try and reproduce this on a fresh baseplate, both live and studio, from changing configurations, to using older modules. None of my attempts were successful in reproducing the behavior. To make this even more troublesome (and even stranger to an extent,) not all experiences running V2.10 are having this issue.

Experiences that are affected by this:

Experiences that are not affected by this:

https://github.com/TheNexusAvenger/Nexus-VR-Character-Model/assets/45867359/6c50853d-a2ed-4227-976b-8e7e41ddf2df

Note: On the first clip between 0:07-0:14, and on the second clip between 0:30-0:37, the thumbstick Y value is held forwards while physically rotating, the movement can be seen behaving differently between the two clips.

I'm thinking that something may be up with Roblox's default movement system. If that is the case, I can try to move this to the devforums, but I do not have permissions to post in bug reports there, especially because I am unable to reproduce this.

TheNexusAvenger commented 1 month ago

Game-specific issues like these are probably caused by 1 of 2 causes that I can't address:

  1. The game has custom/modified ("Forked") PlayerScripts with outdated gamepad controls. Roblox does NOT encourage this.
  2. The game has custom inputs either using CFraming or Humanoid::MoveTo calls. This is less common, but does exist.

V.2.10 moved to relying on Roblox's PlayerScripts to ensure feature parity of inputs. One game owner came up to me saying that Nexus VR Character Model does not work as expected with their forked PlayerScripts. Nexus VR Character Model can't account for games using older/modified PlayerScripts that don't properly support VR. Forking the PlayerScripts is highly discouraged by Roblox for this reason, and has been discouraged for nearly a decade.

For any games that have this issue, please report the issue to them with this GitHub Issue linked. Please re-open the issue if a game confirms they don't do any of these, but the few cases I've heard do involve forked PlayerScripts.