VLSDKSettings
VLSDKSettingsは、VLSDKのすべての設定値を管理するScriptableObjectです。VLSDKManagerに割り当てられ、VL APIリクエストアドレス、GPSガイド、VL品質、ログレベルなど、VLSDKの動作を制御するすべての設定を含みます。
Properties
| Property | Type | Description |
|---|---|---|
| URLList | List<VLURL> | VLリクエストを送信するInvoke URLとSecret Keyのリスト。複数のVL APIを使用可能 |
| GPSGuide | bool | GPS位置ベースでVL APIを選択する機能の有効化有無 |
| locationGeoJson | string | GPS Guideで使用するGeoJSON形式の領域データ |
| vlIntervalInitial | int | VL Pass状態以前のVLリクエスト周期(単位:ms、範囲:250~5000、デフォルト:250) |
| vlIntervalPassed | int | VL Pass状態以降のVLリクエスト周期(単位:ms、範囲:250~5000、デフォルト:1000) |
| vlQuality | VLQuality | VLレスポンスの品質基準。LOW、MEDIUM、HIGHから選択 |
| initialPoseCount | int | 初期位置計算に必要なVL成功レスポンス数(デフォルト:1) |
| initialPoseDegree | float | 初期位置計算時に必要なポーズ間の最小回転角度(単位:degree、デフォルト:10) |
| failureCountToNotRecognized | int | Initial状態からNotRecognized状態に転換されるVL失敗回数(デフォルト:20) |
| failureCountToFail | int | VL Pass状態からVL Fail状態に転換されるVL失敗回数(デフォルト:40) |
| failureCountToReset | int | VL Fail状態からInitial状態に転換(リセット)されるVL失敗回数(デフォルト:40) |
| faceBlurring | bool | VLリクエスト画像で顔をぼかし処理する機能の有効化有無(デフォルト:false) |
| showVLPose | bool | 受信したVL PoseをSceneで視覚化する機能の有効化有無(デフォルト:false) |
| logLevel | LogLevel | コンソールに出力するログレベル(デフォルト:DEBUG) |
| testMode | bool | テストモード有効化有無。内部フィルタリング機能を無効化(デフォルト:false) |
作成方法
VLSDKSettingsファイルはUnity EditorのAssetsメニューから作成できます。
Assets > Create > ARCeye > VLSDKSettings
作成された.assetファイルをVLSDKManagerのSettingsフィールドに割り当てて使用します。
使用例
基本設定
// VLSDKSettingsファイルをVLSDKManagerに割り当て
VLSDKManager vlsdkManager = GetComponent<VLSDKManager>();
vlsdkManager.settings = myVLSDKSettings;
vlsdkManager.Initialize();
ランタイム設定変更
// ランタイムでVL Qualityを変更
myVLSDKSettings.vlQuality = VLQuality.HIGH;
// GPS Guideを有効化
myVLSDKSettings.GPSGuide = true;
// Face Blurringを有効化
myVLSDKSettings.faceBlurring = true;
詳細説明
URL List
1つのアプリで複数のVL APIを使用できるようにURLリストを管理します。VLSDKは次のような順序でURLを使用します:
- 初期にはすべてのURLに順次VLリクエストを送信
- 成功レスポンスを受け取ったURLを優先的に使用
- GPS Guideが有効化されている場合、GPS位置に該当するURLのみ使用
GPS Guide
GPS Guideを有効化すると、デバイスのGPS位置を基にlocationGeoJsonに定義された領域とマッチングして、該当領域のVL APIのみを使用します。これにより:
- サービス領域外での不要なVLリクエストを防止
- 多数のVL APIを効率的に管理
GeoJSON形式はRFC 7946仕様に従い、各featureのproperties.location値がVLURL.locationと一致する必要があります。
VL Quality
VL QualityはVLレスポンスの信頼度基準を設定します:
- LOW:VL Pass認定基準が低い。成功回数は多いが誤った位置認識の可能性が高い
- MEDIUM:バランスの取れた設定(デフォルト)
- HIGH:VL Pass認定基準が高い。成功回数は少ないが精度向上
Failure Count設定
VLSDKはVL失敗回数に応じて状態を転換します:
failureCountToNotRecognized:Initial → NotRecognized転換基準failureCountToFail:VL Pass → VL Fail転換基準failureCountToReset:VL Fail → Initial転換(リセット)基準
状態転換についての詳細はTrackerStateを参照してください。
Initial Pose設定
初期位置を計算するための設定です:
initialPoseCount:必要な成功レスポンス数initialPoseDegree:各ポーズ間の最小回転角度差
例えば、initialPoseCount=3、initialPoseDegree=10の場合、10度以上の角度差がある3つの成功レスポンスが必要です。
関連タイプ
VLURL
VL APIの連携情報を含むクラスです。
public class VLURL
{
public string location // VL APIが動作する地域名
public string invokeUrl // ARC eye APIのInvoke URL
public string secretKey // ARC eye APIのSecret Key
public bool Inactive // このURLの使用有無(trueの場合使用しない)
}
VLQuality
VLレスポンスの品質基準を表す列挙型です。
public enum VLQuality
{
LOW, // 低い品質基準(成功回数多い、精度低い)
MEDIUM, // 中間品質基準(デフォルト)
HIGH // 高い品質基準(成功回数少ない、精度高い)
}
LogLevel
ログ出力レベルを表す列挙型です。
public enum LogLevel
{
DEBUG, // すべてのログを出力
INFO, // INFO以上を出力
WARNING, // WARNING以上を出力
ERROR, // ERROR以上を出力
FATAL // FATALログのみ出力
}
参考
- VLSDKSettings作成および設定方法:VLSDKSettings作成
- VLSDKSettingsをVLSDKManagerに割り当てる方法:VLSDKSettings割り当て