Kinect for Unity V2 代码示例(二)
来源:互联网 发布:高晓松 三国 知乎 编辑:程序博客网 时间:2024/05/16 16:14
using UnityEngine;using System.Collections;using UnityEngine.UI;public class UseOverKinectManager : MonoBehaviour { public RawImage kinectImg; public Canvas canvas; public Image rightHand; public Image btn1;// Use this for initializationvoid Start () {}// Update is called once per framevoid 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("离开"); } } } }}}
0 0
- Kinect for Unity V2 代码示例(二)
- Kinect for Unity V2 代码示例(一)
- Kinect for Unity V2 代码示例(三) 手势控制
- kinect for Unity开发
- unity kinect 初始代码
- 【学习报告】尝试改写Kinect V2 示例代码时的问题
- Kinect for Windows SDK v2.0 开发笔记 (二)彩色帧获取
- Kinect for Windows V2.0 新特性
- Kinect for Unity检测身高方法
- Unity for kinect的开发教程
- Kinect v2 Examples with-SDK 提示 技巧和示例简介
- C# Kinect v2学习笔记(二) 体感器简单的操作
- 【Kinect开发笔记之(二)】Kinect for windows发展历程
- 【Kinect开发笔记之(二)】Kinect for windows发展历程
- Kinect V2开发(2)从Kinect获取数据
- Kinect V2开发(3)用OpenCV显示Kinect图像
- Kinect for Windows SDK v2.0 开发笔记 (一)环境
- Kinect for Windows V2 SDK+ VS2012 环境搭建
- 对象锁
- 仅180人的“屌丝公司”为什么做到年收150亿?
- 20160419运行apache2.4 丢失VCRUNTIME140.DLL的解决办法
- 继承AppCompatActivity取消标题栏的问题
- Laravel5.2中使用xheditor编辑器实现上传图片功能
- Kinect for Unity V2 代码示例(二)
- 数据结构绪论
- 威锋十年:叫一声「果粉」,你还敢答应吗?
- HDU 1253 胜利大逃亡 (BFS)
- 图像处理与机械视觉资源(整理详细,再也不用乱找了)
- 练习二 1002 Strange fuction
- Bzoj2301: [HAOI2011]Problem b:莫比乌斯反演
- 图像显著性研究
- JavaScript调试技巧之console.log()详解