49
ARVRMRまとめてドーン! 一般社団法人T.M.C.N 株式会社システムフレンド 前本 知志

ARもVRもMRもまとめてドーン

Embed Size (px)

Citation preview

ARもVRもMRも

まとめてドーン!

一般社団法人T.M.C.N

株式会社システムフレンド

前本 知志

・会社ではセンサー&デバイス部長やってます!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

KINECT と Unityでいろいろ作ってきました

PROJECT DAFTY

DAFTY Live System

ダンス系コンテンツ

アキバで学べるパーティAKIPARTY vol.3 ~くりすますだお☆~

オタ芸とめっちゃ合う(横浜 岩崎学園ISCプログラミングコンテスト)

https://youtu.be/ivL6ZxukTlo

http://www.systemfriend.co.jp/charamirror

ユニティちゃんと踊れる!抱っこだってできる!

2015/08/28

CEDEC 2015

https://youtu.be/ZSXwhj8HqkE

現実空間とCGのMix -> MixedReality

https://youtu.be/YxCGnmfChKk

KINECTを使った

MixedReality

実現に必要となった考え方

座標系を合わせる

KINECTの3D骨格情報を取得(メートル座標系)

Unity座標系と対応させる(1Unity=1メートル設定で考える)

X

Y Z

1メートル↓

1Unity

リアルとバーチャルのカメラをシンクロさせる

KINECTのリアル設置位置とUnity内のカメラ位置、角度、視点を合わせる

KINECTのリアルカメラ映像とのシンクロを取る

<三種の神器>• メジャー• 養生テープ• 三角関数

3Dモデルを操る(オプション)

KINECTで取得した骨格情報をリアルタイムに3Dモデルのリグに反映してみると…

このコンテンツは、『ユニティちゃんライセンス』で提供されています。

やばい、これはたのしいことにw

https://youtu.be/M8e9mCI-u80

さらに…リアルとバーチャルの重なりを考慮する

KINECTのDepthとCGのZバッファをGPUで高速に比較し物体の前後関係を判定し表示する

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・VR・MR

AR : Augumented Reality

現実世界の上に仮想世界(CG)を上書きする。

現実世界の映像上にCGを重ね合わせる。

映像の表示優先度は常に 現実世界<CG

Screen

High layer

ARの例

まあ、2016年はこれでしたね。

VR : Virtual Reality

現実世界からの情報を100%カットし、仮想世界(CG)に没入する。現実世界の映像、自分の手などの物体をセンシングして融合する場合もCGオブジェクトとしてそれらが登場する。

映像の表示比率は常に 現実世界:CG = 0:100

Screen

Separate

CG World

Include

VRの例

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

MR の例

HoloLens事例

https://youtu.be/aThCr0PsyuA

http://www.sensors.jp/post/teomirn_2.html

デザイン分野

トレーニング・ラーニング分野

知っておくと頭が良さそうに思われる?表

日本語名 見分けるポイント 必要な処理能力

AR(エイアール) 拡張現実 カメラ映像で現実世界が見えるCGに自分の手をかざすと絶対手より前にCGが表示される

VR(ブイアール) 仮想現実 宇宙とか体内とか女の子の部屋とか、ありえない場所に放り込まれる振り向くとゾンビがいる

中~高

MR(エムアール) 複合現実 カメラ映像または普通に眼鏡越しで現実世界が見えるCGに自分の手をかざすと手より前のCGは見えるし、手より奥のCGは手に隠れる

中~高

まとめてドーン!

AR・VR・MRデバイスに関わらず、“マルチデバイス”で

現実世界と重ねあわされた世界を同時に体験するために必要な考え方

これは世界をつくる話です。

通常のコンテンツ

O

OO

各デバイスで固有のVR空間(世界)が作られる。

各世界同士の関連はない。

単一の世界をシェアするには

O

P1

P2

P3

世界の絶対中心Oを定義し、そこを中心とした基準座標系を定義する。

各デバイスは自分が世界のどこにいてどこを見つめているかがわかっている。

めざすもの

O

O

O

課題デバイスはそれぞれが原点Oとなってそれぞれの座標系で世界を見つめてしまう。

→現実空間と位置が合わせられない

まずは、、

基準座標系を定義する

O

床面に原点Oを定義する。

Oから赤マーク方向のベクトルが世界の前方と決める。

青マーク、緑マークは後述するカメラ位置逆計算のための補助マーカーである。

O

KINECTのカメラ映像からKINECTが原点Oに対し3次元的にどの位置に配置され、どこを注視しているのかを逆計算する。

※これはGPSの測位計算と似てる計算方法みたいです。算出にはカメラから最低3点への距離情報が必要です。

O

http://www.systemfriend.co.jp/node/708

https://youtu.be/WY2PDLq2dzo

P1

KINECTを使って世界の中心と座標系が決定できた。

O

他のデバイスを世界に参加させる

P1

参加デバイスに世界の中心と世界の向きのベクトルを教えてあげる。

各デバイスは世界の中心の見え方から自分の位置を逆計算しながらコンテンツを表示する。

O

自分が中心だったデバイスが、ひとつの世界を覗く覗き窓に

役割を変えた

https://youtu.be/GRq1jL5JLDs

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