本文へスキップ
バージョン: 3.4

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オクルージョンモードでオクルージョンされる主要な仮想オブジェクトを設定します。

.. 注::

この方法は、最適なオクルージョン距離モードの設定を変更します。