首先安装前置
在这个网址:https://developer.leapmotion.com/ (直连会比较慢)下载unity 插件
Ultraleap for Developers 这里下载驱动程序
安装完驱动程序后在右下角出现的新图标中打开这个驱动,摄像头已经能识别到骨骼(没有骨骼的话旋转一下摄像头)
把插件导入Unity中,打开实例场景可以看下整个SDK是如何运作的
这里简单介绍下关键方法
一,从无到有,让手动起来
两个关键脚本:Leap Service Provider(联动Leap Motion的脚本)
Capsule Hand(生成手的结构)
?这个是摄像头模式,如果你手的动作和预想不匹配(如手背手心反了)调整这个试试
创建一个空物体给绑上Capsule Hand会自动生成一个手模型,可以直接控制
二,与手联动
using Leap;
using Leap.Unity;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
public LeapServiceProvider leap;//从驱动获取数据
public Frame frame;//框架
public GameObject go;
[System.Obsolete]
private void Update()
{
frame = leap.CurrentFrame;//将驱动中的数据传给框架
//Debug.Log("pitch"+frame.Hands[0].Direction.Pitch);//从框架中获取手的数据
//Debug.Log("yaw" + frame.Hands[0].Direction.Yaw);//从框架中获取手的数据
Debug.Log("roll" + frame.Hands[0].Direction);//从框架中获取手的数据
go.transform.position =frame.Hands[0].PalmPosition.ToVector3();//将手的坐标转为unity物体坐标并赋值
}
}
更多互动方法可以在官方API查看
LeapHand — Leap Motion C++ SDK v3.2 documentation
参考文章:
Unity LeapMotion SDK 基础讲解_Maddie_Mo的博客-CSDN博客_leap motion sdk
leapmotion使用之一-如何用leapmotion代替鼠标简单操作_风云变色z的博客-CSDN博客_leapmotion leapmotion c语言开发,互动开发-(四)LeapMotion-Unity主要类_凯瑟琳大王的博客-CSDN博客
|