Exemple #1
0
    void UpdateInstruction(ARTrackedImage trackedImage)
    {
        var planeParentGo = trackedImage.transform.GetChild(0).gameObject;
        var planeGo       = planeParentGo.transform.GetChild(0).gameObject;
        var canvasGroup   = trackedImage.GetComponentInChildren <CanvasGroup>();
        var text          = trackedImage.GetComponentInChildren <Text>();

        // Disable/Enable the visuals based on if this is the current instruction and it is tracked
        if (trackedImage == currentInsruction && trackedImage.trackingState != TrackingState.None)
        {
            planeGo.SetActive(true);
            canvasGroup.alpha = 1f;

            // The image extents is only valid when the image is being tracked
            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, trackedImage.size.y, trackedImage.size.y);

            // Set the texture
            var material = planeGo.GetComponentInChildren <MeshRenderer>().material;
            material.mainTexture = (trackedImage.referenceImage.texture == null) ? defaultTexture : trackedImage.referenceImage.texture;

            // Update the step number
            if (stepper != null)
            {
                text.text = "Step: " + stepper.GetCurrentStep().Number;
            }
        }
        else
        {
            planeGo.SetActive(false);
            canvasGroup.alpha = 0f;
        }
    }
    void UpdateInfo(ARTrackedImage trackedImage, Texture2D texture = null)
    {
        var planeParentGo = trackedImage.transform.GetChild(0).gameObject;
        var planeGo       = planeParentGo.transform.GetChild(0).gameObject;

        if (texture)
        {
            // Set the texture
            trackedImage.name = texture.name;
            CornerSandboxParenter sender = trackedImage.GetComponentInChildren <CornerSandboxParenter>();
            m_parenters.Add(sender);

            sender.SetCornerTypeFromString(texture.name);

            var material = planeGo.GetComponentInChildren <MeshRenderer>().material;
            material.mainTexture = texture;
        }

        // Disable the visual plane if it is not being tracked
        if (trackedImage.trackingState != TrackingState.None)
        {
            planeGo.SetActive(true);

            // The image extents is only valid when the image is being tracked
            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, trackedImage.size.x, trackedImage.size.y);
        }
        else
        {
            planeGo.SetActive(false);
        }
    }
Exemple #3
0
    private void UpdateInfo(ARTrackedImage trackedImage)
    {
        var canvas = trackedImage.GetComponentInChildren <Canvas>();

        canvas.worldCamera = worldSpaceCanvasCamera;

        var text = canvas.GetComponentInChildren <Text>();

        text.text = string.Format
                    (
            "{0}\ntrackingState: {1}\nGUID: {2}\nReference size: {3} cm\nDetected size: {4} cm",
            trackedImage.referenceImage.name,
            trackedImage.trackingState,
            trackedImage.referenceImage.guid,
            trackedImage.referenceImage.size * 100f,
            trackedImage.size * 100f);

        var planeParentGo = trackedImage.transform.GetChild(0).gameObject;
        var planeGo       = planeParentGo.transform.GetChild(0).gameObject;

        if (trackedImage.trackingState != TrackingState.None)
        {
            planeGo.SetActive(true);

            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1f, trackedImage.size.y);

            var material = planeGo.GetComponentInChildren <MeshRenderer>().material;
            material.mainTexture = trackedImage.referenceImage.texture == null ? defaultTexture : trackedImage.referenceImage.texture;
        }
        else
        {
            planeGo.SetActive(false);
        }
    }
Exemple #4
0
    void UpdateInfo(ARTrackedImage trackedImage)
    {
        // Set canvas camera
        var canvas = trackedImage.GetComponentInChildren <Canvas>();

        canvas.worldCamera = canvasCamera;

        // Update information about the tracked image
        var text = canvas.GetComponentInChildren <Text>();

        text.text = string.Format(
            "Nom de l'oeuvre: {0}",
            trackedImage.referenceImage.name);

        var planeParentGo = trackedImage.transform.GetChild(0).gameObject;
        var planeGo       = planeParentGo.transform.GetChild(0).gameObject;

        // Disable the visual plane if it is not being tracked
        if (trackedImage.trackingState != TrackingState.None)
        {
            planeGo.SetActive(true);

            // The image extents is only valid when the image is being tracked
            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1f, trackedImage.size.y);

            // Set the texture
            var material = planeGo.GetComponentInChildren <MeshRenderer>().material;
            material.mainTexture = (trackedImage.referenceImage.texture == null) ? defaultTexture : trackedImage.referenceImage.texture;
        }
        else
        {
            planeGo.SetActive(false);
        }
    }
Exemple #5
0
    void UpdateInfo(ARTrackedImage trackedImage)
    {
        // Set canvas camera
        var canvas = trackedImage.GetComponentInChildren <Canvas>();

        canvas.worldCamera = worldSpaceCanvasCamera;

        // Update information about the tracked image
        // var text = canvas.GetComponentInChildren<Text>();
        // if(text != null){
        //  text.text = string.Format(
        //      "{0}\ntrackingState: {1}\nGUID: {2}\nReference size: {3} cm\nDetected size: {4} cm",
        //      trackedImage.referenceImage.name,
        //      trackedImage.trackingState,
        //      trackedImage.referenceImage.guid,
        //      trackedImage.referenceImage.size * 100f,
        //      trackedImage.size * 100f);
        // }

        var planeParentGo = trackedImage.transform.GetChild(0).gameObject;
        var planeGo       = planeParentGo.transform.GetChild(0).gameObject;

        var canvasGo      = trackedImage.transform.GetChild(1).gameObject;
        var detectinoObjs = canvasGo.transform.GetChild(0).gameObject;

        UpdateTrackedImageInfo(trackedImage, planeGo);

        // Disable the visual plane if it is not being tracked
        if (trackedImage.trackingState == TrackingState.Tracking)
        {
            // Debug.Log("Tracking State is "+trackedImage.trackingState);
            // planeGo.SetActive(true);
            // detectinoObjs.SetActive(true);
            trackedImage.gameObject.SetActive(true);

            // The image extents is only valid when the image is being tracked
            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1f, trackedImage.size.y);

            // Set the texture
            var material = planeGo.GetComponentInChildren <MeshRenderer>().material;
            SetTexture(trackedImage, material);
        }
        else if (trackedImage.trackingState == TrackingState.None)
        {
            trackedImage.gameObject.SetActive(false);
            // planeGo.SetActive(false);
            // detectinoObjs.SetActive(false);
        }
        else if (trackedImage.trackingState == TrackingState.Limited)
        {
            if (hideTrackableCoro == null)
            {
                hideTrackableCoro = StartCoroutine(HideImageIfCantTrackInSeconds(0.4f, trackedImage));
            }
        }
    }
Exemple #6
0
    void SetupInstruction(ARTrackedImage trackedImage)
    {
        // Set the world space camera on the canvas
        var canvas = trackedImage.GetComponentInChildren <Canvas>();

        canvas.worldCamera = worldSpaceCanvasCamera;

        // Give the initial image a reasonable default scale
        trackedImage.transform.localScale = new Vector3(0.01f, 0.01f, 0.01f);
    }
    void UpdateInfo(ARTrackedImage trackedImage)
    {
        // set canvas camera
        var canvas = trackedImage.GetComponentInChildren <Canvas>();

        canvas.worldCamera = m_WorldSpaceCanvasCamera;

        if (trackedImage.trackingState != TrackingState.None)
        {
            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1f, trackedImage.size.y);
            trackedImage.transform.Translate(trackedImage.size.x + 0.01f, 0, 0);
        }
    }
    void UpdateInfo(ARTrackedImage trackedImage)
    {
        //cache the Animator component
        //var animate = trackedImage.GetComponentInChildren<Animator>();

        anim       = trackedImage.GetComponentInChildren <Animator>();
        LookScript = trackedImage.GetComponentInChildren <SmoothLookAtCamera>();



        // Disable the visual plane if it is not being tracked
        if (trackedImage.trackingState == TrackingState.Tracking)
        {
            LookScript.TargetTransform = worldSpaceCanvasCamera.transform;

            trackedImage.gameObject.SetActive(true);


            //PlaceGameObject(trackedImage.transform.position);


            // The image extents is only valid when the image is being tracked
            // the images x and y scale are changed, but z is not
            //trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1.0f, trackedImage.size.y);

            // Set the texture of the plane to the reference image's texture
            // var material = planeGo.GetComponentInChildren<MeshRenderer>().material;
            // material.mainTexture = (trackedImage.referenceImage.texture == null) ? defaultTexture : trackedImage.referenceImage.texture;

            anim.SetTrigger("ComeForward");
        }
        else
        {
            trackedImage.gameObject.SetActive(false);
        }
    }
Exemple #9
0
    void UpdateInfo(ARTrackedImage trackedImage)
    {
        // Set canvas camera
        var canvas = trackedImage.GetComponentInChildren <Canvas>();

        canvas.worldCamera = worldSpaceCanvasCamera;
        //Find the GameObject
        GameObject obj = GameObject.Find("swiper");

        //Get script attached to it
        swiper_script = obj.GetComponent <PageSwiper>();
        float scale = trackedImage.size.x;

        //Call the function
        swiper_script.UpdatePos(scale);
    }
    void UpdateInfo(ARTrackedImage trackedImage)
    {
        // Set canvas camera
        var canvas = trackedImage.GetComponentInChildren <Canvas>();

        canvas.worldCamera = worldSpaceCanvasCamera;

        // Update information about the tracked image
        var text = canvas.GetComponentInChildren <Text>();

        text.text = string.Format(
            "{0}\nНайден: {1}\nНомер обьекта: {2}\nРазмеры: {3} cm\nDetected size: {4} cm {5} Позиция:",
            trackedImage.referenceImage.name,
            trackedImage.trackingState,
            trackedImage.referenceImage.guid,
            trackedImage.referenceImage.size * 100f,
            trackedImage.size * 100f,
            trackedImage.transform.position);

        var planeParentGo = trackedImage.transform.GetChild(0).gameObject;
        var planeGo       = planeParentGo.transform.GetChild(0).gameObject;

        foreach (GameObject obj in objectsToManage)
        {
            if (trackedImage.referenceImage.name == obj.name)
            {
                obj.transform.position = trackedImage.gameObject.transform.position;
                obj.transform.rotation = trackedImage.gameObject.transform.rotation;
            }
        }
        // Disable the visual plane if it is not being tracked
        if (trackedImage.trackingState != TrackingState.None)
        {
            planeGo.SetActive(true);

            // The image extents is only valid when the image is being tracked
            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1f, trackedImage.size.y);

            // Set the texture
            //var material = planeGo.GetComponentInChildren<MeshRenderer>().material;
            //material.mainTexture = (trackedImage.referenceImage.texture == null) ? defaultTexture : trackedImage.referenceImage.texture;
        }
        else
        {
            planeGo.SetActive(false);
        }
    }
    void UpdateInfo(ARTrackedImage trackedImage)
    {
        // Set canvas camera
        var canvas = trackedImage.GetComponentInChildren <Canvas>();

        canvas.worldCamera = worldSpaceCanvasCamera;

        // Update information about the tracked image
        var text = canvas.GetComponentInChildren <Text>();

        text.text = string.Format(
            "{0}\ntrackingState: {1}\nGUID: {2}\nReference size: {3} cm\nDetected size: {4} cm",
            trackedImage.referenceImage.name,
            trackedImage.trackingState,
            trackedImage.referenceImage.guid,
            trackedImage.referenceImage.size * 100f,
            trackedImage.size * 100f);
        if (trackedImage.trackingState == TrackingState.Limited || trackedImage.trackingState == TrackingState.None)
        {
            dtTxt = "notdetected";
        }
        else if (trackedImage.trackingState == TrackingState.Tracking)
        {
            dtTxt = "detected";
        }

        var planeParentGo = trackedImage.transform.GetChild(0).gameObject;
        var planeGo       = planeParentGo.transform.GetChild(0).gameObject;

        // Disable the visual plane if it is not being tracked
        if (trackedImage.trackingState != TrackingState.None)
        {
            planeGo.SetActive(true);

            // The image extents is only valid when the image is being tracked
            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1f, trackedImage.size.y);

            // Set the texture
            var material = planeGo.GetComponentInChildren <MeshRenderer>().material;
            material.mainTexture = (trackedImage.referenceImage.texture == null) ? defaultTexture : trackedImage.referenceImage.texture;
        }
        else
        {
            planeGo.SetActive(false);
        }
    }
        private void InitAnchorTransform(ARTrackedImage trackedImage)
        {
            Debug.Log("InitAnchorTransform");
            var markerName = trackedImage.referenceImage.name;
            var anchor     = trackedImage.GetComponentInChildren <Anchor>();

            anchor.Name = markerName;
            var offset = ImageTargetOffsetMaster.FindItem(markerName);
            var m      = Matrix4x4.TRS(offset.position, offset.rotation, Vector3.one).inverse;

            var t = anchor.gameObject.transform;

            t.localPosition = m.MultiplyPoint3x4(t.localPosition);
            t.rotation     *= Quaternion.Inverse(offset.rotation);

            _detectedReferenceAnchors.Add(markerName, anchor.gameObject);
        }
Exemple #13
0
    void UpdateInfo(ARTrackedImage trackedImage)
    {
        Canvas canvas = trackedImage.GetComponentInChildren <Canvas>();

        if (canvas)
        {
            canvas.worldCamera = worldSpaceCanvasCamera;
        }
        if (trackedImage.trackingState != TrackingState.None)
        {
            trackedImage.gameObject.SetActive(true);
            trackedImage.transform.localScale = new Vector3(trackedImage.size.x, 1.0F, trackedImage.size.y);
        }
        else
        {
            trackedImage.gameObject.SetActive(false);
        }
    }