HoloLens, Windows Mixed Reality 関連セッションまとめ (de:code 2017)

de:code 2017 の HoloLens, Windows Mixed Reality 関連のセッション情報のまとめ記事です。公開ビデオ、公開スライド情報などをまとめています。2017/5 に公開していたつもりがずっと下書き状態でした。勿体無いので公開します。

#TL;DR
この記事を読むことで、de:code 2017 の各プレゼンテーション、セッションの要点が分かります。ざっと確認していただき、気になったところだけ詳細を参照することで、効率よく HoloLens, Windows Mixed Reality 技術情報を学べます。

#####対象読者
HoloLens, Windows Mixed Reality 開発者

# de:code 2017 関連セッションまとめ
de:code 2017 は2017年5月23-24日に開催された日本マイクロソフトのITに関わるすべてのエンジニア向け有償イベントです。日本市場向けの独自コンテンツの他、5月10-12日に開催されたMicrosoft本社イベントBuild 2017で発表された内容も含まれています。

- [de:code 2017 全体のセッション資料/動画一覧](https://blogs.technet.microsoft.com/mpn_japan/2017/06/13/microsoft-decode-2017-round-up/)
- [HoloLens, WMR関連のセッション動画一覧](https://channel9.msdn.com/Events/de-code/2017?sort=status&direction=desc&r=Windows+Client+%26+Mixed+Reality)

## keynote【de:code 2017】
動画: https://www.youtube.com/watch?v=i3O0oQZZLNE&feature=youtu.be&t=1h58m30s
資料: 無し
発表者: Alex Kipman
難易度: 初級者向け
 
###発表内容概要
HoloLens の話題は 1:58:30 - 2:26:10 の間。HoloLens、Windows Mixed Reality の現状と展望、日本の事例紹介です。

###セッション内容/キーワード PickUp
- 日本MS平野社長による日本市場におけるHoloLensの現状を紹介
- Alex Kipman 登壇
- 日本市場とグローバル市場のHoloLensの現状について
- HoloEyes社のHoloLensの取り組みを紹介
- 日本は最も早くMRの市場を構築している
- グローバルにおける開発者の状況デモ
- AR/MRの用語の違い、定義について
- 小柳建設株式会社のHoloLensの取り組みを紹介
- パートナー展開: gumi, Tokyo VR Startups, Seoul VR Startups
- MRの今後の展望について
- HoloLens 量販店構築デモ


## MR01: 本気で始める HoloLens - プラン/設計/開発の勘どころ -
動画: https://channel9.msdn.com/events/de-code/2017/MR01
資料: 無し
発表者: 日本MS 高橋忍さん(@shinoblogavi)
難易度: 初級者向け

###発表内容概要
エントリーセッションです。Mixed Reality, HoloLens は、どういうものか紹介しています。後半に、アプリ開発するときの注意点を紹介しているセッションです。

###セッション内容/キーワード PickUp
- 第1章: Mixed Reality
    - MR (Mixed Reality) の概念解説
    - ARとの違いについて
    - 開発できるアプリケーション タイプ(AR/MR/VR)
- 第2章: Microsoft HoloLens デバイス の詳細
    - ハードウェアの各コンポーネントの説明
    - 各エディションの違いについて
    - Windows Mixed Reality Development Kit について
    - Mixed Reality Device と HoloLens の差異について
- 第3章: HoloLens 用アプリの開発
    - 2D/3D アプリの構築方法
    - 開発ツールの詳細
    - Device Portal の機能説明
    - HoloLens アプリ開発デモ
    - HoloLens 固有の機能について
- 第4章: HoloLens 用アプリの設計
    - ホログラム表示位置のスイートスポットについて
    - HoloLens アプリの設計方法について
    - 体験会おすすめアプリ
    - HoloLens アプリを成功させるための Tips
- 第5章: HoloLens の適用事例紹介
    - ThyssenKrupp, Trimble, VOLVO, Japan Air Line
- まとめ
    - HoloLens の特徴を理解する
    - 問題解決のためのディスカッション
    - 開発は Unity と Toolkit で

## MR02: Graphics Overdrive - MR/AR/VR/HDR 向けグラフィックス情報とその開発について -
動画: https://channel9.msdn.com/events/de-code/2017/MR02
資料: https://www.slideshare.net/decode2017/mr02-graphics-overdrive-mrarvrhdr
発表者: 日本マイクロソフト 鵜木健栄さん
難易度: 中級者向け

###発表内容概要
MR/AR/VR/HDRグラフィックスに関する質問相談をもとに、知っておく必要がある項目とパフォーマンス向上 Tips を紹介したセッションです。

###セッション内容/キーワード PickUp
MR/AR/VR/HDRグラフィックス

- Windows Mixed Reality の要求スペックと詳細
    - リフレッシュレートの重要性
        - 120Hzでも酔う人は酔う。120Hz→90Hzに戻ると酔いやすくなる
- MR/AR/VR/HDRに大切なこと
    - メモリー: HoloLens: 900MB (使用上限)
- パフォーマンス
    - dds フォーマットについて
        - dds 圧縮を Visual Studio で行うデモ
        - 注意点: 2のべき乗 or 8の倍数の構成で作られたテキスチャが用意する
- デザイン
    - 見るという知覚
        - 明るさの変化には気付きやすい/色の変化には気付きにくい
    - 光の三原色(RGB)と色の三原色(CMYK)
    - モデルのカラーに黒は使えないことに留意
    - 可視光分布の特性に留意する
- HDR の概要と方向性について
    - 人間はもと多くの色を知覚する（見る）ことができる
    - HDRに対応することのメリット
        - 広色域
        - フレームレート
- dds テクスチャの補足デモ


## MR03: HoloLens - 真のエンジニアが知るべき実装
動画: https://channel9.msdn.com/events/de-code/2017/MR03
資料: https://www.slideshare.net/decode2017/mr03-hololens
発表者: 日本マイクロソフト 千葉慎二さん
難易度: 上級者向け(UWP,DirectXの作成方法, HoloLens, Mixed Realityの概要、Visual Studioでリモートデバッグができる方向け)

###発表内容概要
HoloLens のエンジニア向けの話。マニアックなセッション。を前提としたセッション。

###セッション内容/キーワード PickUp
- HoloPotation Lite のデモ
- DirectX を用いた実装でテクノロジーを理解する
    - テンプレート: CoreWinow, ホログラフィック空間、ワールドロック、入力、描画
        - テンプレートは HoloLens Emulator のインストーラーにある
    - その他の機能
- 処理パフォーマンスの検討
- データの検討

## MR04: 実践! Unity を使った HoloLens アプリ開発
動画: https://channel9.msdn.com/events/de-code/2017/MR04
資料: https://www.slideshare.net/decode2017/mr04-unity-hololens
発表者: ユニティ・テクノロジーズ・ジャパン 伊藤周さん
難易度: 上級者向け (HoloLens に興味がある方と、実際に開発に携わっている方)

###発表内容概要
前半はケース・スタディをもとに HoloLens の魅力や事例を紹介しています。後半は HoloLens
 アプリの最適化という観点から、HoloLens 開発知識を前提にした話まで広範囲に渡るセッションです。

###セッション内容/キーワード PickUp
- ケース・スタディ１(MRアプリを作る)
    - Unity でHoloLens アプリを作成するデモ (CAD データの表示)
        - Unity CAD Importer の使い方
    - Unity Pro ライセンスについて
    - Unity CAD Importer の詳細
- ケース・スタディ２(HoloLens事例紹介)
    - AR CAD Cloud (ソフトバンクC&S, ホロラボ)
    - Pepper を HoloLens でナビゲーション (新日鉄住友ソリューションズ, ANA)
    - Shimizu Dream x Microsoft HoloLens (清水建設) (動画有)
- HoloLens 最適化手法の紹介
    - PC でなくスマホとして開発する
    - CPUは使わず、事前処理、クラウド処理
    - 60fps 目標 (多少のフレーム落ちは許容できる)
    - 起動は早く
    - GCを抑える
    - Unity Profiler を使うと良い
        - CPU Usage, GPU Usage, Rendering, Memory のパフォーマンス データを確認できるためボトルネックを確認できる
    - 最適化: 全体設定
        - Quality Setting → Fastest, Forward Rendering, Visual Reality Supported → Windows Holographic → Depth Format: 16-bit depth, Shader Variant 使用し Preload する
    - 最適化: グラフィック
        - ポリゴン数(超点数)を少なくすうる, SetPassCall<100, 影、リフレクションローブはNG, Shader は HoloToolkit/ を使う。
    - 最適化: GC対応
        - オブジェクトプーリングの活用,LINQ,lambdaを使わない,構造体を極力使う、GetHashcode は避ける、Update では foreach でなく for を使う、GCSettings.LatencyMode プロパティを使う
    - 最適化: Unity全般
        - GemeObject Updateを極力減らす、FixedUpdateは使わない、GetComponent はキャッシングする、階層が深いオブジェクトを動かすのは避ける、Idleアニメーションは避ける、foreach を避ける、List<T>はNG
    - 最適化: Simplygon
        - 最大の課題はポリゴン数を少なくする
        - ポリゴンリダクションツール: [Simplygon Labs](https://labs.simplygon.com)
            - 無料、HoloLens/VR/スマホ/コンシューマに対応,Normal/Specularマップ自動生成
- 最適化デモ
    - Profiler 確認するときはカメラは終了させる (30fpsになる)
    - CAD Importer にもポリゴン数減らす設定有り(Target Vertices Count)


## MR05: クラウドと AI の力を組み合わせた Microsoft HoloLens のさらなる可能性
動画: https://channel9.msdn.com/events/de-code/2017/MR05
資料: https://www.slideshare.net/decode2017/mr05-ai-microsoft-hololens
発表者: 日本マイクロソフト株式会社 津隈和樹さん
難易度: 上級者向け

###発表内容概要
下記の項目をセッションのゴールとして紹介しています。
1. HoloLens について上司に説明できるようになる。
2. HoloLens とクラウドやAIの組み合わせでどんなことができるのかを理解する

###セッション内容/キーワード PickUp
- HoloLens の状況 (アイス ブレイク)
    - HoloLens 興味がある方:参加者全員
    - HoloLens 体験したことがある方: 参加者半数
    - HoloLens アプリ経験者: 参加者2-3割
- Mixed Reality の概要
    - AR/MR/VR の違いについて
    - Windows Mixed Reality ヘッドセットの概要
        - ホログラフィック ヘッドセット、没入型ヘッドセット
    - 上司からの質問 Top3
        - Q1:HoloLens ってなに？
        - Q2:AR/MR/VRはこれから来るの？
Q3:開発から公開までには何が必要？
    - HoloLens デモ: 人体3Dモデルの表示、ヘッドトラッキングの紹介
    - 事例紹介: TIS 株式会社「俺の嫁プロジェクト」
    - HoloLens デモ: 歩いた箇所にPinを立ててトラッキングするデモ
- HoloLens + Sharing
    - 同じ情報を複数の HoloLens で見ることが出来る
    - 事例紹介: 小柳建設 「HoloStruction」
    - 内部実装
        - SharingServer への接続
        - World Anchor の決定
        - オブジェクトの位置/姿勢の共有
- HoloLens + Spectator View
    - オブジェクトとカメラ画像をUnity上で合成
    - Spectator view はリアルタイムで反映される
- HoloLens + Azure
    - REST API がオススメ。Unity からビルドすると新しくソリューションファイルが作成されるためNugetの情報は抜けてしまう
    - 事例紹介: HoloEyes
    - 入力インターフェイスの選択: AirTap, Voice, QRコード, Vuforia
    - 事例紹介: AR CAD Cloud
- HoloLens + Cognitive Services
    - 視覚、音声、言語、知識、検索などの API がある
    - Face APIs を利用したデモ
        - HoloLensで顔認識して性別、年齢、表情、人物情報を表示する
    - Development Edition の情報
        - Acer, HP, HoloLens 製品の紹介
        

## MR06: 開発者もクリエイター。アプリ開発者に捧ぐ新テクノロジ 〜 Windows 最新情報 〜
動画: https://channel9.msdn.com/events/de-code/2017/MR06
資料: https://www.slideshare.net/decode2017/mr06-windows
発表者: 日本マイクロソフト株式会社 田中達彦さん
難易度: 初級者向け

###発表内容概要
Windows 開発者向け最新情報の紹介。他の de:code 2017、Windows の開発系のセッションでどのような内容があるのかを紹介します。MR については、紹介程度の案内です。

###セッション内容/キーワード PickUp
- Windows 10 の話
    - Windows 10 の歴史 (2年前から)、WaaS の説明
    - Windows 10 Creators Updaste
        - 基本性能の向上、3D、ゲーミング、Mixed Reality
    - Fall Creators Update, Windows 10 S について
- 開発者もクリエイター
    - ペイント 3D のデモ
        - 3D オブジェクト、FBXで保存、Visual Studio で使用、Remix 3D にアップロード、Windows Story Remix
        - A/Bテストを実施しているため同じバージョンの Windows Insider でも機能が違う場合がある
    - Timeline 機能のデモ
        - 履歴を時系列で表示、Adaptive Cards
- 開発プラットフォームとしての Windows 10
    - 様々な開発 (Linux, iOS)
        - Bash on Ubuntu 搭載済み。Fall Creators Update で SUSE、Fedora にも対応予定
    - UWP のアプリ開発
        - Windows Template Studio のデモ 
- 開発者から見た Windows 10
    - de:code 2017 の MR 関連各セッションの紹介
    - Natural Input
        - Ink Canvas の実装デモ
        - Surface Dial のコンセプト
        - Cortana Skill Kit
        - Desktop App Converter
            - 秀丸の紹介
 

# 関連情報
holoLens, Windows Mixed Reality の話題ではありませんが、各種セッションで言及されていた関連テクノロジーに関する参考資料です。

知っておくべき UWP アプリ開発の A to Z
動画: https://channel9.msdn.com/events/de-code/2017/MR08
資料: https://www.slideshare.net/decode2017/mr08-uwp-a-to-z 折りたたむ

Build 2017 Updates ～ Application UI Design
https://channel9.msdn.com/Events/de-code/2017/MR16