• Guides
    • English
    • 日本語
  • API Documentation
  • 機能概要
  • Services (サービス)
  • MixedRealityServiceRegistry と IMixedRealityServiceRegistrar とは何か

    Show / Hide Table of Contents
    • MRTK を始める
      • Release Notes
      • MRTK Package Contents
      • Updating from earlier versions
      • HTK からの移植ガイド
      • MRTK のビルドとデプロイ
      • NuGet Packages
      • Getting started with MRTK and XR SDK
      • Performance
      • Hologram Stabilization (ホログラムの安定化)
    • アーキテクチャ
      • 全体像
      • フレームワークとランタイム
      • Input System (入力システム)
        • 用語
        • Core System
        • Controllers, Pointers, and Focus
      • Systems, Extension Services and Data Providers
    • 機能概要
      • Boundary System
        • Boundary System Overview
        • Configuring the Boundary Visualization
      • Camera System
        • Camera System Overview
        • Camera Settings Providers
          • Windows Mixed Reality Camera Settings
          • Unity AR Camera Settings [Experimental]
          • Creating a camera settings provider
      • Cross Platform Support
        • Configure MRTK for iOS and Android
      • プラットフォームの Capabilities (機能) を検出する
      • Diagnostics System (診断システム)
        • 診断システムの概要
        • 診断システムの構成
        • ビジュアル プロファイラーを使用する
      • Extension Services
        • Extension Service Creation Wizard
        • Scene Transition Service Overview
        • Hand Physics Service Overview
      • Input System (入力システム)
        • 入力の概要
        • Input Actions
        • Input Events
        • Input Providers
          • Input Providers Overview
          • Creating an input data provider
        • Controllers (コントローラー)
        • Eyes
        • Gaze (ゲイズ)
        • Gestures (ジェスチャ)
        • Hands
        • How to Add Near Interaction
        • エディター内入力シミュレーション
        • Pointers
        • Voice Input
          • Dictation (ディクテーション)
          • Speech (コマンドとコントロール)
      • Multi Scene System
        • Multi Scene System Overview
        • Scene Types
        • Content Scene Loading
        • Monitoring Content Loading
        • Lighting Scene Operations
      • パッケージ
        • MRTK パッケージ
        • MRTK Modularization
      • Profiles (プロファイル)
        • プロファイル概要
        • 設定ガイド
      • Rendering
        • Material Instance Overview
        • Shaders
          • MRTK Standard Shader
      • Services (サービス)
        • What makes a mixed reality feature
        • MixedRealityServiceRegistry と IMixedRealityServiceRegistrar とは何か
        • Extension services
      • Spatial Awareness System (空間認識システム)
        • Spatial Awareness (空間認識) 概要
        • Spatial Observers
          • Configuring Observers for Device
          • Configuring Observers for Editor
          • Controlling Observers via Code
          • Creating a custom Observer
      • Teleport System (テレポートシステム) 概要
      • ツール
        • Dependency Window (依存関係ウィンドウ)
        • Extension Service Creation Wizard
        • Holographic Remoting
        • Input Animation Recording
          • Input Animation File Format Specification
        • Optimize Window
        • Runtime tools
          • Controller Mapping tool
      • UX ビルディング ブロック
        • Interactable (インタラクタブル)
        • Button (ボタン)
        • Bounding Box
        • Object Manipulation (物体操作)
        • Sliders (スライダー)
        • Fingertip Visualization
        • App Bar
        • Object Collection (オブジェクトコレクション)
        • Slate (スレート)
        • System Keyboard (システム キーボード)
        • Tooltips (ツールチップ)
        • Solvers (ソルバー)
      • Example Scenes
        • Examples Hub
        • ハンド インタラクションのサンプル
        • アイ トラッキング インタラクションのサンプル
      • Experimental
        • Scrolling Object Collection
        • Hand Coach UX
        • Pulse Shader
    • Contributing
      • Contributing Overview
      • Coding Guidelines
      • Writing and Running Tests
      • Writing Documentation
      • Pull Requests
      • Experimental Features
      • Breaking Changes
      • How to use DocFX
    • Planning
      • Roadmap
    • Notice
    • Authors

    MixedRealityServiceRegistry と IMixedRealityServiceRegistrar とは何か?

    Mixed Reality Toolkit には、関連するタスクを行う2つの非常に似た名前のコンポーネントがあります。 MixedRealityServiceRegistry と IMixedRealityServiceRegistrar です。

    MixedRealityServiceRegistry

    MixedRealityServiceRegistry は 登録されたサービス(コア システムとエクステンション サービス)のそれぞれのインスタンスを含むコンポーネントです。

    Note

    MixedRealityServiceRegistry は、IMixedRealityExtensionService を含む IMixedRealityService インターフェイスを実装したオブジェクトのインスタンスを含んでいます。

    IMixedRealityDataProvider (IMixedRealityService のサブクラス) を実装しているオブジェクトは、明示的には MixedRealityServiceRegistry に登録されていません。これらのオブジェクトは、個々のサービス(例えば、Spatial Awareness)によって管理されています。

    MixedRealityServiceRegistry は静的な C# クラスとして実装されており、 アプリケーション コードでサービスのインスタンスを取得するのに使われる推奨パターンです。

    以下のスニペットは、IMixedRealityInputSystem のインスタンスを取得するデモです。

    IMixedRealityInputSystem inputSystem = null;
    
    if (!MixedRealityServiceRegistry.TryGetService<IMixedRealityInputSystem>(out inputSystem))
    {
        // input system の取得に失敗。登録されていないかもしれない。
    }
    

    IMixedRealityServiceRegistrar

    IMixedRealityServiceRegistrar は、1つまたは複数のサービスの登録を管理するコンポーネントで実装される機能を定義したインターフェイスです。 IMixedRealityServiceRegistrar を実装したコンポーネントは、MixedRealityServiceRegistry 内のデータの追加と削除を行う責務があります。 MixedRealityToolkit オブジェクトはそのようなコンポーネントの一つです。

    その他の registrars は MixedRealityToolkit.SDK.Experimental.Features フォルダーにて見つけることができます。 これらのコンポーネントは、単一のサービス(例えば、Spatial Awareness)のサポートをアプリケーションに追加するのに使うことができます。 これらの、単一サービスのマネージャーは以下の通りです。

    • BoundarySystemManager
    • CameraSystemManager
    • DiagnosticsSystemManager
    • InputSystemManager
    • SpatialAwarenessSystemManager
    • TeleportSystemManager

    上記コンポーネントの内 InputSystemManager 以外のものは、単一のサービス タイプの登録と状態を管理する責務があります。 InputSystem はいくつかの追加のサポート サービス(例えば、FocusProvider)を必要とし、それらもまた InputSystemManager によって管理されます。

    一般的に、IMixedRealityServiceRegistrar によって定義されたメソッドはサービス マネジメント コンポーネントによって内部的に呼ばれる、もしくは、正しく機能するために追加のサービス コンポーネントを必要とするサービスによって呼ばれます。 アプリケーション コードは、一般的に、これらのメソッドを呼ぶべきではありません。 アプリケーションが予想外の動きをする(例えば、キャッシュされたサービス インスタンスが無効になるかもしれない)可能性があるためです。

    関連項目

    • IMixedRealityServiceRegistrar API documentation
    • MixedRealityServiceRegistry API documentation
    • Improve this Doc
    In This Article
    • MixedRealityServiceRegistry
    • IMixedRealityServiceRegistrar
    • 関連項目
    Back to top Generated by DocFX