Display0
の id
で Display サブシステムをスキャンして作成または起動するために、以下のスクリプトをプロジェクトに追加します。他の Display サブシステムをロードしたい場合は、match
の変数を変更します。
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Experimental.XR;
using UnityEngine.XR;
public class Display : MonoBehaviour
{
public string match = "Display0";
// 初期化には以下を使用します
void Start ()
{
List<XRDisplaySubsystemDescriptor> displays = new List<XRDisplaySubsystemDescriptor>();
SubsystemManager.GetSubsystemDescriptors(displays);
Debug.Log("Number of display providers found: " + displays.Count);
foreach (var d in displays)
{
Debug.Log("Scanning display id: " + d.id);
if (d.id.Contains(match))
{
Debug.Log("Creating display " + d.id);
XRDisplaySubsystem dispInst = d.Create();
if (dispInst != null)
{
Debug.Log("Starting display " + d.id);
dispInst.Start();
}
}
}
}
}
XR Management パッケージは、ランタイムにサブシステムのロードを設定するためのユーザ向け UI です。サブシステムを作成管理するために、同じ基盤 API (前述) を使用します。プロバイダーを XR Settings UI に表示したい場合は、XRLoader を記述します。
プラグインの読み込みに失敗する場合は、後述のト ラブルシューティング を参照してください。
サブシステムのプロバイダーの初期化や起動をトラブルシュートするには、エディターログ、またはプレイヤー出力ログ の XR
または Subsystems
で始まる行を確認してください。
.json とプラグインファイルを加えて間もない場合は、必ず Unity を再起動してください。現在、Unity は起動時にのみこれらのファイルを検出します。また、プロバイダーが正しい ファイルレイアウト を使用していることを確認してください。
エラー | 説明 |
---|---|
[XR] 3 ‘displays’ descriptors matched in Assets/UnityXRDisplayExample/UnitySubsystemsManifest.json | Unity はディスプレイディスクリプターの検出に成功し、このプラグインに 3 つの異なる id を登録しています。 |
[XR] No descriptors matched for inputs in Assets/UnityXRDisplayExample/UnitySubsystemsManifest.json. | .json ファイルに入力ディスクリプターが含まれていません。入力サブシステムを実装していない場合、これは正常です。 Unity が .json ファイルでディスクリプターの検出が期待される場合、それらは不正な形式である可能性があります。使用する正しい形式については、UnitySubsystemsManifest.json のドキュメントを参照してください。 |
[XR] Failed to parse json header for Assets/UnityXRDisplayExample/UnitySubsystemsManifest.json (did you forget to include name or libraryName fields?) | これは、不正な .json ファイルがあることを意味すると考えられます。json linter のような検証ツールで確認してください。 |
エラー | 説明 |
---|---|
[XR] PluginName failed to register Provider for DisplayId (json name or id doesn’t match?) | これは、RegisterLifecycleProvider の最初の 2 つの引数が、.json ファイルと一致していないことを意味します。最初の引数である pluginName は、.json ファイルの name フィールドと一致する必要があります。2 番目の引数である id は、.json ファイルのサブシステムの id フィールドと一致する必要があります。 |
[XR] Unable to load plugin PluginName for subsystem DisplayId | プラグインが見つかりませんでした。誤ったアーキテクチャ用にビルドされているか、ロードする必要のある依存関係が不足しています。後者の場合は、Dependency Walker ツールを使用して、不足している依存関係があるかどうかを調べることができます。 |
エラー | 説明 |
---|---|
[XR] Failed to initialize subsystem DisplayId [error: 1] | Unity は Initialize メソッドを呼び出しましたが、kUnitySubsystemErrorCodeFailure が返されました。Initialize メソッドの実装を再確認してください。 |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.