List
Trakable with argumented canvas
Posted Date: 2023-09-13 1:08     Edited Date: 2023-10-04 2:37     Writer: bones11201008

Please provide your development details as below;

1. SDK Version: 6.0.1
2. Development Environment: Unity-Android
3. Tracker/Scanner: 
4. License Type(Free / Pro-One Time Fee / Pro-Subscription / Enterprise): Pro-One Time Fee
5. Target Device(Optional):

ImageTracker(not fusion) 사용중입니다.

ImageTrackable 아래에 여러 증강물을 붙여두었습니다.

3D Object 의 경우 문제가 없지만 Canvas 의 경우

Image Traking 이 완료되지 않아도 화면에 표시되고

Image Tracking 이 완료되면 위치와 Scale 이 변경되어 Target Image 위에 표시되고

Target Image 를 카메라에서 놓쳐서 Image Tracking 을 다시 실패해도 사라지지 않습니다.

Canvas 도 Tracking 성공시에만 표시되도록 하고 싶습니다.

Posted Date: 2023-09-13 4:10     Edited Date: 2023-09-13 4:10     Writer: admin

MAXST AR SDK에 관심을 가져주셔서 감사합니다. 

 

먼저 Trackable 하위에 있는 3D 컨텐츠들이 tracking 시에만 보이는 이유는 ImageTrackerSample.cs에서 update() 함수 진입하자마자 DisableAllTrackables() 함수를 호출해서 컨텐츠들을 그리지 않도록 설정해주고, tracking 성공 시 for문안에서 다시 컨텐츠들을 그리도록 설정해주었기 때문입니다.

마찬가지로 tracking 성공하지 않았을 때는 숨기고, 성공했을 때는 보여주도록 수정하시면 될 것 같습니다.

 

 

AR SDK에 관련하여 다른 질문이 있으시면, 언제든지 자유롭게 질문해주세요.

 

Best regards,

Shelden

MAXST Support Team

Posted Date: 2023-09-13 5:41     Edited Date: 2023-09-13 5:42     Writer: unitylge

제가 구성한 Scene 의 Hierarchy 를 보면

ImageTrackable 아래에 여러 Object 들이 들어 있고 Canvas 도 그 중 하나입니다.

이 중에 Canvas 만 제가 말씀드린대로 동작합니다.

구조상 따로 설정하지 않아도 ImageTrackable 아래에 존재하는 모든 증강물에 DisableAllTrackables() 이 동작하고 있을 것입니다.

Canvas 에 대해서만 추가로 DisableAllTrackables() 이 필요하지는 않을 것으로 생각하므로 현재 동작에는 다른 원인이 있는 것이 아닌가 생각합니다.

 

Posted Date: 2023-09-22 0:28     Edited Date: 2023-09-22 0:28     Writer: admin

안녕하세요. 맥스트 입니다.

 

DisableAllTrackables() 함수 안에 보시면 OnTrackFail이라는 함수로 오브젝트를 보이지 않도록 하는것을 알수 있습니다.

다만, 해당 코드는 Renderer의 Component를 Disable 하는 부분만 들어 있기 때문에 Canvas가 사라지지 않는것입니다.

Renderer Component 를 얻는 부분에 Canvas Component를 획득해서 Disable 하는 코드를 추가 하시면 될것 같습니다.

감사합니다.

 

Best regards,

Keane

MAXST Support Team

 
Posted Date: 2023-10-04 2:37     Edited Date: 2023-10-04 2:37     Writer: bones11201008

도움 감사합니다.

OnTrackFail() 을 직접 수정할 수 없으므로

말씀하신대로 DisableAllTrackables() 안에서 Canvas 를 disable 하도록 하여 원하는 대로 동작하는 것을 확인했습니다.