class LightshipOcclusionExtension
(Niantic.Lightship.AR.Occlusion.LightshipOcclusionExtension)
概要
このコンポーネントを使用すると、LightshipのXROcclusionSubsystem 実装で使用可能な追加機能を設定できます。
class LightshipOcclusionExtension:MonoBehaviour {
public:
enumOptimalOcclusionDistanceMode;
// fields
static const string DefaultShaderName = "Lightship/OcclusionExtension";
// properties
uint TargetFrameRate;
bool Visualization;
bool PreferSmoothEdges;
Matrix4x4?LatestIntrinsicsMatrix;
OptimalOcclusionDistanceMode Mode;
bool IsOcclusionSuppressionEnabled;
bool IsOcclusionStabilizationEnabled;
float StabilizationThreshold;
bool IsRenderingActive;
bool BypassOcclusionManagerUpdates;
Texture2D?DepthTexture;
Matrix4x4 DepthTransform;
bool UseCustomBackgroundMaterial;
Material CustomBackgroundMaterial;
Material?BackgroundMaterial;
// methods
bool AddSemanticSuppressionChannel(string channelName);
void RemoveSemanticSuppressionChannel(string channelName);
bool TryGetDepth(int screenX, int screenY, out float depth);
void TrackOccludee(Renderer occludee);
};
詳細資料
このコンポーネントを使用すると、LightshipのXROcclusionSubsystem 実装で使用可能な追加機能を設定できます。
Fields
DefaultShaderName
static const string DefaultShaderName = "Lightship/OcclusionExtension"
デフォルトの Lightship Occlusion Extension シェーダーの名前。
Properties
TargetFrameRate
uint TargetFrameRate
深度推論を実行するフレームレートを取得または設定します。
Visualization
bool Visualization
有効にすると、このコンポーネントはオクルージョンに使用される深度画像を表示します。 可視化は、カスタムオクルージョン機能(抑制や安定化など)が有効な場合にのみ使用できることに注意してください。
PreferSmoothEdges
ブール PreferSmoothEdges
有効にすると、レンダリング時に深度画像がバイリニアにサンプリングされます。
LatestIntrinsicsMatrix
Matrix4x4? LatestIntrinsicsMatrix
最新のセマンティック・セグメンテーション予測の内部パラメータ行列(intrinsics matrix)を返します。 カメラの焦点距離と主点の値を含みます。 カメラから見た2D画像のピクセル座標と3Dワールド座標を変換します。
内部パラメータ行列(intrinsics matrix)
Parameters:
System.NotSupportedException
- 内部パラメータ行列(intrinsics matrix)の取得がサポートされていない場合に発生します。
モード
OptimalOcclusionDistanceMode モード
オクルージョンの視覚的品質が最も高くなる距離を決定するために使用されている現在のモードを取得または設定します。
IsOcclusionSuppressionEnabled
ブール IsOcclusionSuppressionEnabled
セマンティックセグメンテーションに基づくオクルージョン抑制を有効にするかどうかを取得または設定します。
IsOcclusionStabilizationEnabled
bool IsOcclusionStabilizationEnabled
メッシュベースのオクルージョン安定化を有効にするかどうかを取得または設定します。
StabilizationThreshold
float StabilizationThreshold
スタビライズ時に、フレーム単位(0)を優先するか、融合深度(1)を優先するか。
IsRenderingActive
bool IsRenderingActive
カスタムオクルージョン機能を満たすために、背景レンダリングの2つめのパスをアクティブにするかどうか。
BypassOcclusionManagerUpdates
ブール BypassOcclusionManagerUpdates
オクルージョンマネージャーの深度テクスチャを自動的に更新しないようにするかどうか。 この機能は、深度が最終的にLightship Occlusion Extensionによってオーバーライドされるため、冗長なテクスチャ操作を避けるために使用できます。 この設定を使用しないと、レンダリングスレッドと望ましくない同期が発生し、パフォーマンスに影響を与える可能性があります。
デプステクスチャ
テクスチャ2D?深度テクスチャ
オクルージョンのレンダリングに使用する深度テクスチャを返します。
DepthTransform
行列4x4 深度変換
正規化された画像座標と、深度テクスチャを画面上にレンダリングするのに適した座標空間との間で変換するための変換を返します。
UseCustomBackgroundMaterial
bool UseCustomBackgroundMaterial
AR](../../index.mdx)の背景深度バッファの処理にカスタムマテリアルを使用するかどうかを取得または設定します。
CustomBackgroundMaterial
Material CustomBackgroundMaterial
AR](../../index.mdx)背景深度バッファの処理に使用するカスタムマテリアルを取得または設定します。
BackgroundMaterial
マテリアル?背景素材
使用中の背景レンダリング素材。
Parameters:
InvalidOperationException
- 背景シェーダーリソースが見つからない場合にスローされます。
メソッド
AddSemanticSuppressionChannel
bool AddSemanticSuppressionChannel(string channelName)
セマンティック・セグメンテーション チャンネルを、深度バッファで抑制されるチャンネルのコレクションに追加する。
Parameters:
channelName
- 追加するセマンティック・セグメンテーション チャンネル
戻り値:
チャンネルが正常に追加された場合はTrue
RemoveSemanticSuppressionChannel
void RemoveSemanticSuppressionChannel(string channelName)
セマンティックセグメンテーションチャンネルが存在する場合、それを深度バッファで抑制されるチャンネルのコレクションから削除する。
Parameters:
channelName
- 削除するセマンティック・セグメンテーション チャンネル
TryGetDepth
bool TryGetDepth(int screenX, int screenY, out float depth)
指定されたピクセル座標におけるメトリックの目の深さを返します。
Parameters:
screenX
- スクリーン上の x 位置。
screenY`` - スクリーン上のy位置。
depth`` - 得られる深度の値.
戻り値:
深さの値の取得に成功したかどうか。
TrackOccludee
void TrackOccludee(Renderer occludee)
SpecifiedGameObjectオクルージョンモードでオクルージョンされる主要な仮想オブジェクトを設定します。
.. 注::
この方法は、最適なオクルージョン距離モードの設定を変更します。