class Provider
(Niantic.Lightship.AR.XRSubsystems.XRSemanticsSubsystem.Provider)
概要
XRSemanticsSubsystem](../index.mdx)をサービスするプロバイダ。
class Provider: SubsystemProvider< XRSemanticsSubsystem > {
public:
// フィールド
? uint LatestFrameId => throw new NotSupportedException("この実装では最新のフレームIDの取得はサポートされていません");
bool IsMetadataAvailable => throw new NotSupportedException("この実装ではメタデータの利用可否の取得はサポートされていません");
// プロパティ
uint TargetFrameRate;
List<string> SuppressionMaskChannels;
// メソッド
virtual bool TryPrepareSubsystem();
virtual bool TryGetSemanticChannel(
string channelName,
out XRTextureDescriptor semanticChannelDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
);
virtual bool TryAcquireSemanticChannelCpuImage(
string channelName,
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
);
virtual bool TryGetPackedSemanticChannels(
out XRTextureDescriptor packedSemanticsDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
);
virtual bool TryAcquirePackedSemanticChannelsCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
);
virtual bool TryGetSuppressionMaskTexture(
out XRTextureDescriptor suppressionMaskDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
);
virtual bool TryAcquireSuppressionMaskCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
);
virtual bool TryGetChannelNames(out IReadOnlyList<string> names);
virtual bool TrySetChannelConfidenceThresholds(Dictionary<string, float> channelConfidenceThresholds);
virtual bool TryResetChannelConfidenceThresholds();
};
詳細なドキュメント
XRSemanticsSubsystem](../index.mdx)をサービスするプロバイダ。
プロパティ
TargetFrameRate
uint TargetFrameRate
プラットフォームのセマンティック セグメンテーション機能のフレームレートを取得または設定するためにプロバイダが実装するプロパティ。
要求されたフレームレート(フレーム/秒)。
パラメーター:
System.NotSupportedException
- 実装がサポートしていないフレームレートを要求したときにスローされます。
SuppressionMaskChannels
List<string> SuppressionMaskChannels
プラットフォームのセマンティック セグメンテーション機能における抑制チャンネルのリストを取得または設定するためのプロパティで、プロバイダによって実装されます。
リクエストされた抑制チャンネルのリストです。
パラメーター:
System.NotSupportedException
- チャンネルのリストが実装でサポートされていない場合にスローされます。
メソッド
TryPrepareSubsystem
virtual bool TryPrepareSubsystem()
セマンティック セグメンテーション モデルの準備ができたら、サブシステムのデータ構造を準備します。
戻り値:
セマンティック セグメンテーション モデルの準備が整い、サブシステムがデータ構造を準備した場合、true を返します。 それ以外の場合、false。
TryGetSemanticChannel
virtual bool TryGetSemanticChannel(
string channelName,
out XRTextureDescriptor semanticChannelDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
セマンティックチャネルのテクスチャ記述子と、ビューポートからテクスチャの座標空間に変換する行列を取得するためにプロバイダによって実装されるメソッド。
パラメーター:
channelName
- 必要なセマンティック・チャンネルの文字列。
semanticChannelDescriptor
- セマンティックチャンネルのテクスチャ記述子。
samplerMatrix
- ビューポートからテクスチャに正規化された座標を変換します。
cameraParams
- ビューポートを記述します。
System.NotSupportedException
- 実装がセマンティックチャンネルテクスチャをサポートしていない場合にスローされます。
戻り値:
セマンティックチャネルのテクスチャディスクリプタが利用可能で、返される 場合はtrue。 それ以外の場合、false。
TryAcquireSemanticChannelCpuImage
virtual bool TryAcquireSemanticChannelCpuImage(
string channelName,
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
最新のセマンティックチャンネルCPU画像の取得を試みる。
パラメーター:
channelName
- 必要なセマンティック・チャンネルの文字列。
cpuImage
- このメソッドが true
を返した場合、取得した XRCpuImage を返します。 XRCpuImageは呼び出し元が処分しなければなりません。
samplerMatrix
- ピクセル座標をサンプリングするための行列で、ディスプレイ行列とワープ行列から構成される。
cameraParams
- サンプリングするビューポートのパラメータ。
System.NotSupportedException
- 実装がセマンティックチャンネルCPUイメージをサポートしていない場合にスローされます。
戻り値:
XRCpuImage の取得に成功した場合に true
を返します。
TryGetPackedSemanticChannels
virtual bool TryGetPackedSemanticChannels(
out XRTextureDescriptor packedSemanticsDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
パックされたセマンティック・テクスチャ記述子を取得します。
パラメーター:
packedSemanticsDescriptor
- プロバイダから利用可能であれば、入力されるパックされたセマンティック・テクスチャ記述子。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- ビューポートを記述します。
System.NotSupportedException
- packed semantics texture をサポートしていない場合にスローされます。
戻り値:
packed semantics texture descriptorが利用可能であればtrueを返す。 それ以外の場合、false。
TryAcquirePackedSemanticChannelsCpuImage
virtual bool TryAcquirePackedSemanticChannelsCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
最新のパックされたセマンティックチャンネルXRCpuImageの取得を試みる。
パラメーター:
cpuImage
- このメソッドが true
を返した場合、取得した XRCpuImage を返します。 XRCpuImageは呼び出し元が処分しなければなりません。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- ビューポートを記述します。
戻り値:
TryGetSuppressionMaskTexture
virtual bool TryGetSuppressionMaskTexture(
out XRTextureDescriptor suppressionMaskDescriptor,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
セマンティック抑制テクスチャの記述子を取得します。
パラメーター:
suppressionMaskDescriptor
- プロバイダから取得可能な場合に設定される抑制マスクテクスチャの記述子。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- ビューポートを記述します。
System.NotSupportedException
- 抑制マスクテクスチャが実装でサポートされていない場合にスローされます。
戻り値:
セマンティック抑制マスクテクスチャの記述子が取得可能な場合はtrueが返ります。 それ以外の場合、false。
TryAcquireSuppressionMaskCpuImage
仮想bool TryAcquireSuppressionMaskCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
)
最新の抑制マスクXRCpuImageの取得を試みます。
パラメーター:
cpuImage
- このメソッドが true
を返した場合、取得した XRCpuImage を返します。 XRCpuImageは呼び出し元が処分しなければなりません。
samplerMatrix
- ビューポートからテクスチャ座標に変換する行列。
cameraParams
- ビューポートを記述します。
戻り値:
TryGetChannelNames
virtual bool TryGetChannelNames(out IReadOnlyList<string> names)
現在のセマンティックモデルのセマンティックチャンネル名のリストを取得するためにプロバイダによって実装されるメソッド。
パラメーター:
names
- セマンティック・カテゴリラベルのリスト。 メソッドがfalseを返した場合は空になります。
System.NotSupportedException
- チャネル名の読み込みが実装によってサポートされていない場合にスローされます。
戻り値:
チャンネル名が利用可能であればtrue。 そうでない場合はfalseです。
TrySetChannelConfidenceThresholds
virtual bool TrySetChannelConfidenceThresholds(Dictionary<string, float> channelConfidenceThresholds)
パックされたセマンティックチャンネルバッファに、指定したセマンティックチャンネルを含めるための信頼度閾値を設定します。
各セマンティックチャネルは、ARセッション中にこの関数によって新しい値が設定されるまで、モデルによって選択されたデフォルトの閾値を使用します。
パラメーター:
channelConfidenceThresholds
- 必要とされるセマンティック・チャンネルの名前を指定するキーと、プラットフォームが指定されたチャネルをパックされたセマンティックバッファに含める閾値を設定する0から1までの値で構成される辞書。 キーは、TryGetChannelNamesが返すリストに存在するセマンティックチャネル名でなければなりません。
System.NotSupportedException
- 信頼度の閾値の設定が実装によってサポートされていない場合にスローされます。
戻り値:
閾値が設定されていればTrue。 それ以外の場合、false。
TryResetChannelConfidenceThresholds
仮想bool TryResetChannelConfidenceThresholds()
すべてのセマンティック・チャンネルの信頼度閾値を、現在のモデルのデフォルト値にリセットします。
これにより、TrySetChannelConfidenceThresholdsで行った変更はすべて元に戻ります。
パラメーター:
System.NotSupportedException
- 信頼度閾値のリセットが実装でサポートされていない場合にスローされます。
戻り値:
閾値がリセットされた場合はtrueが返ります。 それ以外の場合、false。