2023年3月1日

新しい XRV Core および Module アドオン

XRV は、VR および AR エクスペリエンスを構築するために当社チームが開発した新しいライブラリです。元々は自社の顧客向けアプリケーション用に開発されましたが、現在はプレビュー状態で一般公開されています。これは、開発者が魅力的で没入感のあるアプリケーションを構築するのに役立つさまざまな機能とツールを提供することで、複合現実エクスペリエンスの開発を簡素化する強力なフレームワークです。シンプルなアプリを構築する場合でも、複雑なマルチモジュールエクスペリエンスを構築する場合でも、XRV は音声コマンド、ハンドメニューボタン、カスタマイズ可能な設定、ヘルプパネルなどの機能を簡単に追加できます。さまざまなファイルアクセスオプション、ローカリゼーションサポート、画像ギャラリーや3Dモデルビューアーなどの組み込みモジュールにより、開発を効率化し、ユーザーエクスペリエンスを向上させる多用途のソリューションとなっています。現在はプレビュー段階ですが、XRV は新しい機能と改善により常に拡張されています。

 

XR アプリケーション開発で XRV を使用することには、いくつかの利点があります。これらの利点には以下が含まれます。

  1. クロスプラットフォームサポート: XRV は、Meta Quest、Meta Quest 2、Meta Quest Pro、Microsoft HoloLens 2、Pico XR ヘッドセットなど、複数の XR デバイスをサポートしており、より幅広いデバイス向けのアプリケーション開発が可能です。
  2. 組み込み機能: XRV は、ハンドメニュー、ウィンドウシステム、タブコントロール、音声コマンドなど、多数の組み込み機能を提供し、XR アプリケーションをより簡単かつ効率的に構築するのに役立ちます。
  3. カスタマイズ性: XRV は高度にカスタマイズ可能に設計されており、開発者はアプリケーションとそのユーザーのニーズを満たす独自のユーザーエクスペリエンスを作成できます。
  4. モジュール設計: XRV のモジュール設計により、必要に応じた機能の追加や削除、異なるアプリケーションでのモジュールの再利用が容易になり、アプリケーションの保守と更新が簡素化されます。

本記事では、XRVが提供する機能の概要をご紹介します。ユーザーインターフェース、音声コマンド、ファイルアクセス、ローカライゼーションなど、主要な機能について説明します。XRVの使用方法と機能の詳細については、公開ドキュメントを参照してください。

ハンドメニュー

XRVの組み込み機能の一つにハンドメニューがあります。これは、ユーザーが手のひらを上に向けると表示されるメニューです。このメニューはカスタマイズ可能で、特定のパネルを開いたり、XR環境内の3D要素をアクティブ化/非アクティブ化するボタンセットを表示するようにプログラムできます。この機能は、外部コントローラーを必要とせず、より直感的な操作を可能にするため、VRおよびAR体験に特に役立ちます。

ウィンドウシステム

XRVにはウィンドウシステムが含まれており、XR環境内のすべてのウィンドウに一貫したルックアンドフィールを提供します。このシステムにより、開発者は必要な数のウィンドウを作成し、それぞれのコンテンツをカスタマイズできます。ウィンドウには、閉じるボタンなどの組み込み機能が付属しており、ユーザーの動きに追従させるか、XR空間内の固定位置に留めるかを設定できます。これにより、ユーザーは複数のウィンドウを容易に操作し、その内容を把握できます。

設定・ヘルプシステム

ウィンドウシステムにより、XRVは2つの組み込みパネルを提供します。1つ目は設定ウィンドウで、開発者はアプリケーションのさまざまな部分の動作を変更するボタンなどのUI要素を含めるためのエントリを追加または削除できます。たとえば、デフォルトの設定タブには、音声コマンドや、この技術をサポートするXRデバイスのパススルーを有効/無効にするオプションが含まれています。

2つ目のウィンドウはヘルプウィンドウで、アプリケーションのさまざまな部分の使用方法をエンドユーザーに説明する異なるタブを含めることができます。

音声コマンド

XRVには、HoloLensなどのUWPベースのXRデバイスでの使用に特化して設計された音声コマンドサービスが含まれています。このサービスにより、開発者はXRアプリケーションのさまざまな側面を制御するためのカスタム音声コマンドを作成できます。現在、このサービスはUWPベースのデバイスに限定されていますが、これらのデバイスを使用するユーザーにとって没入感のあるインタラクティブな体験を生み出す強力なツールとなり得ます。

ストレージ

ファイルアクセスの概念を定義しており、ファイルに対するCRUD操作を実行するためのシンプルな抽象化を提供します。XRVには、アプリケーションのローカルストレージ、およびAzure BlobsとAzure Filesサービスを操作するための実装が含まれています。これらは、画像や3Dモデルなどのリモートファイルを読み込む際に非常に役立ちます。

ローカライゼーション

もう一つの便利な機能は、.NETリソースファイルに基づく組み込みのローカライゼーションシステムです。XRVには、多言語ユーザーインターフェースを簡単に定義するためのカスタムコンポーネントが含まれており、英語とスペイン語のリテラルが利用可能です。

テーマ

最後に、XRVにはテーマシステムも含まれており、開発者はアプリケーション全体で使用される色、フォント、フォントサイズを簡単に変更できます。これにより、XR体験により洗練されたプロフェッショナルなルックアンドフィールを与えることができます。

モジュール

モジュールは、開発者がXRプロジェクトにカスタム機能を迅速に追加するための強力なツールです。関連機能をモジュールにカプセル化することで、複数のプロジェクト間での管理と再利用が容易になります。XRVを使用すると、開発者はモジュールを簡単に定義し、ハンドメニュー、設定、ヘルプウィンドウに統合できます。さらに、モジュールにはUI要素の初期化およびイベント処理機能を含めることができるため、ユーザーとXRアプリケーション間のインタラクション管理が容易になります。モジュールの使用方法の詳細については、公開ドキュメントのモジュールページを参照してください。

このリリースでは、以下のアドオンを独立したEvergineアドオンとして公開しています。

  • Image Gallery: このモジュールは、XR空間で画像コレクションを簡単に表示する方法を提供します。ユーザーは画像を1枚ずつ閲覧できます。
  • Model Viewer: このモジュールを使用すると、開発者は3DモデルをXRアプリケーションにインポートし、ユーザーはピンチや両手回転などの一般的なジェスチャーを使用してこれらのモデルをリアルタイムで操作できます。このモジュールには、モデルサイズを含むさまざまなカスタマイズオプションが含まれています。
  • Painter: このモジュールを使用すると、ユーザーはXR空間で3Dラインを作成および操作し、線の太さや色を調整できます。これは、注釈やその他の視覚要素を作成するのに役立ちます。
  • Ruler: Rulerモジュールを使用すると、ユーザーは仮想定規を使ってXR空間内のオブジェクトを測定できます。これは、インテリアデザインや建築など、正確な測定が必要なアプリケーションに役立ちます。
  • Streaming Viewer: このモジュールは、IPカメラなどからのMJPEGビデオをXRアプリケーションに直接ストリーミングするシンプルな方法を提供します。ユーザーは仮想環境でビデオを視聴できます。

今後の計画

将来的には、XRVをさらに強力で使いやすくするために、継続的な改善と拡張を計画しています。現在検討している改善点としては、ユーザーが実行時にアプリケーションの言語を変更できる機能の追加や、OneDriveやネットワークセッションへの対応を含むファイルアクセス実装の拡張などがあります。

また、既存のモジュールをより多くの機能で強化し、より柔軟で拡張性の高いものにすること、そして新しいモジュールをライブラリに追加することも計画しています。私たちは常にユーザーエクスペリエンスを向上させ、XRVを開発者とユーザーの両方にとってよりアクセスしやすいものにする方法を模索しています。

XRVとそのすべての機能についてもっと詳しく知りたいですか?ドキュメントをチェックして、探求を始めましょう!

 

Sergio Escalada
著者
Sergio Escalada
Plain Concepts Research