class ARSemanticSegmentationManager
(Niantic.Lightship.AR.Semantics.ARSemanticSegmentationManager)
概要
ARSemanticSegmentationManagerはXRSemanticsSubsystemを制御し、Updateループごとにセマンティクス・テクスチャを更新する。 テクスチャとXRCpuImagesは、個々のセマンティック・セグメンテーション チャンネルの信頼度マップと、ピクセルごとに選択された信頼度の閾値を超えたセマンティック・チャンネルを示すビット配列に利用できます。 画面上にセマンティック・セグメンテーション テクスチャがオーバーレイ表示されている場合は、画面上の任意の位置でセマンティックプロパティを読み取るユーティリティが表示されます。
クラス ARSemanticSegmentationManager:SubsystemLifecycleManager< XRSemanticsSubsystem, XRSemanticsSubsystemDescriptor, XRSemanticsSubsystem.Provider > {
public:
// fields
IReadOnlyList<string> ChannelNames => _readOnlyChannelNames;
IReadOnlyDictionary<string, int> ChannelIndices => _readOnlyChannelNamesToIndices;
// properties
uint?TargetFrameRate;
bool IsMetadataAvailable;
Action<ARSemanticSegmentationModelEventArgs> MetadataInitialized;
// events
event FrameReceived();
// methods
void Update();
Texture2D GetSemanticChannelTexture(
string channelName,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
Texture2D GetPackedSemanticChannelsTexture(
out Matrix4x4 samplerMatrix,
XRCameraParams? cameraParams = null
);
Texture2D GetSuppressionMaskTexture(
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryAcquireSemanticChannelCpuImage(
string channel,
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryAcquirePackedSemanticChannelsCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
bool TryAcquireSuppressionMaskCpuImage(
out XRCpuImage cpuImage,
out Matrix4x4 samplerMatrix,
XRCameraParams?cameraParams = null
);
int GetChannelIndex(string channelName);
uint GetSemantics(
int viewportX,
int viewportY,
XRCameraParams? cameraParams = null
);
リスト<int> GetChannelIndicesAt(
int viewportX,
int viewportY,
XRCameraParams?cameraParams = null
);
リスト<string> GetChannelNamesAt(
int viewportX,
int viewportY,
XRCameraParams? cameraParams = null
);
bool DoesChannelExistAt(
int viewportX,
int viewportY,
string channelName,
XRCameraParams?cameraParams = null
);
bool DoesChannelExistAt(
int viewportX,
int viewportY,
int channelIndex,
XRCameraParams?cameraParams = null
);
bool TrySetChannelConfidenceThresholds(Dictionary<string, float> channelConfidenceThresholds);
bool TryResetChannelConfidenceThresholds();
protected:
// methods
override void OnBeforeStart();
override void OnDisable();
};
詳細資料
ARSemanticSegmentationManagerはXRSemanticsSubsystemを制御し、Updateループごとにセマンティクス・テクスチャを更新します。 テクスチャとXRCpuImagesは、個々のセマンティック・セグメンテーション チャンネルの信頼度マップと、ピクセルごとに選択された信頼度の閾値を超えたセマンティック・チャンネルを示すビット配列に利用できます。 画面上にセマンティック・セグメンテーション テクスチャがオーバーレイ表示されている場合は、画面上の任意の位置でセマンティックプロパティを読み取るユーティリティが表示されます。
Fields
ChannelNames
IReadOnlyList<string> ChannelNames => _readOnlyChannelNames
現在のモデルで検出可能なセマンティックチャンネルの名前。
ChannelIndices
IReadOnlyDictionary<string, int> ChannelIndices => _readOnlyChannelNamesToIndices
現在のモデルが検出できるセマンティックチャンネルのインデックス。