Upload
satoshi-maemoto
View
498
Download
0
Embed Size (px)
Citation preview
・会社ではセンサー&デバイス部長やってます!KINECTはHoloLens等のセンサーデバイスを使ったアプリ(イベントコンテンツ、画像処理、画像認識、医療系)ARアプリ、VRアプリ、MixedRealityアプリなどを作っています。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
https://www.facebook.com/TokyoMotioncontrolNetwork
ユニティちゃんと踊れる!抱っこだってできる!
2015/08/28
CEDEC 2015
https://youtu.be/ZSXwhj8HqkE
リアルとバーチャルのカメラをシンクロさせる
KINECTのリアル設置位置とUnity内のカメラ位置、角度、視点を合わせる
KINECTのリアルカメラ映像とのシンクロを取る
<三種の神器>• メジャー• 養生テープ• 三角関数
3Dモデルを操る(オプション)
KINECTで取得した骨格情報をリアルタイムに3Dモデルのリグに反映してみると…
このコンテンツは、『ユニティちゃんライセンス』で提供されています。
GPUでの処理 – UnityでShaderを書く
基本的にはこんなに簡単
if (KINECTのDepth<CGのZバッファ)
{return KINECTのColor;
}
else
{return CGのピクセル
}
だが言うは易し…
発生する課題
スムーズな体験をするためには秒間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 やばい。。(Oculus Touchもね)
https://youtu.be/40Xogw0mg4Q?t=14m3s
VRとポジショントラッキングが合わさるとすごい
複合現実
(ふくごうげんじつ、英: Mixed Reality、MR)とは、現実空間と仮想空間を混合し、現実のモノと仮想的なモノがリアルタイムで影響しあう新たな空間を構築する技術全般を指す。複合現実感とも。拡張現実と拡張仮想を包含する概念である。
空間的整合性、時間的整合性、光学的整合性など実空間と合致させる要素によって、その性質が評価される。
Wikipediaより
MR : Mixed Reality
現実世界と仮想世界(CG)を融合する。
融合結果の前後関係を反映した状態の映像が創り出される。
MRを実現するためには現実世界の3Dスキャンが必要となる。
Screen+
MR World
CG WorldReal World
HoloLens事例
https://youtu.be/aThCr0PsyuA
http://www.sensors.jp/post/teomirn_2.html
デザイン分野
トレーニング・ラーニング分野
知っておくと頭が良さそうに思われる?表
日本語名 見分けるポイント 必要な処理能力
AR(エイアール) 拡張現実 カメラ映像で現実世界が見えるCGに自分の手をかざすと絶対手より前にCGが表示される
低
VR(ブイアール) 仮想現実 宇宙とか体内とか女の子の部屋とか、ありえない場所に放り込まれる振り向くとゾンビがいる
中~高
MR(エムアール) 複合現実 カメラ映像または普通に眼鏡越しで現実世界が見えるCGに自分の手をかざすと手より前のCGは見えるし、手より奥のCGは手に隠れる
中~高
O
KINECTのカメラ映像からKINECTが原点Oに対し3次元的にどの位置に配置され、どこを注視しているのかを逆計算する。
※これはGPSの測位計算と似てる計算方法みたいです。算出にはカメラから最低3点への距離情報が必要です。
O
http://www.systemfriend.co.jp/node/708
https://youtu.be/WY2PDLq2dzo
Progress
1. PC(KINECT)+HoloLens 試作完了
2. +HTC VIVE
3. +Oculus Rift (Touch)
4. +スマホ (Extended Tracking)
5. +Tango6. 速い通信とサーバーサイドレンダリングができたらWebでもできないかな。。。
AR,VR,MRの違いはあれど仮想空間または現実世界に仮想世界を重ね合わせてみることに違いはない
現実世界はたった一つしかないのだから、そこを基準に仮想世界を作り重ね、デバイスは世界をのぞくのぞき窓になればよい
基準作りが大切
各のぞき窓が世界をどのように眺めているかが判断できれば一つのものを様々なデバイスから同時に見たり、操作ができる
まとめ
http://satoshi-maemoto.hatenablog.com/entry/2016/12/30/182332