Hand tracking through the Vive cameras is a great idea and it looks like a great start. I'm not having much success with it, though. I can see it's detecting some of the time, but for the most part my hands are exploding :/
What I've done so far is to download the SDK and examples, then added them to a new project with the latest SteamVR API in it. I'm using Unity 2017.4.23, the latest SteamVR API (v.2.2.0), the latest Hand Tracking SDK and SteamVR
When I hit play in Unity, there were a couple of issues. I've posted the solutions here incase other people hit the same thing. Just simple null ref checking..
Let's start there.. error 1 was:
NullReferenceException: Object reference not set to an instance of an object Draw.OnEnable () (at Assets/Aristo/Sample/Scripts/Draw.cs:42)
To fix, open up Draw.cs and add this to the top of that OnEnable function:
if (Camera == null)return;
The 2nd error would then occur when my hands went in front of the camera. That is:
NullReferenceException: Object reference not set to an instance of an object Grab.SetColor (Nullable`1 moving) (at Assets/Aristo/Sample/Scripts/Grab.cs:94) Grab.OnTriggerExit (UnityEngine.Collider other) (at Assets/Aristo/Sample/Scripts/Grab.cs:56)
To fix this one, a couple of null checks. Add these to the start of that SetColor script in Grab.cs:
if (target == null)return;if (target.GetComponent<Renderer>() == null)return;
OK, on to the tracking.. I wondered if this was an issue with SteamVR and the camera. I noticed in the docs that it says "Camera API in SteamVR is not as stable as other APIs, therefore you may encounter different problems when using Vive Hand Tracking SDK." - is there any alternative API to use with the Vive Pro for this, or are we stuck with the 'unstable' Steam VR?
It's not really usable for me at the moment, as the hands are jumping around all the time and it never recognizes the 'pick up object' gesture / pinch. Is there anything I can do to improve this, or is this as good as it's going to get with the SteamVR API?
Thanks for any advice / help you have on making it play nice. I hope we can get this working nicely with the Vive Pro because it'd be an awesome addition :)