一、插件

1、下载资源包,包括:Core为核心引擎,Interaction Engine为实现虚拟物体交互的插件,hands提供手势渲染等。

Ultraleap Plugin for Unity — Ultraleap for Developers (leapmotion.com)https://developer.leapmotion.com/unity

2、unity中导入

3、安装Magic Leap XR Plugin

4、准备完成

二、场景创建

1、在自己工程的场景需要添加以下,一个个说

位置如下

2、对于LeapHanController模块,其中的Hand Model Manager这样添,该拖的物体拖进来

这个脚本能选择使用的是AR还是电脑

3、 就这么简单,基本环境就搭建好了。

三、使用方法

1、创建一个脚本,挂载在场景里

using System.Collections;
using System.Collections.Generic;
using UnityEngine;//引用
using Leap;
using Leap.Unity;public class HandControl : MonoBehaviour
{LeapProvider provider;public HandModelBase leftHandModel;//左手public HandModelBase rightHandModel;//右手private const float rotate_sensitive = 1500f;  //旋转灵敏度private const float displacement_sensitive = 0.015f; //位移灵敏度private const float rotate_initial_value = 0f;  //旋转初始位置值float shake = 0;/// <summary>/// 判断条件  尽量勿动/// </summary>const float smallestVelocity = 0.1f;const float deltaVelocity = 0.000001f;const float deltaCloseFinger = 0.06f;void Start(){provider = FindObjectOfType<LeapProvider>() as LeapProvider;}void Update(){jjj();}public void jjj(){Frame frame = provider.CurrentFrame;foreach (Hand hand in frame.Hands){if (hand.IsLeft && !hand.IsRight){if (isOpenFullHand(hand)){//Debug.Log("检测到手啦");if (isMoveRight(hand)){shake += Time.deltaTime;//计手移动的时间if (shake > 0.8f){shake = 0;//时间大于*f后,时间置零,避免一直触发Debug.Log("左掌向右");}}}if (isCloseHand(hand)){if (isMoveRight(hand)){Debug.Log("左拳向右");}}}}}/// <summary>/// 定义手势的基础类型/// </summary>/// <param name="hand"></param>/// <returns></returns>protected bool isMoveRight(Hand hand)// 手划向右{return hand.PalmVelocity.x > deltaVelocity && !isStationary(hand);//x,y,z控制三维轴,±控制轴方向}protected bool isMoveLeft(Hand hand)   // 手划向左{//x轴移动的速度   deltaVelocity = 0.7f    isStationary (hand)  判断hand是否禁止 return hand.PalmVelocity.x < -deltaVelocity && !isStationary(hand);}protected bool isMoveup(Hand hand)   // 手划向上{//x轴移动的速度   deltaVelocity = 0.7f    isStationary (hand)  判断hand是否禁止 return hand.PalmVelocity.y < deltaVelocity && !isStationary(hand);}protected bool isMovedown(Hand hand)   // 手划向下{//x轴移动的速度   deltaVelocity = 0.7f    isStationary (hand)  判断hand是否禁止 return hand.PalmVelocity.y < -deltaVelocity && !isStationary(hand);}protected bool isStationary(Hand hand)// 固定不动的 {return hand.PalmVelocity.Magnitude < smallestVelocity;}protected bool isCloseHand(Hand hand)     //是否握拳 {List<Finger> listOfFingers = hand.Fingers;int count = 0;for (int f = 0; f < listOfFingers.Count; f++){ //循环遍历所有的手~~Finger finger = listOfFingers[f];if ((finger.TipPosition - hand.PalmPosition).Magnitude < deltaCloseFinger)    // Magnitude  向量的长度 。是(x*x+y*y+z*z)的平方根。    //float deltaCloseFinger = 0.05f;{count++;//  if (finger.Type == Finger.FingerType.TYPE_THUMB)//  Debug.Log ((finger.TipPosition - hand.PalmPosition).Magnitude);}}return (count == 5);}protected bool isOpenFullHand(Hand hand)         //手掌全展开~{//Debug.Log (hand.GrabStrength + " " + hand.PalmVelocity + " " + hand.PalmVelocity.Magnitude);return hand.GrabStrength == 0;}
}

其它手势基础,可以参考这个:

LeapMotion初步学习_alnh9788的博客-CSDN博客https://blog.csdn.net/alnh9788/article/details/101463386

LEAPMotion VR 各种手势的判断~_miccall的博客-CSDN博客_leapmotion 手势识别https://blog.csdn.net/qq_31411825/article/details/54773801Leapmotion 左右上下前后挥动手势设计,动态手势_moonlightpeng的博客-CSDN博客https://blog.csdn.net/moonlightpeng/article/details/80191468?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1.no_search_link&spm=1001.2101.3001.4242.2 判断每个手指的动作,参考这个:

unity + leapMotion 手势识别入门教程__Afra 的博客-CSDN博客_leapmotion手势识别https://blog.csdn.net/qq_39097425/article/details/84027730?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.essearch_pc_relevant&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-1.essearch_pc_relevant

2、就可以用了,Debug的一些语句就能触发了

3、 控制捏动作的脚本

这个圈圈判断是否捏住

4、抓取物体

在需要交互的物体上加上Rigidbody和Interaction Behaviour两个组件

LeapMotion在unity中保姆级使用教程相关推荐

  1. AutoGPT保姆级使用教程

    1. 介绍 Auto-GPT是一个基于ChatGPT的工具,他能帮你自动完成各种任务,比如写代码.写报告.做调研等等.使用它时,你只需要告诉他要扮演的角色和要实现的目标,然后他就会利用ChatGPT和 ...

  2. nnUNet保姆级使用教程!从环境配置到训练与推理(新手必看)

    文章目录 写在前面 nnUNet是什么? 一.配置虚拟环境 二.安装nnUNet框架 1.安装nnUNet 这一步我遇到的两个问题: 2.安装隐藏层hiddenlayer(可选) 三.数据集准备 nn ...

  3. Fiddler抓包工具保姆级使用教程(超详细)

    超文本传输协议(HTTP)是一个简单的请求-响应协议,其主要是基于TCP来实现的,可以通过Chrome开发者工具或者Wireshark或者Fiddler抓包,以便分析 HTTP 请求/响应的细节,本篇 ...

  4. Podman 保姆级使用教程,太顶了!

    作者:华龙飞.主要负责 Red Hat 产品与技术栈的培训交付,客户主要涉及金融.通信.汽车.医疗等行业.热爱并研究开源技术,熟悉 RHEL 各版本,SuSE Linux 各版本,热衷研究云原生与 D ...

  5. GitHub 从零开始的保姆级使用教程

    文章目录 前引 下载Git 安装Git 注册GitHub GitHub登录无响应解决办法 GitHub登录并创建公开仓库 Git的使用并得到密匙 Git与GitHub SSH关联 Git的使用并远程上 ...

  6. Web项目部署到云服务器中—保姆级教程

    文章目录 1.1工具准备 1.2安装JDK 1.3安装Tomcat 1.4安装MySql 1.5配置防火墙 1.6配置云服务器安全组 1.7Tomcat配置与启动 1.8补充知识 8.8.1如何将项目 ...

  7. Vue Grid Layout -️ 适用Vue.js的栅格布局系统(保姆级使用教程)

    目录 一. Vue Grid Layout 简介 二.vue-grid-layout 的安装与使用 三. 属性 3.1 gridItem 的必须属性 3.2 框架元素的实际宽度高度计算方式 3.3 元 ...

  8. 将uniAPP项目导入到微信开发者工具中保姆级教程

    什么是uniAPP? uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.Web(响应式).以及各种小程序(微信/支付宝/百度/头条/ ...

  9. 不用科学上网,免费的GPT-4 IDE工具Cursor保姆级使用教程

    Cursor官网下载地址 我下载的是window版的 操作特别简单,只需要记住两个快捷键就行: Windows 平台: Ctrl+K : 智能生成代码 Ctrl+L: 询问代码含义 Mac 平台: C ...

最新文章

  1. javax.mail API
  2. 【错误记录】Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )
  3. android中获取mac地址8.0,关于Android8.0以下手机获取蓝牙Mac地址的问题和扫描周围的手机蓝牙问题 下篇...
  4. Vue.js-Day02-PM【组件化开发(全局注册组件、局部注册组件、案例)、组件的配置选项、轮播图实例(左右切换按钮、底部导航栏、定时器、鼠标移入-图片静止)】
  5. QDoc清单文件示例
  6. python数学函数_「分享」关于Python整理的常用数学函数整理
  7. 语言nomogram校准曲线图_医学统计与R语言:Meta 回归作图(Meta regression Plot)
  8. 用Apache HttpClient实现URL重定向
  9. 专注企业市场 或是网盘危机的有效出路
  10. SDUT OJ 顺序表应用3:元素位置互换之移位算法
  11. 【转】Horspool字符串匹配算法
  12. 【摘录】模拟物流快递系统程序设计
  13. TS - 勉强入个门儿
  14. Wordpress搭载七牛云CDN图片不显示问题解决
  15. [高项]焦点小组VS名义小组技术VS引导式研讨会
  16. 推荐一个好的节拍器软件?3款App帮你成为节奏大师
  17. 查看联通GPON/4+1+WiFi(2.4G)光猫管理员密码的一种思路
  18. zookeeper-入门介绍架构使用(这一篇足以)
  19. 系统的软中断CPU使用率升高,我该怎么办?
  20. HCJ2:页面两栏式或三栏式布局

热门文章

  1. 正则表达式校验支付宝账号
  2. 黑马程序员 Java自学总结十六 网络编程
  3. NLP--中心性算法(Centrality Algorithms)总结【原理】
  4. Day2 Numerical simulation of optical wave propagation之标量衍射理论基本原理(二)
  5. javascript大作业《web课程设计》用html做一个期末作业网站,梅西足球体育网页,css
  6. 海啸受灾国在经济上躲过一劫【ZZ】--这就是以“经济”眼光关照tsunami的结论...
  7. AutoCAD 2007-2012 长度统计工具
  8. 关于Chrome浏览器总提示未安装flash player解决办法
  9. 2021省选退役游记
  10. Outlook2003数据备份的方法讲解