Kinect for Unity V2 代码示例(一)

来源:互联网 发布:高晓松 三国 知乎 编辑:程序博客网 时间:2024/05/23 18:53
using UnityEngine;using System.Collections;using UnityEngine.UI;public class UseKinectManager : MonoBehaviour {    public RawImage kinectImg;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {        bool isInit = KinectManager.Instance.IsInitialized();  //检测设备可用        if (isInit) {            //设备准备好了  可以读取了            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                Vector3 userPos = KinectManager.Instance.GetUserPosition(userId);  //获取用户离Kinect的距离信息                //print("x = " + userPos.x + " y = " + userPos.y + " z = " + userPos.z);                  int jointType = (int)KinectInterop.JointType.HandLeft;                if (KinectManager.Instance.IsJointTracked(userId,jointType))                {                    //关节点被追踪到                    Vector3 leftHandPos = KinectManager.Instance.GetJointKinectPosition(userId, jointType);                    //Vector3 leftHandPos = KinectManager.Instance.GetJointPosition(userId, jointType);  //y轴输出不一样                    // print("x = " + leftHandPos.x + " y = " + leftHandPos.y + " z = " + leftHandPos.z);                    KinectInterop.HandState leftHandState =  KinectManager.Instance.GetLeftHandState(userId); //获取左手姿势                    if (leftHandState == KinectInterop.HandState.Closed)                    {                        print("左手握拳");                    }else if (leftHandState == KinectInterop.HandState.Open)                    {                        print("左手张开");                    }else if (leftHandState == KinectInterop.HandState.Lasso)                    {                        print("yes手势");                    }                }            }                                }}}

1 0
原创粉丝点击