プログラムを書かずに試せる! 「Leap Motion」+「Unity」のアプリケーション開発雰囲気をプログラミングなしに体験

「Leap Motion」でアプリケーションを開発するには、いくつかの方法があります。ここではその中から「Unity」というゲームエンジンを使ってアプリケーションを開発する方法について紹介します。

» 2015年02月09日 10時00分 公開
[中村薫PR/ITmedia]
PR
このエントリーをはてなブックマークに追加

Unityで作るLeap Motionアプリケーション

 手や指の検出に特化したセンサーとして注目されている「Leap Motion」。そのLeap Motionでアプリケーションを開発するには、いくつかの方法があります。ここではその中で「Unity」というゲームエンジンを使ってアプリケーションを開発します。Unityは主に3Dのゲームを開発するためのゲームエンジン(開発環境)ですが、最近では2Dゲームへの対応や、ゲーム以外のアプリケーションへの利用が増えています。

 Leap MotionをUnityで利用するパッケージは、こちらで提供されています(下にスクロールすると、Oculus Riftと組み合わせて使うパッケージも提供されています)。

 Unityには有償のProと無償のFreeがあります。Leap MotionのUnity対応ソフトウェアもPro用のUnityパッケージ(unitypackageファイル)とFree用(圧縮されたプロジェクトファイル)の両方が用意されています。注意点としては、Free版のLeap Motion対応ソフトウェアはWindowsのみとなっています。本稿ではUnity Proを使って解説を進めますが、操作はUnity Freeも同じです。

Leap MotionのUnityパッケージ

 Unityで新しいプロジェクトを作成し、Unityパッケージ(LeapMotionCoreAssets2_2_2.unitypackage)をインポートします。AssetsフォルダにLeap Motion用のフォルダができるので、その中の「Asset → LeapMotion → Scenes」にあるサンプルのシーンを開きます。どれでもよいですが、ここでは「CubeWave」を開きます。

パッケージをインポートしてサンプルシーンを開く

 するとシーンに配置されているオブジェクトを表すHierarchyビューにいくつかのオブジェクトが表示されます。この状態でLeap Motionをコンピュータに接続し、シーンを実行します。

 Leap Motionに手をかざすとGameビューに手が現れ、画面内のオブジェクトが波打つように動きます。

サンプルのシーンを実行する

 Leap MotionのUnityパッケージは非常に扱いやすくできており、ほぼすべての機能がHandControllerに集約されています。HandControllerはサンプルシーンのHierarchyビューにあるもので、独自のアプリケーションに組み込む場合には「Asset → LeapMotion → Prefabs」から利用します。

 手のモデル(見た目)や、手の物理モデル(動き)を変えられるようになっています。手のモデルは大きく2種類あり、人の手のモデルが「Asset → LeapMotion → Prefabs → HandModelsHuman」に、人以外(ロボットなど)の手のモデルが「Asset → LeapMotion → Prefabs → HandModelsNonhuman」にあり、いくつかの種類が用意されています。使いたいモデルをHierarchyビューに移動し、HandControllerの「Left(Right) Hand Graphics Model」に設定します。

 手の物理モデルは「Asset → LeapMotion → Prefabs → HandModelsPhysical」にあり、手のひらのみを扱うRigidHandと、手と腕までを扱うRigidFullHandの2種類があります。こちらもHierarchyビューに移動し、HandControllerの「Left(Right) Hand Physics Model」に設定します。これでLeap Motion側の設定は完了です。

 Leap Motionの手のモデルに対して作用するオブジェクトは、Cubeなどを配置して物理エンジン(Rigidbody)を設定します。これでLeap Motionの手に当たるとオブジェクトが動くようになります。

 Leap Motionは、あらゆる可能性を秘めているデバイスです、さまざまな場面で商業利用が検討されています。その1つが空中ディスプレイへの入力デバイスです。

Leap Motionのジェスチャー認識機能を使った空中ディスプレイ「AI PLATE」

 アスカネットが開発しているAIプレートと呼ばれる「空中に結像する」技術への入力手段としてLeap Motionを利用しています。AIプレートとLeap Motionを組み合わせることで、「何もない空間」に「像を表示」し「それを操作する」という世界を実現できます。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:BBソフトサービス株式会社
アイティメディア営業企画/制作:ITmedia PC USER 編集部/掲載内容有効期限:2015年2月22日