unity kinect 初始代码

来源:互联网 发布:产业结构优化理论 编辑:程序博客网 时间:2024/06/05 15:49

using UnityEngine.UI;    

public class UseOverKinectManager : MonoBehaviour {        

  public RawImage kinectImg;       

 public Canvas canvas;      

  public Image rightHand;        

 public Image btn1;        

  // Use this for initialization      

 void StARt () {              }            

  // Update is called once per frame       

void Update () {          

 bool isInit = KinectManager.Instance.IsInitialized();  //检测设备可用          

 if (isInit) {                 // print("width = " + KinectManager.Instance.GetDepthImageWidth() + " height = " + KinectManager.Instance.GetDepthImageHeight()); //宽高                 

 //设备准备好了  可以读取了              

 if (kinectImg.texture == null)               {                   Texture2D kinectPic = KinectManager.Instance.GetUsersClrTex();  //从设备获取彩色数据                   // Texture2D kinectPic = KinectManager.Instance.GetUsersLblTex();  //获取深度数据量                   kinectImg.texture = kinectPic;  //把彩色数据给控件显示               }                  if (KinectManager.Instance.IsUserDetected())               {                   //检测到玩家                   long userId = KinectManager.Instance.GetPrimARyUserID();  //获取用户id                      int jointType = (int)KinectInterop.JointType.HandRight;                   if (KinectManager.Instance.IsJointTracked(userId,jointType))                   {           

            //关节点被追踪到                       Vector3 rightHandPos = KinectManager.Instance.GetJointKinectPosition(userId, jointType); 

 //1.获取关节点3D坐标                       Vector3 rightHandScreenPos = Camera.main.WorldToScreenPoint(rightHandPos); 

 //2.关节点坐标转换成屏幕坐标                       Vector2 rightHandSenPos = new Vector2(rightHandScreenPos.x, rightHandScreenPos.y);                      // print("x = " + rightHandScreenPos.x + " y = " + rightHandScreenPos.y);                       Vector2 rightHandUguiPos;                       if(RectTransformUtility.ScreenPointToLocalPointInRectangle((RectTransform)canvas.transform, rightHandSenPos, null,out rightHandUguiPos))                       {         

                  //表示右手在矩形范围内                           RectTransform rightRectTf =  rightHand.transform as RectTransform;                           rightRectTf.anchoredPosition = rightHandUguiPos;              

         }                          if (RectTransformUtility.RectangleContainsScreenPoint(btn1.rectTransform,rightHandSenPos,null))                       {                      

     //手在按钮1上悬停                        

  // print("手在按钮1上悬停");                           KinectInterop.HandState rightHandState = KinectManager.Instance.GetRightHandState(userId);                           if (rightHandState == KinectInterop.HandState.Closed)                           {                  

             //print("握拳选择了");                      

     }                 

      }                       else                       {                          // print("离开");                       }                                             }               }                                         }       }   }  


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 安利净水器滤芯盖搭配坏怎么办 安利会员卡过期了怎么办 婴儿吃了润唇膏怎么办? 用错沐浴露洗头怎么办 雅蜜润肤沐浴露怎么办 自煮小火锅水放少了怎么办 安利皇后锅发黑怎么办 宝宝灌肠后不拉屎怎么办 吃蛋白质粉肚子长胖了怎么办 安利产品过期了怎么办 拼多多拼不到人怎么办 被海南大宗骗了怎么办 手机被游戏扣钱怎么办 做酵素剩下的水果怎么办 喝了酵素胃疼怎么办 海科融通不到账怎么办 美团外卖没生意怎么办 淘宝联盟领券销售怎么办 微信返利被骗了怎么办 众筹失败后资金怎么办 健身房不给退卡怎么办 婆婆陷入民间传销组织怎么办 被三生公司骗了怎么办? ppt保存成了图片怎么办 苹果6速度变慢了怎么办 苹果6s速度很慢怎么办 微信支付上限了怎么办 佳享健康骗老人怎么办 宝宝吃了硅胶乳贴怎么办 用完卫生巾后阴部有些不舒服怎么办 指甲上有荧光剂怎么办 小孩吃了荧光剂怎么办 毛巾上有荧光剂怎么办 用过劣质面膜后怎么办 液体硅胶奶嘴煮完有味怎么办 后跟贴粘在鞋上怎么办 优化营商环境公安怎么办 提升营商环境公安怎么办 准予迁入证明过期了怎么办 粉底液容易脱妆怎么办 家人进了火疗传销怎么办