玩玩Leap Motion和粒子效果
终于拿到期待已久的Leap Motion了,600多软妹币,比Kinect for Windows便宜多了!先洒一个图。
刚拿到就有写程序的冲动,Leap Motion可以精确定位人的手指,因此打算写一个用手指控制的粒子效果,下面一步一步来。
一、粒子系统
常有人问,初中高中学的那些物理有什么用?我现在知道了,那些物理知识可以用来写粒子效果!而且只需要了解基本的牛顿力学即可(牛顿三定律)。
描述一个物体(粒子)的运动和状态,需要哪些物理量?物体的质量,物体的空间坐标,物体的速度还有物体的加速度。因此我们创建一个粒子类,这个类中必须包含这4个成员变量。
也就是说,受力是通过改变物体的加速度来表现的,因此我们写下如下一组方法:
二、加入Leap Motion
LeapMotion的开发实在是太简单了,比Kinect的开发还要简单。SDK的细节大家可以去官网上看,我就说一下SDK可以拿到所有手指的位置,指尖的朝向,手指的运动速度,还有很多其他信息,不过对我们的这个小程序而言,这些就已经足够了。
更具官网上的教程,我们首先得定义一个类并继承于Leap::Listener类,同时实现这个类中的几个虚函数: