Please pardon me as I am new to Unity. I have the simple setup of TrackedImageManager creating a Canvas (called Question) when the image is detected (pic1).
No matter what I do to try to hide it, it is there, I use roughly the code below to hide it:
private void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs) {
// Loop through all new tracked images that have been detected
foreach (var trackedImage in eventArgs.added) {
// Get the name of the reference image
var imageName = trackedImage.referenceImage.name;
Debug.Log("Added image name: " + imageName);
}
// For all prefabs that have been created so far, set them active or not depending
// on whether their corresponding image is currently being tracked
foreach (var trackedImage in eventArgs.updated) {
var foundCanvasObjects = FindObjectsOfType<Canvas>();
var imageName = trackedImage.referenceImage.name;
if (trackedImage.trackingState != TrackingState.Tracking)
{
GameObject canvas = GameObject.Find("Question");
if (canvas == null)
Debug.Log("didnt get panel GAME OBJECT");
else
{
Debug.Log("Hiding: " + canvas.ToString());
canvas.gameObject.SetActive(false);
//DestroyImmediate(canvas.gameObject);
}
}
}
// If the AR subsystem has given up looking for a tracked image
foreach (var trackedImage in eventArgs.removed) {
var imageName = trackedImage.referenceImage.name;
Debug.Log("DELETING IMAGE NAME: " + imageName);
}
}
Now how do i know it is still there? I take the camera off screen and simply take a side glance. Example here demo.mp4
