Skip to main content
Version: 1.11.0

VL リクエスト送信

VLSDKSettings ファイルを割り当てると、VLSDKManager は VLSDKSettings に設定された値に合わせて自動的に VL リクエストを送信します。基本的には追加の作業なしに Scene が有効化されると VL リクエストを送信し始めます。

warning

Unity Editor 環境では、VL リクエストを送信するデータセットが設定されている必要があります。詳細については、Editor 環境での VLSDKを参照してください。

VL リクエスト自動開始

VLSDKManager は基本的にPlay On Awakeが有効化されています。この値が有効化されていれば、VLSDKManager のセッションが自動的に実行されて VL リクエストを送信し始めます。

play_on_awake

VL リクエスト手動管理

特定のタイミングに合わせて VL リクエストを送信したい、または VL リクエストを中止したい場合、VLSDKManager のメソッドを使用して VL リクエストを直接管理できます。そのためにはまず、Play On Awakeを無効化する必要があります。

VLSDK セッション開始

VLSDK セッションが開始していない状態で VL リクエストセッションを開始したい場合は、StartSession()メソッドを呼び出してセッションを開始できます。

using UnityEngine;
using ARCeye;

public class GameManager : MonoBehaviour
{
public ARCeye.VLSDKManager m_VLSDKManager;

void Start()
{
m_VLSDKManager.StartSession();
}
}

VLSDK セッション停止

VLSDK セッションを停止したい場合は、StopSession()メソッドを呼び出してセッションを停止できます。VLSDK の状態と認識されたグローバル位置は維持したまま VL リクエストのみ停止します。

using UnityEngine;
using ARCeye;

public class GameManager : MonoBehaviour
{
public ARCeye.VLSDKManager m_VLSDKManager;

public void OnDisable()
{
m_VLSDKManager.StopSession();
}
}

VLSDK セッション初期化

VLSDK 内部状態と認識されたグローバル空間をすべて初期化したい場合は、ResetSession()メソッドを呼び出してセッションを初期化できます。ResetSession()メソッドを呼び出すと、内部状態がInitial状態になり、VLSDKManager のOnStateChanged(TrackerState)イベントが呼び出されます。

using UnityEngine;
using ARCeye;

public class GameManager : MonoBehaviour
{
public ARCeye.VLSDKManager m_VLSDKManager;

public void Reset()
{
m_VLSDKManager.ResetSession();
}

// VLSDKManagerの`OnStateChanged(TrackerState)`イベントを購読している場合
// Reset呼び出し時に以下のメソッドが実行される。stateにはTrackerState.INITIALが渡される。
public void OnStateChanged(TrackerState state)
{
Debug.Log($"OnStateChanged: " + state);
}
}