public void DeleteWorldAnchor(TrackableBehaviour trackableBehaviour) { UnityEngine.XR.WSA.WorldAnchor wa = trackableBehaviour.GetComponent <UnityEngine.XR.WSA.WorldAnchor>(); if (wa != null) { if (mWorldAnchors.ContainsValue(wa)) { // find all occurrences of that world anchor and remove them from the dict: List <TrackableIdPair> idsToRemove = new List <TrackableIdPair>(); foreach (KeyValuePair <TrackableIdPair, UnityEngine.XR.WSA.WorldAnchor> kvp in mWorldAnchors) { if (kvp.Value == wa) { idsToRemove.Add(kvp.Key); } } foreach (TrackableIdPair trackableIdPair in idsToRemove) { mWorldAnchors.Remove(trackableIdPair); } } InternalDeleteWA(wa); } }
private void OnTrackingFound() { Renderer[] rendererComponents = GetComponentsInChildren <Renderer>(true); Collider[] colliderComponents = GetComponentsInChildren <Collider>(true); /*if (tempcollidercomponents != null || temprenderercomponents != null) * { * for (int i = 0; i < temprenderercomponents.Length; i++) * { * temprenderercomponents[i].enabled = false; * } * for (int i = 0; i < tempcollidercomponents.Length; i++) * { * tempcollidercomponents[i].enabled = false; * } * }*/ // Enable rendering: foreach (Renderer component in rendererComponents) { component.enabled = true; } // Enable colliders: foreach (Collider component in colliderComponents) { component.enabled = true; } Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found"); LoadOnClick.explode = false; if (mTrackableBehaviour.tag == "0") { suns = 1; } if (mTrackableBehaviour.tag == "3") { earth = true; } if (mTrackableBehaviour.GetComponent <AudioSource>() != null) { mTrackableBehaviour.GetComponent <AudioSource>().enabled = true; //mTrackableBehaviour.GetComponent<AudioSource>().Play(); } /*if (mTrackableBehaviour.TrackableName == "3") * { * foreach (GameObject g in earthtexts) * { * g.SetActive(false); * } * }*/ for (int i = 0; i < Satellites.Length; i++) { reset(sdefaultscale[i], sdefaultrotation[i], Satellites[i], sdefaultposition[i]); } foreach (GameObject o in ChildObjects) { o.SetActive(true); } for (int i = 0; i < TPlanets.Length; i++) { reset(defaultscale[i], defaultrotation[i], TPlanets[i], defaultposition[i]); } for (int i = 0; i < eobjects.Length; i++) { reset(edefaultscale[i], edefaultrotation[i], eobjects[i], edefaultposition[i]); } }