protected virtual void OnTrackingLost() { var rendererComponents = GetComponentsInChildren <Renderer>(true); var colliderComponents = GetComponentsInChildren <Collider>(true); var canvasComponents = GetComponentsInChildren <Canvas>(true); PlayOnStateChange player = GetComponentInChildren <PlayOnStateChange>(); // Disable rendering: foreach (var component in rendererComponents) { component.enabled = false; } // Disable colliders: foreach (var component in colliderComponents) { component.enabled = false; } // Disable canvas': foreach (var component in canvasComponents) { component.enabled = false; } player.PlayOnDisappear(); }
protected virtual void OnTrackingLost() // Disables all render compenents of AR Model on display { // Get all render components from a given object var rendererComponents = GetComponentsInChildren <Renderer>(true); var colliderComponents = GetComponentsInChildren <Collider>(true); var canvasComponents = GetComponentsInChildren <Canvas>(true); PlayOnStateChange player = GetComponentInChildren <PlayOnStateChange>(); // Inherit public class named PlayOnStateChange that plays audio // Disable rendering: foreach (var component in rendererComponents) { component.enabled = false; } // Disable colliders: foreach (var component in colliderComponents) { component.enabled = false; } // Disable canvas': foreach (var component in canvasComponents) { component.enabled = false; } player.PlayOnDisappear(); // Execute PlayOnAppear function to play audio }
//Extending the functionality when the target dissapears override protected void OnTrackingLost() { base.OnTrackingLost(); if (player != null) { player.PlayOnDisappear(); } }