학습 타겟 지우는 방법 재 질문
이전에 다른 질문 글에서 답변 주신 것과 다른 개발자가 작성한 질문에 보면
Stop() -> Destroy() -> Start() -> Add() -> Load() 순서로 진행하면 학습 타겟을 지울 수 있다고 답변을 주셨는데요.
해당 답변에 맞춰서 아래와 같이 코드를 작성했습니다.
```
private async UniTaskVoid ResetTrackerTask() { TrackerManager.Instance.StopTracker(); TrackerManager.Instance.DestroyTracker(); await UniTask.Delay(TimeSpan.FromSeconds(1)); // 다시 시작! TrackerManager.Instance.StartTracker(TrackerManager.TRACKER_TYPE_CLOUD_RECOGNIZER); }
```
에디터에서는 정상적으로 나오는데 안드로이드 및 IOS에서는 Invalid Signature가 화면에 표시됩니다.
유니티만 그런건가? 싶어서 IOS 네이티브로 테스트를 해봤는데도 동일하게 Destory()가 호출되면 Invalid Signature가 화면에 표시되더군요.
혹시 잘못된 방법으로 코드를 작성했다면... 확실하고 재대로된 리셋 방법을 알 수 있을까요? Add() 및 Load()는 클라우드 이미지 인식을 사용할 거라서 생략했습니다. 클라우드 이미지 인식-> 클라우드 이미지 인식 형태로 다른 인식으로 변경하지 않고 클라우드 이미지 인식만 사용하며 단순히 이미지 맵을 리셋하는 것이 목적입니다.
1. SDK Version:
2. Development Environment: (eg. Unity-Android, Unity-iOS, Native Android, Native iOS)
3. Tracker/Scanner:
4. License Type(Free / Pro-One Time Fee / Pro-Subscription / Enterprise):
5. Target Device(Optional):
We can assist better if you attach screenshots of issues.
MAXST AR SDK를 사용해 주셔서 감사합니다.
Destroy 하지 않고 캐시를 클리어하는 방법에 대해서 알려드리겠습니다.
1. RemoveTrackerData() 를 호출하고, LoadTrackerData()를 호출합니다.
2. CloudRecognizerCache를 CLEAR합니다.
자세한 코드를 원하시는 경우 메일 주소를 남겨주세요.
메일로 관련 코드 전달해드리도록 하겠습니다.
참고로 이전 답변 관련해서 말씀드리면
Destory() 호출 후 다시 Tracker를 시작하기 위해서는 라이선스 등록하는 부분을 추가해줘야합니다.
감사합니다.
Shelden
MAXST Support Team
답글 감사드립니다. 혹시 그러면 bnm000215@naver.com으로 자세한 코드 전달해주시면 감사드리겠습니다!
메일로 관련 코드 전달해드렸습니다.
감사합니다.
Shelden
MAXST Support Team
혹시 다른 개발자 분들도 전달 받은 이메일 내용이 궁금할 수 있으니 복붙해서 남깁니다.
------
안녕하세요? 맥스트 지원팀입니다.
요청하신 코드 전달해드립니다
1. CloudTrackerSample.cs에 다음 내용을 추가합니다.
```
public void Clear()
{
TrackerManager.GetInstance().RemoveTracker();
TrackerManager.GetInstance().LoadTracerData();
CloudRecognizerCache.GetInstance().Clear();
}
```
2. CloudRecognizerCache.cs에 다음 코드를 추가합니다.
```
public void Clear()
{
cloud.Clear();
}
```