LoginSignup
32
19

More than 5 years have passed since last update.

Mixed Realityの開発を加速するMixed Reality Toolkit - Unityについて

Last updated at Posted at 2017-08-19

HoloToolkitからMixed Reality Toolkitへの名称変更が入りました。

HoloLensの開発を容易にするためにHoloToolkit-Unityというライブラリが公開されています。おそらく現状のHoloLensの開発ではほとんど必須といえるモジュールになります。今後このライブラリに大幅な変更がはいることになっています。これに合わせて今までHoloLens向けに提供されていたMixed Reality関連のライブラリの整理がすすみ体系化されています。

変更がなぜ入ったか

HoloToolkit - Unityの時はMixed RealityのデバイスとしてHoloLensがメインだったこともあり、基本的にはHoloLens用の要素が強いライブラリでした。ですが、Oculus等のVR系の発展、Windows Mixed Reality対応のimmersive HMDの登場等サポートするデバイスが増えたことでこれらにも共通で対応できるライブラリとして期待されることが多くなったことが背景と考えられます。

Mixed Reality Toolkitの構成について

変更後の構成としては以下のようなものになります。HoloLensを含めたMixed Reality用のデバイスがWindows 10を対象としているためベースはWindwos 10 UWPになります。
その上に「Mixed Reality Toolkit」「Mixed Reality Companion Kit」の2つのライブラリが提供されています。
「Mixed Reality Toolkit - Unity」はこれらのライブラリの上で構成されることになります。

image.png

Mixed Reality Toolkit

UWPと「Mixed Reality Toolkit - Unity」の中間に存在するライブラリになります。提供形式はDLLやExeとなっており、現時点では以下の機能が提供されています。
Sharingはデバイス間で情報を共有するために必要なモジュールやサーバーが提供されています。それ以外のライブラリについてもdll形式でUnityやUWP向けに提供されています。
基本的には言語はC++で記述されており、このライブラリを利用してUnityやUWP上ではC#で開発する形になります。

機能 簡単な説明
Spatial Mapping 空間マッピングの機能を提供する
Spatial Understanding 空間認識の機能を提供する
Sharing Sharingを実現するためのモジュール及び、サーバ機能を提供する
Microphone Stream Selector マイクデバイスへのアクセスを容易にする機能

最新の情報はMixed Reality ToolkitのREADME.mdを確認してください。

Mixed Reality Companion Kit

直接アプリケーション開発で使用するライブラリではないですが、Mixed Realityの体験を支援する機能が提供されています。

機能 簡単な説明
Holographic Remoting Host UWPアプリケーションなどからHoloLensにリモートでViewを提供するための機能です。Unityでいう「Holographic Emulation」に相当する機能をUWPで作ることができます。
KinectIPD IPD(瞳孔間距離)を測定し、オプションでHoloLensデバイス上のIPDを自動的に設定できるユーティリティです。
MixedRemoteViewCompositor HoloLensのViewをリモートで見ることができる機能を提供する。
SpectatorView Spectator Viewに関する機能を提供する
Windows Mixed Reality Commander (Formerly, HoloLens Commander) ブラウザで利用できるDevice Portalの機能をUWP化したものです。複数台のHoloLensを含むWindows PCデバイスの管理が行えます。

最新の情報はMixed Reality CompanionKitのREADME.mdを確認してください。

Mixed Reality Toolkit - Unity

Unityのアセット形式で提供されるMixed Reality向けのライブラリです。中身としては現状HoloToolkit-Unityと同じで今後は色々と機能拡張される形です(今後のロードマップを参照)。なお破壊的なアップデートの話(後述)もありますが、内容を見る限りいくつかのクラス名変更と名前空間変更がメインで使い方がまるっきり変わるようなことはないようです。

MRDesignLabs_Unityについて

構成にはないのですがMixed Reality Designチームが提供しているサンプルや調査目的で公開されているMRDesignLabs_Unityというのもあります。こちらはMixed RealityのUXについての便利な機能が提供されています。
MRDesignLabsで提供されている内容については別途投稿しているので興味があれば参照してください。

今後のロードマップ

ロードマップの詳細はMixed Reality Toolkit - UnityのREADME.mdに記載があります。
以下はREADME.mdからの引用です。

Masterブランチの計画

Target Unity release Release timeframe Master release tag Toolkit release features
2017.1.0 2017/8月初旬 v1.2017.1.0
  • Unityのβ版のための修正
  • テキスト入力用3Dキーボードの追加
2017.2.0 2017/9月末 v1.2017.2.0
  • Windows Mixed Realityサポート(xR名前空間)に伴うマスタの修正
  • Dev_Unity_2017.2.0のマスターへの取込み
  • ToolkitのHoloLens と immersive headsetsへの両対応
  • Windows Mixed Realityモーションコントローラのサポート
2017.3.0 2017/12月末 v1.2017.3.0
  • 360 video player prefabsの提供
  • foveated rendering(中心窩レンダリング)1 prefabsの提供

Dev_Unity_2017.2.0の計画と状況

Target Unity release Release timeframe Branch release tag Branch pre-release features Status
MRTP9 2017/7月末 v1.Dev.MRTP9
  • HoloLens と immersive headsetsの両方に対するWindows Mixed Realityのサポート
  • Gamepadのサポート
  • Windows Mixed Realityモーションコントローラのサポート
対応完了:v1.Dev.MRTP9
MRTP13 2017/8月初旬 v1.Dev.MRTP13
  • WUドライバから読み込むglTF形式でのWindows Mixed Realityモーションコントローラのレンダリング
対応完了: v1.Dev.MRTP13
2017.2.0 2017/8月中旬 v1.Dev.2017.2.0 xR名前空間やその他の破壊的変更に対する対応 対応中
2017.2.0 2017/9月末 v1.Dev.2017.2.1 masterブランチへのマージ 未着手

破壊的アップデートの内容

現状HoloToolkit-Unity破壊的なアップデートの第1弾としてリポジトリ名の変更が完了しています(MixedRealityToolkit-Unityへの名称変更)。今回はリポジトリ名の変更のみで内部構成についてはHolotoolkitのままとなっています。現在進行中でクラス名、名前空間の変更が入ることになっています。


  1. foveated rendering(中心窩レンダリング)は人の視野の感覚に近い形でレンダリングをすることでパフォーマンスを向上する仕組み。人の視野については注視部分を中心とした領域(鮮明に見えている部分)と周辺視力(何となく見えている)の2つの領域があり、この考え方に合わせてVR等のレンダリングを行う。注視付近は今まで通りの高解像度レンダリングだが、周辺領域はレンダリングの密度を落としてクオリティを下げることで全体のレンダリング性能を向上するためのアプローチです。NVIDIAが昨年この辺りの研究や調査を行っています(参考資料:Perceptually-Based Foveated Virtual Reality

32
19
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
19