Kinect やセンサーデバイスと連動した楽しいアプリ開発
-
Upload
satoshi-maemoto -
Category
Technology
-
view
889 -
download
2
Transcript of Kinect やセンサーデバイスと連動した楽しいアプリ開発
・会社ではセンサー&デバイス部長やってます!KINECT等のセンサーを使ったアプリ(イベントコンテンツ、画像処理、画像認識、医療ヘルスケア系)スマフォのARアプリなどを作っています。http://www.systemfriend.co.jp/kinect_nui https://youtu.be/ZSXwhj8HqkE
・TMCN (Tokyo MotionControl Network) Co-founder(共同創設者)https://www.facebook.com/TokyoMotioncontrolNetwork
・著書「Intel RealSense SDK センサープログラミング」https://www.shoeisha.co.jp/book/detail/9784798139630
・HoloMagicians – 日本初のホロレンズ開発者チームhttp://holomagicians.azurewebsites.net/
・Microsoft MVP for Windows Developmenthttps://mvp.microsoft.com/ja-jp/PublicProfile/5002154?fullName=Satoshi%20%20Maemoto
まえもと さとし
2
今日名刺を忘れてしまいました!Facebook 前本 知志
Twitter @peugeot106s16
https://www.facebook.com/TokyoMotioncontrolNetwork
https://www.facebook.com/HiroshimaMotionControlNetwork/
Unityと相性がよい
Kinect for Windows v2 SDKが公式にUnityプラグインを提供>> 簡単にKINECTを使えるプレファブ群>> サンプルシーンの提供
Visual Studio 2015 Tools for Unity>> Visual Studioでデバッグが可能>> UnityのGameObject用コード補完
リアルとバーチャルをシンクロしたくなるよね
KINECTのリアル位置とUnity内のカメラ位置、角度、視点を合わせる
カメラ映像とのシンクロを取る
<三種の神器>• メジャー• 養生テープ• 三角関数
3Dモデルを操りたくなるよね
骨格情報をリアルタイムに3Dモデルに反映してみると…
このコンテンツは、『ユニティちゃんライセンス』で提供されています。
エアーシンセ
一緒に踊ってエアーで音を鳴らすアプリ(単純)http://www.systemfriend.co.jp/airsynth
ユニティちゃんと踊れる!抱っこだってできる!
2015/08/28
CEDEC 2015
https://youtu.be/ZSXwhj8HqkE
GPUでの処理 – UnityでShaderを書く
基本的にはこんなに簡単
if (KINECTのDepth<CGのZバッファ)
{return KINECTのColor;
}
else
{return CGのピクセル
}
CGのZバッファ(_CameraDepthTexture)からはスクリーン座標をキーにしてアクセスします。詳しくは調べてみてください^^
だが言うは易し…
発生する課題
スムーズな体験をするためには秒間30フレームを下回らない処理スピードを保持する
メインメモリ→GPU転送は低速だが、下記は転送しなければならない
1. RGBカラー映像(1920x1080 Full-Color Full-HD)
2. KINECTのDepthデータ(512×424)
3. RGBとDepthのマッピングデータ(1920x1080 )
Zバッファに書き込みをしないshaderを使っているオブジェクトやパーティクルは表示されなくなる
だが言うは易し…
「きゃらみらー」では、、
メインメモリ→GPUへのデータ転送を数フレームに渡って分割したり、送る頻度を展示中でもリアルタイムに調整できる→少々送るのがずれても体験として気にならないものを見極め、この処理の対象とする
パーティクルについては専用の表示レイヤーを設けて表示されるようにしている。その代わりパーティクルについてはMRでなくAR表示となるがあまり気にならない感じ
AR : Augumented Reality
現実世界の上に仮想世界(CG)を上書きする。
現実世界の映像上にCGを重ね合わせる。
映像の表示優先度は常に 現実世界<CG
Screen
High layer
VR : Virtual Reality
現実世界からの情報を100%カットし、仮想世界(CG)に没入する。現実世界の映像、自分の手などの物体をセンシングして融合する場合もCGオブジェクトとしてそれらが登場する。
映像の表示比率は常に 現実世界:CG = 0:100
Screen
Separate
CG World
Include
HTC VIVE やばい。。
https://youtu.be/40Xogw0mg4Q?t=14m3s
VRとポジショントラッキングが合わさるとすごい
複合現実
(ふくごうげんじつ、英: Mixed Reality、MR)とは、現実空間と仮想空間を混合し、現実のモノと仮想的なモノがリアルタイムで影響しあう新たな空間を構築する技術全般を指す。複合現実感とも。拡張現実と拡張仮想を包含する概念である。
空間的整合性、時間的整合性、光学的整合性など実空間と合致させる要素によって、その性質が評価される。
Wikipediaより
MR : Mixed Reality
現実世界と仮想世界(CG)を融合する。
融合結果の前後関係を反映した状態の映像が創り出される。
MRを実現するためには現実世界の3Dスキャンが必要となる。
Screen+
MR World
CG WorldReal World
知っておくと頭が良さそうに思われる?表
日本語名 見分けるポイント 必要な処理能力
AR(エイアール) 拡張現実 カメラ映像で現実世界が見えるCGに自分の手をかざすと絶対手より前にCGが表示される
低
VR(ブイアール) 仮想現実 宇宙とか体内とか女の子の部屋とか、ありえない場所に放り込まれる振り向くとゾンビがいる
中~高
MR(エムアール) 複合現実 カメラ映像または普通に眼鏡越しで現実世界が見えるCGに自分の手をかざすと手より前のCGは見えるし、手より奥のCGは手に隠れる
中~高
最低限必要なもの
Visual Studio 2015 Update 3
Universal Windows App Development Tool- Tools (1.4) and Windows 10 SDK (10.0.10586) を選択
https://developer.microsoft.com/en-us/windows/downloads
Unity HoloLens Technical PreviewUnity5.4.0f3のHoloLens開発用特別版https://unity3d.com/jp/partners/microsoft/hololens
Unityちゃん3Dモデルデータhttp://unity-chan.com/
超便利なツールキットHoloToolkit-Unity
ジェスチャー入力や、空間マッピングなどなど豊富な機能を備
えたUnityプロジェクト
HoloLens開発をサポートしてくれるエディタ拡張もある
かなりアクティブに更新されてる
もちろんオープンソースなので、困ったときに読み込むと結構
答えがあったりする。
https://github.com/Microsoft/HoloToolkit-Unity/
Unityプロジェクトとシーンの設定
HoloToolkit-Unityのエディタ拡張でHoloToolkitメニューが現れる
Apply HoloLens Project Settings でプロジェクト設定がいいかんじに
Apply HoloLens Scene Settings でシーン設定(カメラなど)がいい感じに
https://developer.microsoft.com/en-us/windows/holographic/unity_development_overview
手動設定はめんどくさい
まとめ
KINECTやHoloLensのアプリはUnityでつくれる
Unityを使えば現実空間とCGをミックスした楽しいコンテンツが作れる
HoloLensのアプリはUnityからWindows Store(UWP)プロジェクトを書き出す流れで実機へデプロイする
HoloLensのアプリをつくるには以下の3つのスキルがいりそうです。1. Unityをつかえる2. 現実空間とVR空間のことがわかる3. Windows Store(UWP)アプリが作れる(凝り始めると必須)
https://github.com/SystemFriend/HoloLensUnityChan/
ソースコードはこちら