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