Vuforia при добавлении канваса и тиррейна (canvas and terrain) в маркер, они не отключаются при потере маркера, а остаются “висеть” на экране. Решается эта проблема так:
Since no one reply my question and i already have a solution for this (after extensive searching for the answer on Unity and Vuforia for several days). I want to post the solution.
If you want canvas and terrain to dissapear after your camera not pointing at your image target, then you can follow this method.
1. Attach DefaultTrackableEventHandler.cs file to your ImageTarget
2. Open the script
3. Scroll until you find private void OnTrackingFound()
4. Input this code (under Collider[] line)
For Terrain
Terrain[] terrainComponents = GetComponentsInChildren<Terrain>();foreach (Terrain component in terrainComponents){component.enabled = true;}For Canvas
Canvas[] canvasObjects = GetComponentsInChildren<Canvas>();
foreach(Canvas canvas in canvasObjects){canvas.enabled = true;}
6. Then Scroll to private void OnTrackingLost()
For Terrain
Terrain[] terrainComponents = GetComponentsInChildren<Terrain>();foreach (Terrain component in terrainComponents){component.enabled = false;}For Canvas
Canvas[] canvasObjects = GetComponentsInChildren<Canvas>();
foreach(Canvas canvas in canvasObjects){canvas.enabled = false;}
Canvas[] canvasObjects = parentObject.GetComponentsInChildren<Canvas>();foreach(Canvas canvas in canvasObjects){canvas.enabled = true;
Canvas[] canvasObjects = parentObject.GetComponentsInChildren<Canvas>();foreach(Canvas canvas in canvasObjects){canvas.enabled = false