We are working on a kinect project making some tests to see if we will use Nuitrack as the good solution.
We are looking to use face detection + skeleton together to make a complete animated avatar.
The project is made with Unity and use a Kinect Azure.
When I open the scene tutorial scene named Animated Emoji, it doesn’t work. I can see a crash in the console:
IndexOutOfRangeException: Index was outside the bounds of the array.
NuitrackSDK.Tutorials.FaceTracker.BlendshapeWeights.getJawOpenYRatio (UnityEngine.Vector2 points) (at Assets/NuitrackSDK/Tutorials/FaceTracker/BlendshapeWeights.cs:118)
NuitrackSDK.Tutorials.FaceTracker.BlendshapeWeights.GetJawOpen (nuitrack.Face face) (at Assets/NuitrackSDK/Tutorials/FaceTracker/BlendshapeWeights.cs:22)
NuitrackSDK.Tutorials.AnimatedEmoji.FaceAnimController.UpdateFace (nuitrack.Face face, NuitrackSDK.UserData+SkeletonData+Joint headJoint) (at Assets/NuitrackSDK/Tutorials/Animated Emoji/Final Assets/Scripts/FaceAnimController.cs:60)
NuitrackSDK.Tutorials.AnimatedEmoji.FaceAnimManager.Update () (at Assets/NuitrackSDK/Tutorials/Animated Emoji/Final Assets/Scripts/FaceAnimManager.cs:45)
It looks like the face detection (face landmark) is limited to 21 points, but the BlendshapeWeights script is waiting for 31 points, which gives the error IndexOutOfRangeException. Is there a solution to this problem ? Why is it apparently working in the online tutorial ?