SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Leap Motionではじめる
NUIプログラミング
森 博之(もり ひろゆき)
極東IT-Engineers / RIAアーキテクチャ研究会
自己紹介
• 森 博之(もり ひろゆき)
• MS開発技術を専門としたフリーランスエンジニア
• Microsoft MVP for Visual C#
• 極東IT-Engineers 代表
• ブログ:もり ひろゆきの日々是勉強
• http://moriblog.kit-eng.com
• Twitter
• Windows8対応[基本+実用]
Windowsストアアプリ開発入門 好評発売中!
Agenda
• Natural User Interface概要
• Leap Motion概要
• C#によるLeap Motionプログラミング
Natural User Interface概要
NUIって?
•Natural User Interface
• Computingにおけるユーザーインターフェースの中で自然
な・直感的な動作で操作可能な仕組みや方法は仕組みのこと。
• 人間の五感や人間が自然に行う動作による操作方法
• 主にIT関連のデザイナーや開発者で使われている用語
My First NUI
• Project Natal(のちのKINECT)
• Microsoft ResearchのNUI研究成果の1つ
• 2009年 6月
2010 International CESの基調講演で公開
KINECT for Windows
• 3つのセンサーとSDKを使ってユーザーの骨格・距
離・方向・音声・表情などを入力
その他のNUIデバイス
• Creative Interactive Gesture Camera DK
• ¥25,000程度
• Webカメラ・深度センサー・デュアルアレイマイク
• Intel Perceptual Computing SDKなどで開発
• Oculus Rift
• $300
• ヘッドマウントディスプレイを使った
VRゲーミングデバイス
現在、開発者向けSDKのみ
Leap Motion 概要
Leap Motionって?
• 手や指の動作を読み取ることができるデバイス
• ¥8,200.-(送料込み¥10,500.- 8/23現在)
• Windows / Mac OS X / Linux向けのSDKを利用して開
発
• Windows環境では以下の言語で開発可能
• C++
• C# / Visual Basic (.NET Framework)
• Java
• Python
• Objective-C
• JavaScript
付属ツール
• Control Panel
• Leap Motionの設定
• Airspace
• Leap Motionのホームアプリ
• Visualizer
• Leap Motionの識別情報を視覚化
• Airespace STORE
• Leap Motion対応アプリのストア
C#による
Leap Motionプログラミング
Leap Motionから取得できるデータ
• モーショントラッキング(動作追跡)
• センサーの視界領域にある手や指を追跡
• 具体的には・・・
• 視界内のすべての手の識別(Hands)
• 視界内のすべての指の識別(Fingers)
• 視界内のすべて指とその座標位置(Pointables)
• 視界内のツール(指より長い棒状のもの)(Tools)
• ジェスチャーの開始・終了または更新(Gestures)
Leap Motionで利用する主要クラス
• Controller
• Leap Motion自体の制御を行うクラス
• Listener
• ControllerからEventによって通知を受けるための仮想クラス
• Hand
• 手の識別情報が格納されるクラス
• Finger
• 指の識別情報が格納されるクラス
• Tool
• ツールの識別情報が格納されるクラス
• Gesture
• ジェスチャーの識別情報が格納されるクラス
Controller
• Leap Motionの制御や情報取得を行う
• Frame情報はこのクラスを用いて取得する
• 取得方法
• Pollingによる取得
• controller.Frameメソッドを利用
• 戻り値がFrameオブジェクト
• Callbackを受けて取得
• Listenerを登録し、Callbackを受ける
Listener
• デバイスの状態をListenするために利用
• メンバーのメソッドをoverrideして実装する
• 主要メンバー
• OnInit
• コントローラーの初期化を行ったときに呼び出される
• OnConnect
• Leap Motionの接続したときに呼び出される
• OnDisconnect
• コントローラーがLeap Motionとの接続を解除したときに
呼び出される
• OnExit
• リスナーがコントローラーから削除されたとき
• コントローラーそのものが破棄されたとき
• OnFrame
• 新しいFrameの取得が可能になったとき
Frame
• 主要プロパティ
• HandList
• 手の識別情報のコレクション
• PointableList
• Pointableの識別情報のコレクション
• FingerList
• 指の識別情報のコレクション
• ToolList
• ツールの識別情報のコレクション
• 主要メソッド
• Gestures()
• 戻り値が GestureList
(ジェスチャーのコレクションオブジェクト)
その他、「移動」や「回転」、「スケール(拡大・縮小)」といった
モーション情報も含まれる
Gesture
• ジェスチャーの識別情報を格納したクラス
• 4種類のジェスチャーを識別可能
• Circle 指で円を描く
• Swipe 指を直線的に移動させる
• Tap
• Key Taps 指やツールを下方向へ曲げて戻す
• Screen Taps 画面方向へ向けて前後する
参考:タッチエミュレーション
• Leap Motion SDKのサンプル
• Leap Motionを用いてTouchを識別する場合、仮想的
なタッチパネルが存在するように実装する。
• 指の移動状態から触れていない状態(Hovering)と触れてい
る状態(Touching)として、処理している
InteractionBoxクラス
• Leap Motionの可視領域上に下図のような箱状の
領域を設けて、取得したPointableListオブジェクト
をディスプレイの座標系に変換できる
まとめ
• Natural User Interface
• 人間の五感や人間が自然に行う動作による操作方法
• Leap Motion, KINECTなど手軽に入手ができるように
なった
• Leap Motion
• 手や指などの動作を識別することができる
入力デバイス
• Frameを用いて認識情報を取得する
ご清聴ありがとうございました
Thank you!

Contenu connexe

Plus de Hiroyuki Mori

2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi20212021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021Hiroyuki Mori
 
Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Hiroyuki Mori
 
開発者のためのUIデザイン入門
開発者のためのUIデザイン入門開発者のためのUIデザイン入門
開発者のためのUIデザイン入門Hiroyuki Mori
 
Uno Platform か Blazor
Uno Platform か BlazorUno Platform か Blazor
Uno Platform か BlazorHiroyuki Mori
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019Hiroyuki Mori
 
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきかHiroyuki Mori
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。Hiroyuki Mori
 
2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウドHiroyuki Mori
 
クライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upクライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upHiroyuki Mori
 
僕がやったXaml戦略
僕がやったXaml戦略僕がやったXaml戦略
僕がやったXaml戦略Hiroyuki Mori
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化Hiroyuki Mori
 
データバインディング徹底攻略
データバインディング徹底攻略データバインディング徹底攻略
データバインディング徹底攻略Hiroyuki Mori
 
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへWpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへHiroyuki Mori
 
Windowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルWindowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルHiroyuki Mori
 
それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。Hiroyuki Mori
 

Plus de Hiroyuki Mori (15)

2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi20212021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
2021 01-30 Visual Studio 2019 知っているか!?この機能 in BuriKaigi2021
 
Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!Visual Studio 2019 新機能を時間のかぎりできるだけ!
Visual Studio 2019 新機能を時間のかぎりできるだけ!
 
開発者のためのUIデザイン入門
開発者のためのUIデザイン入門開発者のためのUIデザイン入門
開発者のためのUIデザイン入門
 
Uno Platform か Blazor
Uno Platform か BlazorUno Platform か Blazor
Uno Platform か Blazor
 
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
.NET Core 3.0 で見る Client Apps #BuriKaigi #BuriKaigi2019
 
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか.NET開発者は、なぜクロスプラットフォームに取り組むべきか
.NET開発者は、なぜクロスプラットフォームに取り組むべきか
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。
 
2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド2014 07-19 はじめてのクラウド
2014 07-19 はじめてのクラウド
 
クライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-upクライアント技術から見たBuild2014 Wrap-up
クライアント技術から見たBuild2014 Wrap-up
 
僕がやったXaml戦略
僕がやったXaml戦略僕がやったXaml戦略
僕がやったXaml戦略
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
 
データバインディング徹底攻略
データバインディング徹底攻略データバインディング徹底攻略
データバインディング徹底攻略
 
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへWpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
Wpf・silverlightのアニメーションからwindowsストアアプリのアニメーションへ
 
Windowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクルWindowストアアプリ コントラクトとライフサイクル
Windowストアアプリ コントラクトとライフサイクル
 
それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。それではBehaviorでも使ってみましょうか。
それではBehaviorでも使ってみましょうか。
 

Dernier

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 

Dernier (10)

SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 

Leap MotionではじめるNUIプログラミング