Exemplo n.º 1
0
    //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
    }
Exemplo n.º 2
0
    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
            }
        }
    }