Git Product home page Git Product logo

Comments (1)

goatchurchprime avatar goatchurchprime commented on July 17, 2024

I know this is not as useful as a finished pull-request to the library, but I am not confident enough to make one.

Here is my development at working out the pointer_pose function, as well as the fade-out and fade-in feature you get on the hand-tracking when the confidence level drops and you are in the default oculus system scene.

I found that it is best to put the hand model and pose laser pointer into a Spatial node that is a sibling of the ARVRController instead of as a child of the controller node. This is for two reasons:

First, the laser pointer transform is given relative to the ARVROrigin, not the ARVRController, because it appears really to work as 3DOF where it is close to the vector from the ARVRCamera to the CofG of the ARVRController/hand so that it does not deflect when you make, for example, a pinch gesture.

Second, during the fade-out when the confidence level drops you don't want the hand to continue moving, so being able to stop copying transform over from the ARVRController node to its sibling instead of trying to suppress the parent transform is a lot smoother to implement.

It turns out you have to have the confidence level high if you are using the hands for controlling a UI rather than playing a rubber hand game because otherwise you get a lot of mis-clicks and actions made that the player did not intend. It is much worse to click on a button by mistake than to fail to click on a button that you intended to. By disappearing the hands whenever the confidence drops (most commonly when they occlude one another) the player can very quickly be trained to keep their hands apart when doing work, which really improves the experience.

HandScript.zip

from godot_oculus_mobile.

Related Issues (20)

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.