roomalive - hololensに向けていまできること
TRANSCRIPT
RoomAlive - HoloLensに向けていまできること蜜葉 優
• H.N. :蜜葉 優 [@mitsuba yu] • UX Designer / Interaction Developer • Keynoteの表紙はいつも自分で撮影 • 今回はホワイトホースのオーロラ
• 最近のお仕事はWPFとStoreApps(!UWP) • Microsoft MVP for Windows Development • http://c-mitsuba.hatenablog.com
profile
いま一番さわってみたいものといえば
今日はKinectとプロジェクタを使ってAR的なことをやってみます。
その前段階の技術として、 今日はRoomAliveを紹介します。
• HoloLensおさらい • RoomAliveとは • DEMO • 開発環境とか
agenda
HoloLens
• メニューがでてくる • 部屋の形状を認識できる • ブラウザとか3Dオブジェクトを、ホログラム
的に表示できる • オブジェクトは部屋のどの位置に表示されて
いるか記憶されている • 回りこむと、オブジェクトの裏側が見える
HoloLens おさらい
RoomAlive
RoomAlive
ね、ほろれんずみたいでしょう?
• MS Researchが開発してる • Kinectで部屋の形状を認識して、 いい感じに複数のプロジェクタで 部屋中を投影する 貴族向けプロジェクションマッピング技術 (ただし1プロジェクタでも可) • Magical Experiences Enabled by Scalable, Adaptive Projector-Camera
Units
• https://www.youtube.com/watch?v=ILb5ExBzHqw
RoomAliveとは
• ちなみに全身となったillumiRoomは2013年に発表されてる。
• ディスプレイにプロジェクタを向けて、画面外にもゲームを投影する技術
• HoloLensが来年にDeveloperKitが出るのでほぼ3年越し。
• (プロジェクタで遊んだらいいやん (とは言わない約束
• (雰囲気大事
とりあえずやってみよう DEMO
• ソフトウェア
• Kinect for Windows v2 SDK -> 公開されてる • RoomAlive Toolkit ->GitHubで公開されてる
• ハードウェア
• Kinect v2 ->先週買ってきた • プロジェクタ -> ご家庭のものでOK • GPU付きの速いぱそこん ->べるびゅで仕入れ!
開発環境
• 部屋の片付け -> これが一番大変 • プロジェクターとKinectをマッピングしたい面
に投射 • この時平面にマッピングしようとするとエラーに
なる!!! • パソコンの画面設定は拡張モードにする
RoomSetup
• KinectServer.exeを管理者権限で起動 • Socketで深度とか返してくれる
• ProjecterServer.exeを管理者権限で起動 • たぶん画面情報取得してる
• CalibrateEnsemble.exeでcalibration.xmlを生成 • XMLを環境に合わせて、微妙に書き換える • Calibrationする
CalibrationSetup
• Calibrationしたら、いろんな素材を書き出して、使う。
• XMLの保存もわすれずに。
CalibrationSetup
• マッピング情報が設定できてるはず、、なので、もうKinectは必要ない。
• 別のトラッキングにKinectを使える • Calibrationすると、マッピング情報のXML以外に、
Kinectを照射したオブジェクトとテクスチャが一緒に保存される。
• ProjectionMappingSample.exeをcalibration.xmlのファイルパスを引数に実行
Calibrationできた!
出来上がったファイルを見てみよう
出来上がったファイルを使って、サンプルを動かしてみよう
これだけだとあれなので、 生成したオブジェクトとテクスチャ を使ってみよう
時間があれば。。。
• RoomAlive toolkitはプロジェクションマッピングツール • プロジェクションマッピングに必要な様々なリソースを
作成できる。 • 点群plyファイル • 面のついたobjファイルとテクスチャ • RGBカメラで撮った画像ファイル jpg ttf • 深度センサで作成したモノクロ画像ファイル • マッピングのコンフィグが書かれたXML
まとめ
• RoomAlive toolkitのサンプルはSharpDXでできてるけど、素材を使っていろんな方法で開発できる
• 例えばUnityとかで、コンフィグのxmlを使って、パースが設定されるようなカメラを作成すれば、簡単にマッピング可能
• 他にも、できた3Dモデルを、実世界に投影して輪郭だけ動かしたりもできそう。
• 素材作りは簡単、実装はそこそこ、環境作りが一番大変
まとめ