index
title: class IModelPreloader toc_max_heading_level: 4
class IModelPreloader
(Niantic.Lightship.AR.Utilities.Preloading.IModelPreloader)
概要
認識機能に必要なニューラルネットワークモデルファイルを事前にダウンロードする ARDK クラスのインターフェイス。
class 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の Feature.cs を参照してください。
メソッド
DownloadModel
virtual abstract PreloaderStatusCode DownloadModel(DepthMode depthMode) = 0
要求されたモデルファイルがまだ存在しなければ、キャッシュへのダウンロードを開始する。 リクエストステータスはCurrentProgress またはExistsInCacheでポーリングできる。
次の値が返ります。
リクエストの初期ステータスを示すPreloaderStatusCodeを返す。 リクエストの最終結果は、非同期ネットワーク操作のために延期される可能性があるため、このリクエストがSuccessまたはRequestInProgressを返す場合、ユーザーはCurrentProgressを毎フレーム問い合わせ続け、ネットワークリクエストが正常に完了したことを確認する必要がある。
RegisterModel
virtual abstract PreloaderStatusCode RegisterModel(
DepthMode depthMode,
string filepath
) = 0
特定のフィーチャーのローカルニューラルネットワークモデルファイルを登録します。 これは、指定された機能モードに対する Lightship の URI を上書きし、Lightship が初期化されるまで有効です。 ファイルはアプリケーションからアクセス可能な場所にあり、 AR セッションの間、その場所にある必要があります。
次の値が返ります。
リクエストの結果を示すPreloaderStatusCodeを返す。
CurrentProgress
virtual abstract PreloaderStatusCode CurrentProgress(
DepthMode depthMode,
out float progress
) = 0
モードファイル要求の現在のステータスを読む。 DownloadModel の結果は非同期であるため、呼び出し側は HTTP リクエストが正常に完了したことを確認するために、リクエストのステータスについて CurrentProgress をポーリングする必要があります。
パラメータ:
progress
- [0.0, 1.0]の範囲の値で、指定されたフィーチャーモードのモデルファイルのダウンロードの進捗状況を表す。 進捗が1.0であれば、ファイルがキャッシュに存在することを意味する。 ダウンロードの進行状況はサーバーに依存するため、常に進行状況のインクリメンタルな更新をサポートするとは限りません。
次の値が返ります。
リクエストのステータスを示すPreloaderStatusCodeを返す。
ExistsInCache
virtual abstract bool ExistsInCache(DepthMode depthMode) = 0
次の値が返ります。
指定された機能がアプリケーションのキャッシュで見つかった場合は真。
ClearFromCache
virtual abstract bool ClearFromCache(DepthMode depthMode) = 0
このモデル・ファイルをアプリケーションのキャッシュから消去します。 この関数は、ダウンロードが現在進行中であるか、ファイルがキャッシュに存在しない場合に失敗する。 指定されたモデルが Lightship AR セッションに現在ロードされている間にこれを呼び出すことは無効であり、未定義の動作になります。
次の値が返ります。
指定された機能がアプリケーションのキャッシュに存在し、正常に削除された場合は真。