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

[Feature Request] Index Controller support (Finger tracked controller in general) #57

Closed
3 tasks
DerRidda opened this issue Jun 28, 2019 · 13 comments · Fixed by #84
Closed
3 tasks

[Feature Request] Index Controller support (Finger tracked controller in general) #57

DerRidda opened this issue Jun 28, 2019 · 13 comments · Fixed by #84

Comments

@DerRidda
Copy link

I would like to figure out if and how it would be possible to support the new Valve Index Controller (aka Knuckles) within Godot.

If you don't know what these controllers are, you can find out more here: https://store.steampowered.com/app/1059550/Valve_Index_Controllers/

The basics are: Individual finger tracking, grip can be pressed with dynamic strength.
Joystick + trackpad, discrete face buttons.

I don't know what the best place to start would be but I imagine it should be the OpenVR plugin right here, as I think the basic ARVRController class in Godot has everything needed to make the Index controller usable in a fully featured way, even though the interface might not be very convenient.

Probable TODOs:

  • separate trackpad and joystick into different joysticks with independent axis
  • map face buttons and joystick click to independent button presses
  • map fingers to independent additional joystick axis (rest on controller without pressure = 0.0, go positive or negative with added pressure or spread fingers)

What I'm not quite sure about is how one could identify what type of controller is used.

As I have the hardware I wouldn't mind helping in actually implementing this, with the following caveats, I am a developer but:

  • only very minimal C++ experience
  • no GDNative experience
  • Full-time employed and constrained for time (But aren't we all?)

This is a serious offer but I would probably need some on-boarding.

Dev hardware for the index controller was shipped to a lot of VR devs so I'm looking into what to do to get some for the core developers of this module.

@BastiaanOlij
Copy link
Member

BastiaanOlij commented Jun 29, 2019 via email

@DerRidda
Copy link
Author

In that case we should probably find out what the smallest common denominator between Oculus and Index controllers finger tracking is and build a class with an interface based on that first and then work on the Index specific interface that has even more functionality.

@BastiaanOlij
Copy link
Member

BastiaanOlij commented Jul 1, 2019 via email

@Darkheron
Copy link

Also openvr added gesture support, openxr has that also so it’ll be
interesting to add that to godot aswell.

What do you mean by gesture support? Do you mean the individual finger summary data?
I don't use the vast bulk of the godot_openvr module, but I have my index working through OpenVR with full skeletal support in godot, and I am not sure what you mean by this.

@DerRidda
Copy link
Author

DerRidda commented Aug 6, 2019

In general I would like to now how this is being implemented now as apparently this is also an initiative by the Godot core team now as they were contacted by Valve.

@BastiaanOlij
Copy link
Member

@DerRidda still looking into it. Just rounded off rejigging the openvr plugin to use godot-cpp to clean a whole bunch of code up and finally get meshes to load asynchroniously instead of having the nasty hickup when controllers got turned on.

Need to start playing around with the SDK and start thinking about what I want to do. I'll be sure to do some writeups after I've done some experimenting so you guys can provide feedback before we get to far into a solution

@HeadClot
Copy link

Hey @BastiaanOlij got a quick question has Valve index controller support been added to this plugin yet? Curious as I have the index controllers and I am making a game with them. :)

@BastiaanOlij
Copy link
Member

BastiaanOlij commented Jan 20, 2020 via email

@HeadClot
Copy link

Thank you for the information @BastiaanOlij :)

@MathiasBaumgartinger
Copy link

Hello @BastiaanOlij!

Could you give a short status report on the skeleton hand support? I am working on a repository that should help VR developers getting startedand really want to include this feature. Any way i can support you in this?

@iambetterthanyou
Copy link

iambetterthanyou commented Mar 24, 2020 via email

@BastiaanOlij
Copy link
Member

BastiaanOlij commented Mar 25, 2020 via email

@BastiaanOlij
Copy link
Member

This is now being implemented in #84

@BastiaanOlij BastiaanOlij linked a pull request Mar 31, 2020 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants