rfsheffer / questhands Goto Github PK
View Code? Open in Web Editor NEWAn Unreal Engine 4 plugin for the new Oculus Quest hands tracking. To tie us over till Oculus's official release.
License: MIT License
An Unreal Engine 4 plugin for the new Oculus Quest hands tracking. To tie us over till Oculus's official release.
License: MIT License
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:
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.
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
Oculus just released a new UE4 version that supports the Quests V13, I am wondering does the plugin support the newest UE4 Oculus version?
So this works in 4.24
as described in the project file here:
QuestHands/QuestHandsExample.uproject
Line 3 in 01e40ef
But it doesn't appear to work in 4.26
?
According to semversion shouldn't 4.26
be backwards compatible with 4.24
? What's happening here?
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 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
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!
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
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.