alvr-org / ALVR

Stream VR games from your PC to your headset via Wi-Fi
MIT License
5.09k stars 470 forks source link

I want to be able to use "ASL Y" in VRChat when using Index Emulation. #1594

Open arafangion opened 1 year ago

arafangion commented 1 year ago

First, awesome, amazing work with the index emulation! However, I need to be able to customise the gestures or revert to having the default set available which would otherwise be normally available to quest users.

Description

For sign language, particularly with the adaption of ASL called VR-ASL, we need to use the "Y" handshake, as follows: https://www.handspeak.com/word/2484/

Normally with Quest Controllers, we can do this. It'll either be the Y (as show in the link above), or it'll be the "horns" gesture, but either way, we get that little finger up and we can use conventions in VR-ASL to describe the signs that use that finger.

By default, using the same input on the Quest that I would normally use to produce this gesture, in ALVR, it produces the "rude finger" gesture (ie, the middle finger). Which sure is amusing! However, that's fine as long as there's another way of getting that Y handshape, and right now, I don't think there's a configurable way to do so.

I considered trying the regular quest controller settings (ie, not using index emulation), however, the additional handshapes in index emulation are very nice and it also means that when I use hand tracking, to approximate the hand poses using index emulation, it works pretty nicely.

So, I am wondering how I might customise the index emulation so that when I use the quest controllers, I can still express signs using that "Y" handshape.

General Troubleshooting

Environment

Quest 2. VRChat. Latest Nightly for ALVR as was available on April 23 2023, which is ALVR v20.0.0-dev11+nightly.2023.04.22

Hardware

N/A, other than that I'm using Quest 2 in PCVR mode.

Installation

ALVR v20.0.0-dev11+nightly.2023.04.22

SteamVR Version: Recently updated.

Install Type:

I think it was the "portable" version given that I used the nightly .zip

OS Name and Version (winver on Windows or grep PRETTY_NAME /etc/os-release on most Linux distributions): Windows, but I doubt it's relevant for this one.

Feature Requests

The quickest way to get a new feature is to file a pull request; these will be considered, but may be closed if they're something we're not actively planning to work on.

Ah, so yeah, this is a feature request. I might look at making a pull request at some point in the future (Unlikely to be this or next month). Some guidance in knowing where to look could be appreciated and if it looks simple enough, I might try making a hard-wired change myself. I have not yet looked at the code, although I do have some familiarity with Rust.

zarik5 commented 1 year ago

It's hard to be expressive enough for sign language using controllers. I really suggest you to use hand tracking when you want to communicate. You can pick and put down controllers when you need it.

arafangion commented 1 year ago

Hello @zarik5, you're right, it is, however in VR-ASL, there are conventions to express the ASL handshapes needed and it surprisingly seems to works well enough in practice.

Unfortunately, hand tracking in itself doesn't work because of bugs like https://feedback.vrchat.com/bug-reports/p/quest-2-hand-tracking-isnt-synced-to-pc

Which is why ALVR's hand tracking is surprisingly effective because we can at least see what everyone else sees and it is pretty good. It still has limitations, though, the signing space is much smaller with hand tracking, so it would be ideal if I could use controllers for most of the time, and fall back to hand tracking when I need to express a handshape that can't be captured by Oculus Controllers. However, that said, again, there are conventions for the oculus controllers and they are what the majority have.

I am in the same community as the movie "We met in VR".

zarik5 commented 1 year ago

Alright. So if i'm understanding right, the problem with hand tracking is the limited tracking space, so you can't make broad movements. I think i can add an option for the ASL Y.

arafangion commented 1 year ago

Indeed, camera tracking has significant limitations in terms of the tracking space and occlusion. I hope it gets better but with the current solutions it's not quite there yet - so having controllers and then, from time to time, the option to put the controllers down and use camera tracking for showing a particular handshape, is a good compromise.

Thanks for adding the option for ASL Y! The main thing I need is to have all the "normal" handshapes that the Oculus controllers give me by default.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.