//called when image target is tracked protected virtual void OnTrackingFound(TrackableBehaviour trackedObject) { var rendererComponents = GetComponentsInChildren <Renderer>(true); var colliderComponents = GetComponentsInChildren <Collider>(true); var canvasComponents = GetComponentsInChildren <Canvas>(true); // Enable rendering: foreach (var component in rendererComponents) { component.enabled = true; } // Enable colliders: foreach (var component in colliderComponents) { component.enabled = true; } // Enable canvas': foreach (var component in canvasComponents) { component.enabled = true; } syncPosition = markPos.transform.position; //get Vector3 position of vuforia image that was tracked imageName = trackedObject.TrackableName; //name of vuforia image target tracked Debug.Log("Tracked " + imageName + " at " + syncPosition); trackedImage = true; //first image has been tracked GameObject parent = GameObject.Find("vuMarks"); //look for gameobject with the name "vuMarks" VuMarkHandler parentScript = parent.GetComponent <VuMarkHandler>(); //getting the script attached to "vuMarks" parentScript.trackedChild = imageName; //trackedChild is given a value }
void Update() //runs every frame { if (!firstConnect) //temporary, waiting for the first connect by client { handler = vuMarkObject.GetComponent <VuMarkHandler>(); //then can check for a VuMarkHandler script on the gameobject if (handler != null) { if (handler.childObject != null) //null if image isn't tracked yet { firstConnect = true; connectAsClient(); //can be replaced with StartClient() } else { Debug.Log("Image not tracked yet"); } } else { Debug.Log("Handler not found..."); } } if (playerInit) //for all location updates after the first vuforia image track { player = GameObject.FindGameObjectWithTag("Player"); //finding playermovement script on the gameobject float posDistance = Vector3.Distance(prevPos, player.transform.position); //distance between last position and now if (posDistance > updateDistance) //determined by slider { prevPos = player.transform.position; updateLocation(prevPos, player.transform.rotation); //run message sending function } } }