Mixed Reality の機能のサンプルとアプリ
すべての開発作業は、他の開発者が構築に成功したものを振り返って見ることから始まります。Mixed Reality の場合も同じです。 現在、すべてのチュートリアルとサンプル アプリは Unity か Unreal で構築されています。 他のエンジンおよびプラットフォーム向けのコンテンツを開発する場合は、目次にある関連する見出しの下で確認できます。
サンプル アプリケーションのケース スタディ
Mixed Reality の開発について直接理解するのに役立つオープンソースのサンプル アプリが、チームによって作成されています。 プロジェクトと完全なソース コードが、学習用のリファレンスとして提供されています。
HoloLens 2 のオープンソース サンプル アプリ
これらのサンプル アプリは、Unity 用 Mixed Reality ツールキットで作成されています。
HoloLens (第 1 世代) のオープンソース サンプル アプリ
機能のサンプル
以下に示す各開発者シナリオには、ドキュメントに記載されている特定の実装に対応し、さまざまな開発プラットフォームとハードウェア デバイスをカバーする、機能のサンプルがあります。
シナリオ | 機能のサンプル | エンジン | [説明] |
---|---|---|---|
Unity で Mixed Reality の基本的なシナリオを構築する | OpenXR と Unity のサンプル | Unity C# | 最新の Unity 2020.LTS と OpenXR プラグインを使用して、クロスプラットフォーム開発者ツールを使い始めます。 |
空間アンカー | ローカル アンカー | 空間アンカーを永続化し、アプリケーション セッション間およびデバイス間で共有します。 「空間アンカー」の記事を参照してください。 | |
Azure Spatial Anchors サンプル | Azure Spatial Anchors の主要な機能を使用して、空間対応の Mixed Reality アプリケーションを構築します。 | ||
QR コード | Unity C# | 環境内の QR コードを検出します。 | |
Mixed Reality でのコラボレーション | ユーザー ID | Unity C# | Azure Active Directory (AAD) の資格情報を使用して、HoloLens 2 デバイスを設定します。 |
Azure Spatial Anchors サンプル | Azure Spatial Anchors の主要な機能を使用して、空間対応の Mixed Reality アプリケーションを構築します。 | ||
空間操作 | 基本的なホログラム サンプル | Windows 10 C++ | Windows Mixed Reality で回転する立方体をレンダリングします。 |
シーンとオブジェクトの理解 | シーンの理解のサンプル | Unity C# | 環境に対応した Mixed Reality アプリケーションの設計に役立ちます。 |
Azure Object Anchors サンプル | Unity C# | Azure Object Anchors で、3D モデルを使用して現実世界の物体を検出し、その 6DoF 姿勢を推定します。 | |
コンテキスト データのオーバーレイ | QR コード | Unity C# | 環境内の QR コードを検出します。 |
ポスター トラッカーのサンプル | Unity C# | ホログラムと現実世界のオブジェクトの位置を合わせます。 | |
Mixed Reality デジタル ツインを構築する | Unity C# | Azure Digital Twins とリアルタイム 3D プラットフォームである Unity を使用して、複合現実アプリケーションを作成する方法について説明します。 | |
カメラ データのキャプチャ | Mixed Reality キャプチャのサンプル | Windows 10 C++ | 現実とデジタル世界を写真または動画として合成する一人称視点のエクスペリエンスをキャプチャします。 |
Research モードのサンプル | Windows 10 C++ | アプリケーションを調べるために、HoloLens デバイスの主要なセンサーにアクセスします。 | |
Holographic Remoting | Holographic Remoting プレーヤー | Windows 10 C++ | Wi-Fi 接続を使用して、PC から Microsoft HoloLens にホログラフィック コンテンツをリアルタイムでストリーミングします。 |
Azure Remote Rendering のサンプル | Unity C# | ここで示されているサンプル データ用のリソースを使用して、Azure Remote Rendering サービスをテストします。 | |
タスクの管理とガイダンス | Dynamics 365 Remote Assist | HoloLens、HoloLens 2、Android、iOS デバイスで Dynamics 365 Remote Assist を使用してさまざまな場所から共同作業することで、より効率的にコラボレーションします。 | |
Dynamics 365 Guides | 必要なときに必要な場所でホログラフによる指示を提供することによって、作業の流れの中でオペレーターが学習できるようにします。 | ||
World Locking のホログラム | ワールド ロックされた物理サンプル | Unity C# | World Locking Tools のワールド ロックされた座標系によって可能になる、いくつかの仮想物理エクスペリエンスについて調べます。 |
スペース ピン サンプル | Unity C# | 1 つまたは複数の大きなオブジェクトを現実世界の特徴と一致させる必要がある実世界アプリケーションの内部動作を詳しく見ます。 スペース ピン サンプルでは、スペース ピン機能の簡略化されて絞り込まれたビューが提供されます。 | |
レイ ピンの例 | Unity C# | MRTK アフォーダンスを使用してマーカー オブジェクトを手動で操作して適切な位置にすることで、スペース ピンを設定する方法を示します。 | |
Azure Spatial Anchors での World Locking Tools のサンプル | Unity C# | セッション間で保持し、アプリケーション内のデバイス間で共有できる、安定した座標系を提供します。 これは、World Locking Tools for Unity (WLT) と Azure Spatial Anchors (ASA) を組み合わせたときに可能になります。 | |
電力と温度の管理 | 電力 & 温度の管理 | Unity C#、Win32 C++ | HoloLens 2 が暖かい環境や、高いパフォーマンスを必要とする環境 (CPU や GPU の使用、周辺機器の使用など) で実行されている場合は、PowerThermalNotification SDK を使って通知イベントをサブスクライブすることで、デバイスをより長く動作させることができます。 PowerThermalNotification API のリファレンスに関する記事をご覧ください。 |
OpenXR の基本的なシナリオを構築する
基本的な Mixed Reality シナリオを初めて構築する場合は、始めるに当たってこれらのサンプルが役に立ちます。
Unity 2020 を対象とする開発者が HoloLens 2 または Mixed Reality アプリケーションを構築する場合は、Windows XR プラグインの代わりに OpenXR プラグインを使用するとプラットフォーム間の互換性が向上します。 Mixed Reality OpenXR プラグインは、最新バージョンの Mixed Reality ツールキット (2.7.x) でも問題なく動作します。
サンプル | 参照記事 | プラットフォーム | 説明 |
---|---|---|---|
Mixed Reality OpenXR と Unity のサンプル | OpenXR プラグインの使用 | Unity C# | これらのサンプル プロジェクトでは、Mixed Reality OpenXR プラグインを使用して HoloLens 2 または Mixed Reality ヘッドセット用の Unity アプリケーションを構築する方法が示されています。 次のサンプル シナリオがカバーされています。 |
OpenXR MRTK ベース Unity プロジェクト | サンプルの readme を参照してください | Unity C# | このリポジトリには、Microsoft Mixed Reality Toolkit Foundations と Standard Assets パッケージおよび Microsoft OpenXR Plugin パッケージで設定された Unity プロジェクトが含まれます。 |
Unity 2020.3 と MRTK 2.7.2 の使用 | MRTK とは | Unity C# | MRTK-Unity は、Unity でクロスプラットフォームの MR アプリの開発時間を短縮するために使用される一連のコンポーネントと機能を提供する、Microsoft 主導のプロジェクトです。 |
OpenXR Explorer | サンプルの readme を参照してください | C++、Windows、Linux、OpenXR | OpenXR Explorer は、OpenXR 開発者向けの便利なデバッグ ツールです。 OpenXR ランタイムの間を簡単に切り替えることができ、ランタイムでサポートされる拡張機能の一覧が表示され、一般的なプロパティと列挙を調べることができ、OpenXR の仕様の関連する部分への直接リンクが提供されます。 |
Mixed Reality 開発者向けの OpenXR サンプル | OpenXR とは | C++ | これらの OpenXR サンプルでは、C++17 と Direct3D 11 が使用されています。 同じソース コードが、HoloLens 2 で実行されている UWP アプリケーションと、Windows Mixed Reality イマーシブ ヘッドセットを使用する Windows デスクトップで実行されている Win32 アプリケーションのどちらでも動作します。 |
Mixed Reality でのコラボレーション
ユーザーは、Mixed Reality を使用して仮想的に集まり、エクスペリエンスを共有して、共同作業を行います。 ここに示すサンプルでは、このようなコラボレーションを可能にするいくつかの機能が示されています。
ユーザー ID
このサンプルでは、Azure Active Directory (AAD) の資格情報を使用して HoloLens 2 デバイスをセットアップした後、虹彩認証ログインを使用するようにデバイスを構成します。
サンプル | 参照記事 |
---|---|
HoloLens 2 での AAD ログイン | Microsoft ID プラットフォームの概要 |
空間操作 - 基本的なホログラムのサンプル
このサンプルは Windows Mixed Reality で実行され、回転する立方体をレンダリングします。 新しい位置に置くことで立方体を操作し、さまざまな方法で入力できます。 このサンプルは、ヘッドセット デバイスが接続されている PC と、Microsoft HoloLens でも機能します。
サンプル | 参照記事 |
---|---|
Windowsユニバーサル サンプル - 基本的なホログラム | サンプルの readme を参照してください |
シーンの理解
シーンの理解により、構造化された高レベルの環境表現が Mixed Reality の開発者に提供されます。 シーンの理解は、既存の Mixed Reality ランタイムの機能を組み合わせることによって、直感的な環境対応のアプリケーションを開発できるように設計されています。 これらのランタイムは、精度が高い反面、空間マッピングの構造化には劣り、新しい AI 駆動型ランタイムです。
サンプル | 参照記事 | プラットフォーム | 説明 |
---|---|---|---|
Mixed Reality のシーンの理解のサンプル (SU SDK) | シーンの理解 | Unity C# と SU SDK | HoloLens 2 でシーンの理解を紹介する Unity ベースのサンプル アプリケーション。 |
シーンの理解のサンプル (MRTK + SU SDK) | シーンの理解オブザーバー (MRTK) | Unity C#、MRTK + SU SDK | MRTK + シーンの理解 SDK のサンプル。 |
コンテキスト データのオーバーレイ
コンテキスト データは、イベント、人、またはアイテムのより広範な知識を提供する背景情報です。 拡張現実 (AR) を使用すると、この情報を表示し、物理的なオブジェクトと正確に一致させて、分析情報、手順、サービス レコード、その他の重要なデータを提供することができます。
QR コード
HoloLens 2 を使用すると、ヘッドセット周辺の環境内の QR コードを検出し、各コードの実際の場所で座標系を確立することができます。
サンプル | 参照記事 |
---|---|
Unity での QR コードの追跡 | QR コード |
ポスター トラッカーのサンプル
多くの場合、すべてのユーザーから同じホログラムが同じ場所に見えるように、ホログラムと実際のオブジェクトの位置を合わせたり、複数の HoloLens デバイスを共通の世界座標のセットに揃えたりすることができると便利です。 たとえば、Unity のシーンでは、シーン (おそらくゲーム ボード) を固定する "ポスター" を追加してから、その周りにホログラムを追加することができます。 その後、ポスターを印刷し、テーブルに配置して、調整および配置ツールを実行できます。このようにすると、ポスターのホログラフィック バージョンは、ポスターの物理バージョンと一致するように移動されます。 これにより、リンクされたすべてのホログラムが正しい配置に移動します。
サンプル | 参照記事 |
---|---|
ポスターの調整のサンプル | サンプルの readme を参照してください |
Mixed Reality デジタル ツインを構築する
このサンプルでは、Azure Digital Twins とリアルタイム 3D プラットフォームである Unity を使用して、Mixed Reality HoloLens 2 アプリケーションを作成する方法が説明されています。
サンプル | 参照記事 |
---|---|
Azure Digital Twins と Unity を使用した Mixed Reality デジタル ツインの構築 | 完全なラーニング パス |
カメラ キャプチャ
Mixed Reality デバイスによってキャプチャされた構造化されていない環境センサー データが、周囲の物理的な世界の強力な抽象表現またはホログラフィック表現に変換されます。
ホログラフィック Mixed Reality キャプチャ
Mixed Reality キャプチャ (MRC) により、現実とデジタルの世界を結合した一人称視点のエクスペリエンスが写真または動画としてキャプチャされ、自分が見ているものが他のユーザーとリアルタイムで共有されます。
サンプル | 参照記事 |
---|---|
Mixed Reality キャプチャのサンプル | Mixed Reality キャプチャ |
Research モード
Research モードは、デバイス上の主要センサーへのアクセスを提供するために、第 1 世代の HoloLens で導入されました。特に、配置を意図されていない研究アプリケーションを対象としています。 次のサンプル アプリケーションは、Research モードのストリームにアクセスして記録し、組み込みのものと外部のものを使用する例です。
サンプル アプリケーション | 参照記事 |
---|---|
HoloLens (第 1 世代) | Research モード |
HoloLens 2 | Research モード |
Holographic Remoting
Holographic Remoting Player は、Holographic Remoting をサポートする PC アプリやゲームに接続するコンパニオン アプリです。 Holographic Remoting は、Wi-Fi 接続を使用して PC から Microsoft HoloLens にホログラフィック コンテンツをリアルタイムにストリーミングする機能を備え、HoloLens (第 1 世代) と HoloLens 2 でサポートされています。
サンプル | 参照記事 |
---|---|
Holographic Remoting のサンプル | Holographic Remoting の概要 |