Giter Site home page Giter Site logo

rfsheffer / questhands Goto Github PK

View Code? Open in Web Editor NEW
112.0 20.0 22.0 18.79 MB

An Unreal Engine 4 plugin for the new Oculus Quest hands tracking. To tie us over till Oculus's official release.

License: MIT License

C++ 95.54% C# 4.31% C 0.14%
oculus quest unreal ue4 vr tracking

questhands's People

Contributors

rfsheffer 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

questhands's Issues

Returning from system dashboard causes laggy hands tracking

When entering the system dashboard via the system gesture and returning to the application the hands tracking is very laggy. Just the hands, not the game.

Steps to reproduce:

  • Enter the app
  • Do the system gesture to go to the system dashboard
  • Return to the game
  • The hands tracking is now laggy. The game is not laggy at all.

It is hard to tell what is happening here. It seems the SDK is just returning very delayed hand tracking data which might be a bug in the closed source dll for the version 12 SDK for unreal.

Error compiling using Mac

Hi Ryan,

I'm getting an error compiling the QuestHandsExample project on a Mac using the latest version of the Oculus UE4 branch (4.24.3). Everything compiles fine for me on Windows.

The specific error is below, and I'm wondering if you've seen anything like this before and can point me in the right direction:

Creating makefile for QuestHandsExample (.uproject file is newer)
While compiling /Users/admin/src/QuestHands/Intermediate/Build/BuildRules/QuestHandsExampleModuleRules.dll:
/Users/admin/src/QuestHands/Plugins/QuestHands/Source/QuestHands/QuestHands.Build.cs(1,1) : error CS1056: Unexpected character `›'
ERROR: Unable to compile source files.
The terminal process terminated with exit code: 5

Terminal will be reused by tasks, press any key to close it.

> Executing task in folder QuestHandsExample: Engine/Build/BatchFiles/Mac/Build.sh QuestHandsExample Mac Debug /Users/admin/src/QuestHands/QuestHandsExample.uproject -waitmutex <

Running bundled mono, version: Mono JIT compiler version 5.16.0.220 (2018-06/bb3ae37d71a Fri Nov 16 17:12:11 EST 2018)
Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe QuestHandsExample Mac Debug /Users/admin/src/QuestHands/QuestHandsExample.uproject -waitmutex
Using 'git status' to determine working set for adaptive non-unity build (/Users/admin/src/UnrealEngine).
Using 'git status' to determine working set for adaptive non-unity build (/Users/admin/src/QuestHands).
Creating makefile for QuestHandsExample (.uproject file is newer)
WARNING: QuestHandsExample is configured for nativization, but is missing the generated code plugin at "/Users/admin/src/QuestHands/Intermediate/Plugins/NativizedAssets/Mac/Game/NativizedAssets.uplugin". Make sure to cook Game data before attempting to build the Mac target. If data was cooked with nativization enabled, this can also mean there were no Blueprint assets that required conversion, in which case this warning can be safely ignored.
ERROR: OculusVR.uplugin is referenced via default plugins -> QuestHands.uplugin with a mismatched 'SupportedTargetPlatforms' field. This will cause problems in packaged builds, because the .uplugin file will not be staged. Launch the editor to update references from your project file, or update references from other plugins manually.
The terminal process terminated with exit code: 5

Does it work with 4.24.2?

Oculus just released a new UE4 version that supports the Quests V13, I am wondering does the plugin support the newest UE4 Oculus version?

Not working with 4.24.3

Thanks for the plugin! I am using Oculus branch 4.24.3 (https://github.com/Oculus-VR/UnrealEngine/tree/oculus-4.24.3-release-1.48.0-v16.0) and when I try to build the project, I get the following errors in QuestHandFunctions.cpp

Line 34:

return IOculusHMDModule::IsAvailable() && ovrp_GetInitialized();
<function-style-cast>': cannot convert from 'initializer list' to 'ovrp_GetInitialized

Line 66:

return OVRP_SUCCESS(ovrp_GetHandTrackingEnabled(&bResult)) && bResult;
<function-style-cast>': cannot convert from 'ovrpBool *' to 'ovrp_GetHandTrackingEnabled

Line 161:

if(OVRP_SUCCESS(ovrp_GetHandState(step, hand, &handState)))
<function-style-cast>': cannot convert from 'initializer list' to 'ovrp_GetHandState'

Line 291:

if(OVRP_SUCCESS(ovrp_GetSkeleton(hand, &skeleton)))
<function-style-cast>': cannot convert from 'initializer list' to 'ovrp_GetSkeleton'

Line 385:

return OVRP_SUCCESS(ovrp_SetVrApiPropertyInt(QuestHands::VRAPI_DYNAMIC_FOVEATION_ENABLED, enabled ? 1 : 0));
<function-style-cast>': cannot convert from 'initializer list' to 'ovrp_SetVrApiPropertyInt'

Can you please help?
Thanks!

Does this support multi-platform?

Does this plugin support multi- platform? can i try to dev apps for other devices, other than oculus quest. also, can this be implemented in VR projects only

Link method QuestHands tracking does not work after packaging

First of all thank you for the plugin.
Next is my question: using the Link method, VR preview in the editor mode, QuestHands tracking is normal, After packaging the Windows application and running, it still uses the Link method, and
QuestHands tracking does not work.
Is there a solution? thank you very much!

ResetOrientationAndPosition breaks hand tracking

Hello everyone,

after calling UHeadMountedDisplayFunctionLibrary::ResetOrientationAndPosition(yaw, EOrientPositionSelector::OrientationAndPosition); the hands will not track corretly anymore (they become very oddly shaped depending on the direction the user was looking in when performing the reset.)

I saw the LogQuestHands messages "BaseOffset not zero!" and "BaseOrientation not identity!" coming from the QuestHandsFunction.cpp

I tried working my way around resetting the Pawn's camera to the default position without using the ResetOrientationAndPosition but no success so far.

Is there a way to "repair" the hand tracking after having performed the reset? Maybe by compensating for the baseOffset and the baseRotation somewhere?

greetz
G4mble

Lagginess

When opening the application, the hands are around 1 fps or so. The only way to fix this is to restart the application. After a restart, they work as they should again. I tried to hide my hands, but the lag is constant.

A sidenote is that the mesh-update on the hands has the same time inbetween updates, always. There is always about 1.3 seconds inbetween, never over, never less. Might help with troubleshooting.

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.