handzlikchris / Unity.QuestRemoteHandTracking

Oculus Quest hand tracking directly in Unity Editor for fast iteration.
MIT License
137 stars 19 forks source link

Thank you for providing this but would you mind eyeballing the readme and fixing up a step or two please? #11

Open lfrohling opened 2 years ago

lfrohling commented 2 years ago

I've spent the better part of the day trying to get Hand Tracking working so I was overjoyed to stumble across your github (referenced from: https://forums.oculusvr.com/t5/Oculus-Quest-2-and-Quest/Oculus-Link-does-not-support-hand-tracking/td-p/750569). Unfortunately it seems your Readme seems to be missing a step or two... normally I could try and work around them by guessing (and I've guessed a few things so far) but there's now no way forward without clarity and I was hoping you could help :)

On the "Assign Scene Dependencies" step it says "You'll need to add Hands game object reference to Feeder objects" from the directory "feeders". Unfortunately "feeders" directory doesn't exist in the Project window and the files mentioned in this step also don't really exist in the project window either.

However, I think I got it- you were talking about the child of OVRHandsDataTransmission in the hierarchy not the Project (which was my assumption at the time (as the previous step seemed to infer the next steps would need to take place in the same area)- is that right?... But that opens up a new problem... when the readme says I'll "need to add Hands game object reference to Feeder objects"- it seems an impossible task to do. For one thing they're already assigned in the hierarchy with all 3 showing the same error message "The associated script can not be loaded" etc. And another thing if I were to remove the script links (refresh them so to speak) from (what I'm thinking is) where the scripts are stored in the Customisations directory- I'd be unable to add them as I get an error message ("script class cannot be found etc")... It's the same error message if I try to attach those scripts to any game object, whether I create them or they already existed...

If I were to "skip" this step to see if "If hands on screen are flickering" by booting up my Quest 2, attaching a link cable, and hitting play Unity wouldn't enter a play state as there is a red compilation error ("OVRPlugin.BoneCapsule doesn't contain a definition") so I'm stuck :(

I'd really love to get your project working :) I'm using Unity version 20.20.3.21f1 so I don't even know if it's compatible but I'm hoping it will be.

Oh and one more thing I wasn't sure where to add the Hand prefabs so I guessed I should make the left one a child object of the LeftHandAnchor object and the right one of the RightHandAnchor...? I hope I got that right. That being said it was very helpful that you mentioned I should ensure it was set to an Android build (if you can't find tracking) - so many tutes on the internet skip this vital step (including Oculus: https://developer.oculus.com/documentation/unity/unity-handtracking/)

Thank you again :) Luke

handzlikchris commented 2 years ago

Hi Luke,

Thanks for getting in touch - I'm surprised this one still gets hits after Oculus integrated hand-tracking data in editor via link (at least last time I checked).

The feeders that you're after are game objects, they are on OVRHandsDataTransmission prefab and SampleFrameworkHandsDataTransmission prefab.

I think the other issue which will be a showstopper are compile time errors you have. The asset was working with Oculus Integration v12, now they are on v33. Looks like the API was changed and stuff like Hands.cs no longer exists.

If you want to bring it back you'd have to work out how which component is driving hand movement and hack into that process to override it. That's more or less everything that the tool was doing - probably easier to write your own.

Sorry couldn't be more help - hope you'll find what your after.

Thanks, Chris