Leapmotion初次使用记录


前言

因为工作缘故,在最近这段时间接触了不少XR方面的硬件,例如Kinect、leap motion、RPLIDAR还有HoloLens2等。这篇文章记录一下我昨日对leap motion的初次使用经历。

一、leap motion是什么?

详细的介绍,大家可以前往百科或者WIKI上面查找,这里不多赘述;我个人的理解是,它更像是一个动作捕捉器,可以实现手部自由运动而不需要携带任何东西。不过它的感应范围也是比较小的,估计在半径50CM内

用处:桌面触屏应用开发、结合VR头显开发(可与HTC 头显等一起使用)

二、使用步骤

1.官网下载资料

链接如下,按顺序下载:
leapmotion关于window平台的SDK
适用于unity2019+的unity开发包
leap motion官网关于桌面应用的Demo下载

2.使用流程

  1. 下载SDK后,安装leap motion controller
    下载安装后出现三个应用
    打开leap motion控制面板,查看leap motion是否正常。这里楼主非常幸运,全部绿灯

leap motion控制面板展示

  1. 打开unity2019.4.4f1,新建项目,导入下载的unity模块
    三个unity package
    先导入Core再导入其他两个

  2. 查看交互示例,新建场景,从示例场景复制一些游戏物体,明白了实现物体交互的基本操作,写了一些简单代码,分别在悬停、触碰物体时触发;

unity场景结构
运行截图
cube的关键组件——InteractionBehaviour

直接将NewBehaviourScript 组件拖到cube下即可;代码如下 :

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Leap.Unity.Interaction;

/// <summary>
/// 
/// </summary>
public class NewBehaviourScript : MonoBehaviour
{
    // Start is called before the first frame update
    private void Start()
    {
        InteractionBehaviour behaviour = gameObject.GetComponent<InteractionBehaviour>();

        behaviour.OnContactBegin += OnMyContactBegin ;
        behaviour.OnHoverBegin += OnMyHoverBegin;
        behaviour.OnGraspBegin += OnMyGraspBegin;
       
    }



    public void OnMyHoverBegin()
    {
        // GUILayout.Button("光标悬停");
        print("光标悬停");
    }

    public void OnMyGraspBegin()
    {
        // GUILayout.Button("开始抓住");
        print("开始抓住");
    }

    public void OnMyContactBegin()
    {
        // GUILayout.Button("开始接触");
        print("开始接触");
    }

   


}


总结

花了一些时间,对leap motion有个初步的认识。由于具体项目还未规定使用leap motion,因此深入学习暂且往后放放。

猜你喜欢

转载自blog.csdn.net/xiaoLongww/article/details/118553410