I few weeks ago, I was fortunate enough to get ahold of a developer version of the soon-to-be-released LEAP Motion Controller. If you haven’t read up about it yet, you could probably just think of it as a Kinect-like device that sits on your desktop and points upwards. It has very small footprint as you can see from the photos and runs at a fast clip. It is able to give you fingertip and hand position data at up to 120fps, though for my needs 60fps was fine. The lag is minimal and the makers herald it as having sub-millimeter accuracy.
Since this device is still being developed and isn’t ready for the masses just yet, I will hold off on any formal review of its capabilities. The developers are very good about releasing regular updates and each one of these updates usually ends up addressing a concern or request from the testers.
I have started making a handful of different demo apps, but I am only featuring two here for now. The first is LEAP Flocking.
Those familiar with my work know me to be fond of flocking simulations. The first thing I did when I got the device is to dust off some old fish bait-ball code. I optimized it further by pushing the work load to the GPU which allowed me to go from approximately 500 fish to around 5000 and still hold at a steady 60fps on my laptop. The LEAP version of this code assigns a point of interest to each of the finger-tips that the LEAP device detects. If your movements are slow, the fish will be drawn to these glowing tips. Move your fingers too quickly, and the fish become frightened.
The second demo app is called LEAP Gravitation. My main goal for this app was to showcase the accuracy of the LEAP finger-tip and palm data. The LEAP provides a great deal of information about what it sees that will allow you to reconstruct a hand skeleton with relative ease. By knowing the finger-tip position and direction along with the palm position and orientation, you can easily reconstruct a representation of the hand.
Once I had the hand working, I decided to exploit one of the early extras which was added to the SDK. You can now query the position and radius of a sphere that would fit in your hand just touching the palm and finger-tips. When you put your hand into view of the LEAP and you curl your fingers a bit, you create a small sphere that has a low gravitational influence. If you straighten your fingers, the sphere gets larger and its gravitational influence increases. Floating throughout the space are hundreds of smaller balls. They are drawn to the sphere in your hand. The longer your hand stays in view of the LEAP, the more spherical particles will attach themselves to you.
Here is a short reel which showcases these two demo apps. I hope to add a few more examples in the coming weeks. Special thanks to the friendly people at LEAP for getting me early access to one of the developer devices. Additional thanks to theStark for granting me permission to use a snippet of a track off his album, QUADRATIC (available for download at theStark.com).