Hi all.
After tracking a new image I am using this code:
foreach (var trackedImage in eventArgs.added)
{
_gameObjectInstantiated = Instantiate(start_prefab, trackedImage.transform);
}
I have one button to inactivate the _gameObjectInstantiated:
public void hideGameObject()
{
_gameObjectInstantiated.SetActive(false);
}
And other button the disable/enable the ImageTrackerManager:
if (m_TrackedImageManager.enabled == true)
{
m_TrackedImageManager.enabled = false;
}else{
m_TrackedImageManager.enabled = true;
}
If I tracker an image and instantiate the _gameObjectInstantiated I have my model in scene. If I disable the manager and enable again my _gameObjectInstantiated keeps working anchored in the image.
But if after I disabled the manager I set my _gameObjectInstantiated as _gameObjectInstantiated.SetActive(false); and enabling the manager again my _gameObjectInstantiated now is null.
But I havent destroyed anything.
I tryied to keep empty in foreach (var trackedImage in eventArgs.removed) to not destroy anything, to not do anything but not working.
What am I missing?
Thank you.
void UpdateInfo(ARTrackedImagesChangedEventArgs eventArgs)
{
try
{
foreach (var trackedImage in eventArgs.added)
{
_debug.text += "added";
_gameObjectInstantiated = Instantiate(start_prefab, trackedImage.transform);
}
} catch (Exception ex)
{
_debug.text += "UpdateInfo " + ex.Message;
}
}
public void disableImageTracker()
{
try
{
if (m_TrackedImageManager.enabled == true)
{
m_TrackedImageManager.enabled = false;
//_gameObjectInstantiated.AddComponent<ARAnchor>();
disableTracker_btn.GetComponentInChildren<TMP_Text>().text = "enable\ntracker";
}
else
{
if (_gameObjectInstantiated != null)
{
if (_gameObjectInstantiated.GetComponent<ARAnchor>() != null)
{
//Destroy(_gameObjectInstantiated.GetComponent<ARAnchor>());
}
}
if (_gameObjectInstantiated != null)
{
_debug.text += "!null ";
}
else
{
_debug.text += "=null ";
}
m_TrackedImageManager.enabled = true;
disableTracker_btn.GetComponentInChildren<TMP_Text>().text = "disable\ntracker";
}
}
catch (Exception ex)
{
_debug.text += "disableImageTracker " + ex.Message;
}
}
public void hideGameObject()
{
_gameObjectInstantiated.SetActive(false);
}