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();
    }
Esempio n. 2
0
    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();
     }
 }