void OnSkeletonUpdate(SkeletonData skeletonData) { string json = Nuitrack.GetInstancesJson(); faceInfo = JsonUtility.FromJson <FaceInfo>(json.Replace("\"\"", "[]")); if (faceInfo.Instances.Length == 0) { return; } for (int i = 0; i < faceAnimControllers.Count; i++) { if (i < skeletonData.Skeletons.Length) { Skeleton skeleton = skeletonData.GetSkeletonByID(faceInfo.Instances[i].id); if (skeleton != null) { nuitrack.Joint headJoint = skeleton.GetJoint(JointType.Head); faceAnimControllers[i].gameObject.SetActive(headJoint.Confidence > 0.5f); faceAnimControllers[i].UpdateFace(faceInfo.Instances[i], headJoint); } } else { faceAnimControllers[i].gameObject.SetActive(false); } } }