Unity leapmotion开发实录(1)
本系列文章将会从一个初学者的脚步去讲解unity和leapmotion协同开发的一系列问题:
特:本人水平有限所以有错误请指正
本人也会引用一些代码 如果有所侵犯请联系删除自2015.11.22开始周更
第一部分基-基础
首先,关于leapmotion 我想会看此类文章的应该都知道这是什么,无关将来这个产品的发展会如何,它作为虚拟现实或现实增强开发的练手是非常合适的。因为他有着非常舒适的开发环境,简单而成熟的SDK。最最重要的是结合unity/unreal,更是一种让你能在短时间之内通过引擎完成高质量手势识别应用的方法。
关于原理,和底层算法,因为代码封装完善,你根本不可能窥探到什么(当然肯定有人可以)。所以我的评价仅仅从实际效果出发先对leapmotion做出一个评价。
下图为leapmotion传感器的识别区域:
我们可以看到在y轴也就是高度上 leapmotion的识别距离真的是小的可怜(根据我实际测试不会超过50cm)也就是说如果不和其他硬件搭配
leapmotion的使用范围很窄
单单的桌面使用的话,基本没有什么实用价值原因有二:
1.桌面使用场景下,手势识别很累低效
2.leap仅仅依靠景深画面和算法得出的手势识别精度高,但是精确度差。也就是说可以识别你手势动作很微小的变化,但是对这些变化的呈现又表现出很大的偏差。
在和oculus dk2结合之后,leapmotion的实用性总算提高了一些,但是效果仍然不理想。
因此,后续leap在不推出新硬件的条件下,我十分不看好这个传感器的发展,未来的leap,要么被OVR等厂家收购,要么倒闭。
ok 有点跑题,绕回来。虽然他这不好那不好,但这是我们在市场上能获取到的最优秀的性价比最高的手势识别设备。以他和oculus来学习虚拟现实开发,是最合适不过的了
那废话说够了,开始吧
first 基础
准备阶段:
https://developer.leapmotion.com/getting-started/unity
当然是download everything___
准备工具包括:
unity(最好5.0以上版本)
http://unity3d.com/cn/get-unity/download
leapmotion应用&SDK
https://developer.leapmotion.com/
leapmotion unity core asset
https://developer.leapmotion.com/downloads/unity
(有朋友反应找不到leap core asset2.3下载地址在这里)
以上下载完毕之后接入leap使用visualizer检视和利用控制面板校准的过程我就不再赘述了,都有详细的引导。
那么既然是unity开发,c#自然是非常合适的了。所以对于刚刚接触unity的同学。了解unity的构成,以及c#脚本语言是非常重要的。
但是相比起来c#脚本教学可就多了去了,因此我只是做归纳总结。不作深入探究
下面我们简单的从leap的视角来看看unity/c#的一些特性:
头文件篇:
using UnityEngine;
using System.Collections;
using System;
using Leap;
命名空间类似其他语言中的库,所有脚本代码都要写在命名空间的类中。命名空间leap就是整个leapmotion脚本运作的核心。但是这和传统的c#有一些不同,例如在vs环境中的c#新建后
会产生以下引用:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
从两段引用中我们也可以看出,c#语言在库上和某些早期的语言思路不太一致。至于详细的应用我们会在以后的更新中完整的介绍
正式代码篇:
unity:
public class NewBehaviourScript : MonoBehaviour {
//初始化函数,在游戏开始时系统自动调用。一般用来创建变量之类的东西