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

class IModelPreloader

(Niantic.Lightship.AR.Utilities.Preloading.IModelPreloader)

概要

ARDKクラスのインターフェイスで、意識特徴に必要なニューラルネットワークモデルファイルを事前にダウンロードします。 ファイルがプリロードされていない場合、これらの機能を使用するように設定されたARセッションが実行されると、ファイルのダウンロードに時間がかかります。

	クラス IModelPreloader:IDisposable {
public
// methods

virtual abstract PreloaderStatusCode DownloadModel(DepthMode depthMode) = 0;
virtual abstract PreloaderStatusCode DownloadModel(SemanticsMode semanticsMode) = 0;

virtual abstract PreloaderStatusCode RegisterModel(
DepthMode depthMode,
string filepath
) = 0

virtual abstract PreloaderStatusCode RegisterModel(
SemanticsMode semanticsMode,
string filepath
) = 0;

virtual abstract PreloaderStatusCode CurrentProgress(
DepthMode depthMode,
out float progress
) = 0

virtual abstract PreloaderStatusCode CurrentProgress(
SemanticsMode semanticsMode,
out float progress
) = 0;

virtual abstract bool ExistsInCache(DepthMode depthMode) = 0;
virtual abstract bool ExistsInCache(SemanticsMode semanticsMode) = 0
virtual abstract bool ClearFromCache(DepthMode depthMode) = 0;
virtual abstract bool ClearFromCache(SemanticsMode semanticsMode) = 0;
virtual abstract void Dispose() = 0;
}

詳細資料

ARDKクラスのインターフェイスで、意識特徴に必要なニューラルネットワークモデルファイルを事前にダウンロードします。 ファイルがプリロードされていない場合、これらの機能を使用するように設定されたARセッションが実行されると、ファイルのダウンロードに時間がかかります。

各アウェアネス機能には、性能-品質曲線上に1つ以上のモードがあり、各モードは異なるモデルファイルに対応している。 Niantic.Lightship.AR.Utilities.Preloading](../index.mdx)のFeatureを参照してください。

メソッド

DownloadModel

virtual abstract PreloaderStatusCode DownloadModel(DepthMode depthMode) = 0

要求されたモデルファイルがまだ存在しなければ、キャッシュへのダウンロードを開始する。 リクエストステータスは、CurrentProgress(DepthMode, float)またはExistsInCache(DepthMode)でポーリングできます。

    戻り値:

    リクエストの初期ステータスを示すPreloaderStatusCodeを返す。 リクエストの最終結果は、非同期ネットワーク操作のために延期される可能性があるため、このリクエストがPreloaderStatusCode.SuccessまたはPreloaderStatusCode.RequestInProgressを返す場合、ユーザーは、ネットワークリクエストが正常に完了したことを確認するために、フレームごとにCurrentProgress(DepthMode, out float)を問い合わせ続ける必要があります。

DownloadModel

virtual abstract PreloaderStatusCode DownloadModel(SemanticsMode semanticsMode) = 0

要求されたモデルファイルがまだ存在しなければ、キャッシュへのダウンロードを開始する。 リクエストステータスは、CurrentProgress(SemanticsMode, float)またはExistsInCache(SemanticsMode)でポーリングできます。

    戻り値:

    リクエストの初期ステータスを示すPreloaderStatusCodeを返す。 リクエストの最終結果は、非同期ネットワーク操作のために延期される可能性があるため、このリクエストがPreloaderStatusCode.SuccessまたはPreloaderStatusCode.RequestInProgressを返す場合、ユーザーは、ネットワークリクエストが正常に完了したことを確認するために、フレームごとにCurrentProgress(SemanticsMode, out float)を問い合わせ続ける必要があります。

RegisterModel

virtual abstract PreloaderStatusCode RegisterModel(
DepthMode depthMode,
string filepath
) = 0

特定のフィーチャーのローカルニューラルネットワークモデルファイルを登録します。 これは、指定された機能モードに対する Lightship の URI を上書きし、Lightship が初期化されるまで有効です。 このファイルは、アプリケーションからアクセス可能な場所にあり、ARセッションの間、そのままでなければならない。

    戻り値:

    リクエストの結果を示すPreloaderStatusCodeを返す。

RegisterModel

virtual abstract PreloaderStatusCode RegisterModel(
SemanticsMode semanticsMode,
string filepath
) = 0

特定のフィーチャーのローカルニューラルネットワークモデルファイルを登録します。 これは、指定された機能モードに対する Lightship の URI を上書きし、Lightship が初期化されるまで有効です。 このファイルは、アプリケーションからアクセス可能な場所にあり、ARセッションの間、そのままでなければならない。

    戻り値:

    リクエストの結果を示すPreloaderStatusCodeを返す。

CurrentProgress

virtual abstract PreloaderStatusCode CurrentProgress(
DepthMode depthMode,
out float progress
) = 0

モードファイル要求の現在のステータスを読む。 DownloadModel の結果は非同期であるため、HTTP リクエストが正常に完了したことを確認するために、呼び出し元は CurrentProgress(DepthMode, float) をポーリングしてリクエストのステータスを確認する必要があります。

    Parameters:

    progress - [0.0, 1.0] の範囲の値で、指定したフィーチャーモードのモデルファイルのダウンロードがどれだけ進んでいるかを表します。 進捗が1.0であれば、ファイルがキャッシュに存在することを意味する。 ダウンロードの進行状況はサーバーに依存するため、常に進行状況のインクリメンタルな更新をサポートするとは限りません。

    戻り値:

    リクエストのステータスを示すPreloaderStatusCodeを返す。

CurrentProgress

virtual abstract PreloaderStatusCode CurrentProgress(
SemanticsMode semanticsMode,
out float progress
) = 0

モードファイル要求の現在のステータスを読む。 DownloadModel の結果は非同期であるため、呼び出し元は HTTP リクエストが正常に完了したことを確認するために、CurrentProgress(SemanticsMode, float)をポーリングしてリクエストのステータスを確認する必要があります。

    Parameters:

    progress - [0.0, 1.0] の範囲の値で、指定したフィーチャーモードのモデルファイルのダウンロードがどれだけ進んでいるかを表します。 進捗が1.0であれば、ファイルがキャッシュに存在することを意味する。 ダウンロードの進行状況はサーバーに依存するため、常に進行状況のインクリメンタルな更新をサポートするとは限りません。

    戻り値:

    リクエストのステータスを示すPreloaderStatusCodeを返す。

ExistsInCache

virtual abstract bool ExistsInCache(DepthMode depthMode) = 0

指定されたDepthModeに関連付けられたモデルがキャッシュに存在するかどうかをチェックします。

    戻り値:

    指定されたモデルがアプリケーションのキャッシュで見つかった場合はTrue。

ExistsInCache

virtual abstract bool ExistsInCache(SemanticsMode semanticsMode) = 0

指定されたSemanticsModeに関連付けられたモデルがキャッシュに存在するかどうかをチェックします。

    戻り値:

    指定されたモデルがアプリケーションのキャッシュで見つかった場合はTrue。

ClearFromCache

virtual abstract bool ClearFromCache(DepthMode depthMode) = 0

このモデル・ファイルをアプリケーションのキャッシュから消去します。 この関数は、ダウンロードが現在進行中であるか、ファイルがキャッシュに存在しない場合に失敗する。 指定されたモデルが現在 Lightship AR セッションにロードされているときにこれを呼び出すことは無効であり、未定義の動作になります。

    戻り値:

    指定された機能がアプリケーションのキャッシュに存在し、正常に削除された場合はTrue。

ClearFromCache

仮想抽象bool ClearFromCache(SemanticsMode semanticsMode) = 0

このモデル・ファイルをアプリケーションのキャッシュから消去します。 この関数は、ダウンロードが現在進行中であるか、ファイルがキャッシュに存在しない場合に失敗する。 指定されたモデルが現在 Lightship AR セッションにロードされているときにこれを呼び出すことは無効であり、未定義の動作になります。

    戻り値:

    指定された機能がアプリケーションのキャッシュに存在し、正常に削除された場合はTrue。

Dispose

virtual abstract void Dispose() = 0

ネイティブモデルプリローダーのハンドルを破棄します。