Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

How to Vuforia when detected QR Code or preselected image then change scene.

Discussion in 'AR/VR (XR) Discussion' started by KubrickStanley, Oct 17, 2018.

  1. KubrickStanley

    KubrickStanley

    Joined:
    Oct 17, 2018
    Posts:
    2
    Okey guys how to do that?
     
  2. KubrickStanley

    KubrickStanley

    Joined:
    Oct 17, 2018
    Posts:
    2
    Hey guys i found this script what i looking for but i dont know how to use this
    Code (CSharp):
    1. /// <summary>
    2. /// A custom handler that implements the ITrackableEventHandler interface.
    3. ///
    4. /// Changes made to this file could be overwritten when upgrading the Vuforia version.
    5. /// When implementing custom event handler behavior, consider inheriting from this class instead.
    6. /// </summary>
    7. public class DefaultTrackableEventHandler : MonoBehaviour, ITrackableEventHandler
    8. {
    9. #region PROTECTED_MEMBER_VARIABLES
    10.  
    11. protected TrackableBehaviour mTrackableBehaviour;
    12.  
    13. #endregion // PROTECTED_MEMBER_VARIABLES
    14.  
    15. #region UNITY_MONOBEHAVIOUR_METHODS
    16.  
    17. protected virtual void Start()
    18. {
    19. mTrackableBehaviour = GetComponent<TrackableBehaviour>();
    20. if (mTrackableBehaviour)
    21. mTrackableBehaviour.RegisterTrackableEventHandler(this);
    22. }
    23.  
    24. protected virtual void OnDestroy()
    25. {
    26. if (mTrackableBehaviour)
    27. mTrackableBehaviour.UnregisterTrackableEventHandler(this);
    28. }
    29.  
    30. #endregion // UNITY_MONOBEHAVIOUR_METHODS
    31.  
    32. #region PUBLIC_METHODS
    33.  
    34. /// <summary>
    35. /// Implementation of the ITrackableEventHandler function called when the
    36. /// tracking state changes.
    37. /// </summary>
    38. public void OnTrackableStateChanged(
    39. TrackableBehaviour.Status previousStatus,
    40. TrackableBehaviour.Status newStatus)
    41. {
    42. if (newStatus == TrackableBehaviour.Status.DETECTED ||
    43. newStatus == TrackableBehaviour.Status.TRACKED ||
    44. newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
    45. {
    46. Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
    47. OnTrackingFound();
    48. }
    49. else if (previousStatus == TrackableBehaviour.Status.TRACKED &&
    50. newStatus == TrackableBehaviour.Status.NO_POSE)
    51. {
    52. Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " lost");
    53. OnTrackingLost();
    54. }
    55. else
    56. {
    57. // For combo of previousStatus=UNKNOWN + newStatus=UNKNOWN|NOT_FOUND
    58. // Vuforia is starting, but tracking has not been lost or found yet
    59. // Call OnTrackingLost() to hide the augmentations
    60. OnTrackingLost();
    61. }
    62. }
    63.  
    64. #endregion // PUBLIC_METHODS
    65.  
    66. #region PROTECTED_METHODS
    67.  
    68. protected virtual void OnTrackingFound()
    69. {
    70. var rendererComponents = GetComponentsInChildren<Renderer>(true);
    71. var colliderComponents = GetComponentsInChildren<Collider>(true);
    72. var canvasComponents = GetComponentsInChildren<Canvas>(true);
    73.  
    74. // Enable rendering:
    75. foreach (var component in rendererComponents)
    76. component.enabled = true;
    77.  
    78. // Enable colliders:
    79. foreach (var component in colliderComponents)
    80. component.enabled = true;
    81.  
    82. // Enable canvas':
    83. foreach (var component in canvasComponents)
    84. component.enabled = true;
    85. }
    86.  
    87. protected virtual void OnTrackingLost()
    88. {
    89. var rendererComponents = GetComponentsInChildren<Renderer>(true);
    90. var colliderComponents = GetComponentsInChildren<Collider>(true);
    91. var canvasComponents = GetComponentsInChildren<Canvas>(true);
    92.  
    93. // Disable rendering:
    94. foreach (var component in rendererComponents)
    95. component.enabled = false;
    96.  
    97. // Disable colliders:
    98. foreach (var component in colliderComponents)
    99. component.enabled = false;
    100.  
    101. // Disable canvas':
    102. foreach (var component in canvasComponents)
    103. component.enabled = false;
    104. }
    105.  
    106. #endregion // PROTECTED_METHODS
    107. }