//每帧记录标定
        public void UpdateTracking(float dt)
        {
            trackingTime   += dt;
            trackingMissCnt = 0;
            Dictionary <SkeletonType, Vector3> boneWorldPosDict         = new Dictionary <SkeletonType, Vector3> ();
            Dictionary <SkeletonType, Vector3> boneScreenPercentPosDict = new Dictionary <SkeletonType, Vector3> ();

            foreach (KeyValuePair <SkeletonType, int> kv in OrbbecUtils.jointToIntDict)
            {
                if (kv.Key != SkeletonType.Invalid)
                {
                    boneWorldPosDict.Add(kv.Key, OrbbecUtils.GetWorldPos(bindUser, kv.Key));
                    boneScreenPercentPosDict.Add(kv.Key, OrbbecUtils.GetScreenPercentPos(bindUser, kv.Key));
                }
            }
            _trackingBoneWorldPosDictList.Add(boneWorldPosDict);
            _trackingBoneScreenPercentPosDictList.Add(boneScreenPercentPosDict);

            if (boneWorldPosDict != null && boneWorldPosDict.ContainsKey(SkeletonType.Torso))
            {
                torsoPos = boneWorldPosDict [SkeletonType.Torso];
            }
        }
Example #2
0
 //得到当前的 镜像 转 正常 的骨架信息 世界坐标
 public Vector3 GetWorldPos(SkeletonType skeletonType)
 {
     return(OrbbecUtils.GetWorldPos(bindUser, skeletonType));
 }