tks_yoshinagaの日記

KinectやLeap motion, VRやARなどの技術を使ってやったことのメモとか

【再掲】 LeapMotionを使ってAR(Augmented Reality)やその他諸々をやってみた

ARに関するAdvent Calendar用の内容としてはちょうど良さそうなので昨年書いた記事を再掲。
LEAP motionを用いたARシステムを作る上での参考になれば幸いです。

以下、本文

2013年7月にLeapMotionが手元に届き、一通り遊んでみたので振り返りもかねて紹介します。

まず、開発に用いた言語やライブラリは以下の通りです。

・開発言語:C#
・グラフィクス:OpenGL (OpenTK使用)
・カメラ画像取得:DirectShow.NET
・ARマーカの認識: NyARToolKit for C#
・物理演算:BulletSharp
・その他センサ:Kinect for Windows

 
7/24
オーダーから約1年近く待ってようやくLeapMotionが手元に。とりあえず付属のアプリで遊んでみた。第一印象としては「応答が早い」。


LEAP Motion SampleApp - YouTube

 

7/25
早速プログラムを組んでみる。この時点では仮想空間に指の軌跡を表示するだけ。SDKが使い易かったのでここはすんなりクリア。


LEAP motion App (C# + OpenGL) - YouTube

7/25
そのままの勢いでAR表示にもトライ。初見の人には2D平面上に線を描いているだけに見えたようで、最後の方でARマーカの動きを動かしたことによって3次元的な軌跡だと分かってもらえた。
この動画はコツコツupしてきた研究紹介の動画よりもはるかにアクセス数が多く、嬉しいやら悲しいやら。。。


LEAP motion App (AR: Augmented Reality) - YouTube


7/28
LeapMotionを利用するうちに「計測可能な範囲を目視で確認したい」と思ってやってみたのがこれ。ただし、全領域で手を動かすのは大変だったので前半分のみ。


LEAP motion: Visualization of tracking area - YouTube


8/2
LeapMotionを2個購入していたのでこれらを連動したコンテンツも作ってみました。これは2つのPC間をWebsocketで通信し、仮想空間内の3Dオブジェクト(球体)を双方で共有するといったものになります。遠隔地での共同作業なんかで使ってみたいなと考えています。


LEAP motion : 3D space sharing via websocket server - YouTube


8/7
Kinectとの併用も試みました。LeapMotionは指の位置の取得、Kinectは距離画像を取得してCGと実物体との前後関係を認識するのに利用。CGの動きが指の動きより大きいのは座標をスケーリングをかけているため。
なお、この動画と7/25の指クルクル動画はAugmented Reality Barcelonaで紹介していただきました。[File]


LEAP motion meets KINECT - YouTube

10/1
CGとのインタラクションもやってみたくなって物理演算ライブラリのBulletSharpを導入。指先とCGがぶつかるとブロックが崩れていきます。


BulletSharp + LEAP motion + Augmented Reality(AR) - YouTube

10/29
どうせ指差しをしているならソレらしいコンテンツも考えようと思って作ってみたのがARシューティング。指先から弾が飛んで壁に当たった時はかなりテンションが上がったのを覚えています。
ちなみに、これまでは指先の「座標」しか使用していませんでしたが、このコンテンツでは指の「向き」も銃弾が飛んでいく方向を決定するために使用しています。もちろんこれもSDKで簡単に取得できます。


AR Shooting using LEAP motion and bio-signal sensor - YouTube

10/31
前作の1人称視点バージョン。自分の視点と画面内の視点が一致しているのでかなり遊びやすくなった。この作品はSC13のResearchExhibitでの展示(@VR Study Meeting booth)の際に人目を引くためのデモにも使用し、来場者から"cool!","Incredible!"のコメントをいただけて大好評でした。もちろん研究紹介もちゃんとしました。


AR shooting using LEAP and EMG sensor (FPS ver.) - YouTube

11/2
教育にも使えそうとの声があったので試作。原子のところに指を持っていくと原子の情報が表示されたり、両手を動かすと分子のスケールが変わったりします。もうちょっと見せ方や操作方法を工夫したいところ。


Educational use of LEAP motion and AR technology - YouTube



こうやって振り返ってみるとLeapMotionで色々と試せたなと思います。
またYouTubeで公開することで様々な国の方に興味を持ってもらい、問い合わせに答えながら交流ができたのもなかなか楽しかったです。

※2014年1月7日にさくらのブログに投稿した記事を転載。