Coder Social home page Coder Social logo

ivideogameboss / phoenixheadtracker Goto Github PK

View Code? Open in Web Editor NEW
142.0 3.0 15.0 712 KB

The Phoenix Head Tracker is a program that interfaces with Xreal Air glasses to capture and analyze sensor data. By detecting changes in the user's head yaw and pitch, this program can send this gyro data to Opentrack UDP or can control the computer mouse to look around in video games

Home Page: https://github.com/iVideoGameBoss/PhoenixHeadTracker

License: GNU General Public License v3.0

C# 100.00%
head-tracking nreal nreal-air opentrack video-game

phoenixheadtracker's People

Contributors

ivideogameboss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

phoenixheadtracker's Issues

Undesirable behavior where the raw values switch from negative max to positive max

Version 3.0.2.2

I think the track value calculation may need to be tweaked a bit.
Let's just look at the yaw values. If I reset the position at raw yaw of -160. To me, -160 is center, and let's say I only look between 30 degrees to my left and to my right. Looking left moves the raw yaw towards larger numbers so I go from -160 to -130, which is totally fine. However, if I look to the right, then at -180, the raw value switch to positive 180, and go down from there to 170. At that point where the values jump to positive, the track value jumps a lot as if I sudden snap my head to the left. There is no way to reset the raw positions, so this issue will remain no matter how much I hit the reset rotation button.

I think the calculation of track values should probably start with a translation of raw values by resetting where the 0 position is, and account for the negative 180 to positive 180 transition point. Then you apply the speed calculation.

I hope I am conveying the issue correctly.

Feature request: quick center.

Iā€™m not really sure how to implement this since the focus of the keyboard / joystick will be on the game, but it would be nice if there was a way to reset the center point with a button push after it drifts over time. The filters work great but ultimately I think the hardware will force resets after any long period. Right now, I have to pause the game, switch to Phoenix, then switch back to the game. Iā€™m playing Condor 2 through OpenTrack.

Ideally it would be a joystick button but specific keyboard combinations would work too.

Can't connect via HDMI

I'm attempting to connect to a desktop PC using a discrete graphics card over an HDMI port.

I have my XReal glasses connected to an HDMI->USB-C adapter, similar to the goFanco adapter referenced in the README. I can launch PhoenixHeadTracker and hit connect, and when I do it reports Connected... But roll/pitch/yaw all show zeroes.

If I connect via USB-C, I can get roll/pitch/yaw values, but no picture (the discrete graphics card isn't connected to the USB-C port).

[Feature request] Make it use any gyro available

I ordered my Nreal Air glasses exactly for this, before I knew your program existed already, just in hope that this would be possible one day! So thanks a lot!

I have not received them yet, but in the mean time, when playing MSFS2020 on a handheld device that has a gyro, I was able to use it as a freelook input. See it here in action: https://youtu.be/DtOXas-GK-0?t=147

While this works nicely, it uses some program from the handheld brand to convert the gyro data to cursor moves, and then some in-game options. I feel your program would be more generic and may not need the in-game settings. Even if it does, I'd still prefer using it over some closed-source software from the manufacturer.

What do you think about adding a way to select the device instead of hardcoded Nreal sensors?

[Enhancement] Linux Build

I want to be able to use this natively in Linux, since I do all my gaming on Linux these days.

Where did you get the DLL that you are using to receive the sensor data?

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.