コード例 #1
0
    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);
            }
        }
    }