private void OnDestroy() { if (objectSpawner != null) { objectSpawner.OnObjectSpawned -= ObjectSpawner_OnObjectSpawned; } if (spatialAnchorManager != null) { spatialAnchorManager.DestroySession(); } }
void OnDestroy() { if (cloudManager != null && cloudManager.Session != null) { cloudManager.DestroySession(); } if (currentWatcher != null) { currentWatcher.Stop(); currentWatcher = null; } }
/// <summary> /// オブジェクトの後処理(廃棄)を実施します。 /// </summary> public void OnDestroy() { try { if (cloudManager != null && cloudManager.Session != null) { cloudManager.DestroySession(); } if (currentWatcher != null) { currentWatcher.Stop(); currentWatcher = null; } } catch (Exception e) { Debug.Log(e); throw; } }
private async UniTask DemoRoutine() { _instructionUIPresenter.UpdateMessage("NearAnchor Demo"); await _instructionUIPresenter.OnTriggerProceed().First(); _instructionUIPresenter.UpdateMessage("1.最初に一つ目のアンカーを生成します"); await _instructionUIPresenter.OnTriggerProceed().First(); // セッション開始 await _spatialAnchorManager.StartSessionAsync(); // 最初のアンカーの生成 var firstAnchor = await CreateAnchorTask(); _instructionUIPresenter.UpdateMessage("2.続けて周辺に接続されたアンカーを生成します"); await _instructionUIPresenter.OnTriggerProceed().First(); _instructionUIPresenter.UpdateMessage("3.二つ目のアンカーを生成します"); await _instructionUIPresenter.OnTriggerProceed().First(); // 周辺のアンカーの生成 var secondAnchor = await CreateAnchorTask(); _instructionUIPresenter.UpdateMessage("4.三つ目のアンカーを生成します"); await _instructionUIPresenter.OnTriggerProceed().First(); var thirdAnchor = await CreateAnchorTask(); _instructionUIPresenter.UpdateMessage("5.一度セッションを終了します"); await _instructionUIPresenter.OnTriggerProceed().First(); await _spatialAnchorManager.ResetSessionAsync(); _instructionUIPresenter.UpdateMessage("6.アンカーが配置されていることを確認します"); await _instructionUIPresenter.OnTriggerProceed().First(); await GraphAnchorsTask(new[] { firstAnchor, secondAnchor, thirdAnchor }, Color.blue, new Vector3(0.08f, 0.2f, 0.08f)); _instructionUIPresenter.UpdateMessage("7.もう一度セッションを終了します"); await _instructionUIPresenter.OnTriggerProceed().First(); await _spatialAnchorManager.ResetSessionAsync(); _instructionUIPresenter.UpdateMessage("8.一つ目のアンカーを画像情報から検知します"); await _instructionUIPresenter.OnTriggerProceed().First(); var locatedFirstAnchor = (await LocateAnchorsTask(new[] { firstAnchor }, Color.green, new Vector3(0.2f, 0.08f, 0.08f))).ToList(); Assert.IsTrue(locatedFirstAnchor.Count == 1); _instructionUIPresenter.UpdateMessage("9.残り二つのアンカーを接続情報から検知します"); await _instructionUIPresenter.OnTriggerProceed().First(); await LocateNearAnchorsTask(locatedFirstAnchor[0], 2); _instructionUIPresenter.UpdateMessage("10.セッションを終了します"); await _instructionUIPresenter.OnTriggerProceed().First(); _anchorObjectPresenter.CleanAllAnchors(); _spatialAnchorManager.DestroySession(); }