はじめに
指の動きをキャプチャーしたい欲求があり、初めはたくさん持っているKinectでやろうと思ったのですが、いろいろハードルが高そうだったのでやめました。
http://cvrlcode.ics.forth.gr/handtracking/
ということで、遅ればせながらLeapMotionで指の検出をやってみることにしました。
プラットフォームは時代遅れのXNAです。
V1
最初はV1で試したのですが、思ったより全然だめでした。
センサーが下にあるので、いわゆる握手のような形状をキャプチャーしようとすると、指同士が重なってうまく検出されません。
当然といえば当然ですが……。
V2
KinectみたいにIKを入れたらいいんじゃないかと思っていたら、そんなV2が出ました。
https://developer.leapmotion.com/
Skeltal Trackingというものです。
上のリンク先にいくつかデモがあるのですが、V1から比べると雲泥の差です。
というわけで、これをXNAに組み込んでみました。
XNAに適用
公式にはUnity/C#という扱いです。XNA……。
でも座標系はそのままXNAに適用できます。
使い方も同じです。
最近のSDKはとっても簡単ですね。
まずは座標だけ取り込んでみました。
ソースコード:
https://github.com/yhirano-/STFW/blob/master/SLLeap/SLLeap.cs