Exemplo n.º 1
0
    private void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        //trackedImage.transform.localScale = new Vector3(.07f, .07f, .07f);

        //UpdateInfo(trackedImage);
        foreach (var newImage in eventArgs.added)
        {
            // Handle added event
            UpdateInfo(newImage);

            text.text = "Wieza dodana " + newImage.referenceImage.name;
        }

        foreach (var updatedImage in eventArgs.updated)
        {
            UpdateInfo(updatedImage);


            text.text = "Wieza update " + updatedImage.referenceImage.name;
        }

        foreach (var removedImage in eventArgs.removed)
        {
            // Handle removed event
            text.text = "Wieza usunieta " + removedImage.referenceImage.name;
        }


        //foreach (var trackedImage in eventArgs.updated)
        //    UpdateInfo(trackedImage);
    }
Exemplo n.º 2
0
    private void TrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        UIPaneManager.Hide("ExitPlacementButton");
        UIPaneManager.Show("ClosePlacementButton");

        foreach (ARTrackedImage trackedImage in eventArgs.added)
        {
            // app state -> image tracking state set
            ApplicationState.Instance.CurrentState = State.ImageTracking;

            // deactivates planes but doesn't destroy existing placement
            DeactivatePlaneDetection(destroyPlacement: true);

            Logger.Instance.LogInfo("TrackedImagee Added");

            UpdateObjectTracker(trackedImage);
        }

        foreach (ARTrackedImage trackedImage in eventArgs.updated)
        {
            // app state -> image tracking state set
            ApplicationState.Instance.CurrentState = State.ImageTracking;

            Logger.Instance.LogInfo("TrackedImagee Updated");
            UpdateObjectTracker(trackedImage);
        }
    }
Exemplo n.º 3
0
 public void OnImageChanged(ARTrackedImagesChangedEventArgs args)
 {
     foreach (var trackedImage in args.added)
     {
         Debug.Log(trackedImage.name);
     }
 }
 void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
 {
     foreach (var trackedImage in eventArgs.updated)
     {
         if (trackedImage.trackingState == TrackingState.Tracking)
         {
             if (trackedImage.referenceImage.name == "image-1")
             {
                 obj1.SetActive(true);
             }
             if (trackedImage.referenceImage.name == "image-2")
             {
                 obj2.SetActive(true);
             }
         }
         else   //trackingstate = None or Limited
         {
             if (trackedImage.referenceImage.name == "image-1")
             {
                 obj1.SetActive(false);
             }
             if (trackedImage.referenceImage.name == "image-2")
             {
                 obj2.SetActive(false);
             }
         }
     }
 }
Exemplo n.º 5
0
 private void HandleImageChange(ARTrackedImagesChangedEventArgs args)
 {
     foreach (ARTrackedImage image in args.added)
     {
         Debug.Log("Image tracked " + image.name);
     }
 }
Exemplo n.º 6
0
 private void OntrackedImagesChanged(ARTrackedImagesChangedEventArgs args)
 {
     // 검출된 마커를 다 검사해서
     for (int i = 0; i < args.updated.Count; i++)
     {
         ARTrackedImage image = args.updated[i];
         // 만약 검출된 마커의 이름과 내가 보유한 마커(markerList)의 이름이 같다면
         for (int j = 0; j < markerList.Length; j++)
         {
             if (image.referenceImage.name == markerList[j].name)
             {
                 //  만약 그 마커가 추적중이라면
                 if (image.trackingState == TrackingState.Tracking)
                 {
                     // 그 마커의 게임오브젝트를 활성화하고
                     markerList[j].gobj.SetActive(true);
                     // 위치도 동기화 하고싶다.
                     markerList[j].gobj.transform.position = image.transform.position;
                 }
                 //  그렇지않고 추적중이 아니라면
                 else
                 {
                     // 그 마커의 게임오브젝트를 비활성화 하고싶다.
                     markerList[j].gobj.SetActive(false);
                 }
             }
         }
     }
 }
    void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs args)
    {
        foreach (var trackedImage in args.added)
        {
            GetData(trackedImage.referenceImage.name);
        }

        foreach (var trackedImage in args.updated)
        {
            // if an image is being properly tracked
            if (trackedImage.trackingState == TrackingState.Tracking)
            {
                // set prefab corresponding to image as active
                spawnablePrefabs[trackedImage.referenceImage.name].SetActive(true);
                spawnablePrefabs[trackedImage.referenceImage.name].transform.position = trackedImage.transform.position;
                currImageText.text = "Tracking: " + trackedImage.referenceImage.name;

                //GetData(trackedImage.referenceImage.name);
            }
            else
            {
                spawnablePrefabs[trackedImage.referenceImage.name].SetActive(false);
                currImageText.text = "Tracking: none";
                //dealText.text = "";

                /*
                 * foreach (GameObject go in spawnablePrefabs.Values) {
                 *  // otherwise, set all prefabs as inactive
                 *
                 *  go.SetActive(false);
                 *  currImageText.text = "Tracking: none";
                 * }*/
            }
        }
    }
Exemplo n.º 8
0
        private void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
        {
            foreach (var trackedImage in eventArgs.added)
            {
                //// Give the initial image a reasonable default scale
                //trackedImage.transform.localScale = new Vector3(0.01f, 1f, 0.01f);
                SetImage(trackedImage);
                //UpdateInfo(trackedImage);
            }

            foreach (var trackedImage in eventArgs.updated)
            {
                UpdateInfo(trackedImage);
            }

            foreach (var trackedImage in eventArgs.updated)
            {
                if (trackedImage.trackingState == TrackingState.Tracking)
                {
                    fitToScanOverlay.SetActive(false);
                    return;
                }
            }
            fitToScanOverlay.SetActive(true);
        }
Exemplo n.º 9
0
    private void On_TrackedImageManager_trackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        LogConsole("Added : " + eventArgs.added.Count + " | updated : " + eventArgs.updated.Count + " | removed : " + eventArgs.removed.Count);
        foreach (ARTrackedImage trackedImage in eventArgs.added)
        {
            if (IS_NOT_NULL(trackedImage))
            {
                string trackerName = trackedImage.referenceImage.name;
                BEventsCollection.AR_TrackerFound.Invoke(new BEHandle <string, Vector3, Quaternion>(trackerName, trackedImage.transform.position, trackedImage.transform.rotation));
                //OnTrackedImageAdded(trackedImage);
            }
        }

        foreach (ARTrackedImage trackedImage in eventArgs.updated)
        {
            if (IS_NOT_NULL(trackedImage))
            {
                string trackerName = trackedImage.referenceImage.name;
                BEventsCollection.AR_TrackerUpdated.Invoke(new BEHandle <string, Vector3, Quaternion>(trackerName, trackedImage.transform.position, trackedImage.transform.rotation));
                //OnTrackedImageUpdated(trackedImage);
            }
        }

        foreach (ARTrackedImage trackedImage in eventArgs.removed)
        {
            if (IS_NOT_NULL(trackedImage))
            {
                string trackerName = trackedImage.referenceImage.name;
                BEventsCollection.AR_TrackerLost.Invoke(new BEHandle <string>(trackerName));
                //OnTrackedImageRemoved(trackedImage);
            }
        }
    }
Exemplo n.º 10
0
    private void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (ARTrackedImage trackedImage in eventArgs.added)
        {
            if (trackedImage.referenceImage.name.Contains("fighters") && !isPlaying)
            {
                selectionScreen.SetActive(true);
            }
            UpdateARImage(trackedImage);
        }

        foreach (ARTrackedImage trackedImage in eventArgs.updated)
        {
            UpdateARImage(trackedImage);
        }

        foreach (ARTrackedImage trackedImage in eventArgs.removed)
        {
            if (trackedImage.referenceImage.name.Contains("fighters"))
            {
                selectionScreen.SetActive(false);
            }
            arObjects[trackedImage.name].SetActive(false);
        }
    }
    private void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        ARTrackedImage trackedImage = null;

        for (int i = 0; i < eventArgs.added.Count; i++)
        {
            trackedImage = eventArgs.added[i];
            string imgName = trackedImage.referenceImage.name;

            if (imgName == "sw-12")
            {
                arContents = Instantiate(arPrefabs, trackedImage.transform);
                cube       = CreateCubeForARFoundationTarget(this.gameObject, trackedImage.size.x, trackedImage.size.y, trackedImage.transform);
            }
        }

        for (int i = 0; i < eventArgs.updated.Count; i++)
        {
            trackedImage = eventArgs.updated[i];

            if (trackedImage.trackingState == TrackingState.Tracking)
            {
                arContents.SetActive(true);
            }
            else
            {
                arContents.SetActive(false);
            }
        }

        for (int i = 0; i < eventArgs.removed.Count; i++)
        {
            arContents.SetActive(false);
        }
    }
Exemplo n.º 12
0
    private void OnTrackedImageChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        // if there are new images tracked, make a new one for each added
        foreach (ARTrackedImage addedImage in eventArgs.added)
        {
            InstantiateGameObject(addedImage);
        }

        // if there are images to update, update each
        foreach (ARTrackedImage updatedImage in eventArgs.updated)
        {
            // update prefab info
            string prefabName = updatedImage.referenceImage.name;
            UpdatePrefab(instantiatedPrefabs[prefabName], updatedImage.transform);

            // if tracking state limited and set to destroy, set inactive
            if (updatedImage.trackingState == TrackingState.Limited)
            {
                if (instantiatedPrefabs[prefabName].GetComponent <ARTrackedImage>().destroyOnRemoval)
                {
                    instantiatedPrefabs[prefabName].SetActive(false);
                }
            }
        }
    }
Exemplo n.º 13
0
    void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (var trackedImage in eventArgs.added)
        {
            // Give the initial image a reasonable default scale
            trackedImage.transform.localScale = new Vector3(0.01f, 1f, 0.01f);

            this.Log($"[Trackable] Added{trackedImage.referenceImage.name}");

            // InitTrackedObject(trackedImage);
            InitTrackedObject(trackedImage.transform, trackedImage.referenceImage.name);

            UpdateInfo(trackedImage);
        }

        foreach (var trackedImage in eventArgs.updated)
        {
            UpdateInfo(trackedImage);
        }

        foreach (var trackedImage in eventArgs.removed)
        {
            trackedImage.gameObject.SetActive(false);
            this.Log($"[Trackable] Removed {trackedImage.referenceImage.name}");
        }
    }
    public void OnImageChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (ARTrackedImage trackedImage in eventArgs.added)
        {
            Debug.Log("Added : " + trackedImage.referenceImage.name);
        }

        foreach (ARTrackedImage trackedImage in eventArgs.updated)
        {
            /* If an image is properly tracked */
            if (trackedImage.trackingState == TrackingState.Tracking || trackedImage.trackingState == TrackingState.Limited)
            {
                /* If trackedImage matches an image in the array */
                //Debug.Log("Updated : Tracking : Limited : " + trackedImage.referenceImage.name);
            }
            else if (trackedImage.trackingState == TrackingState.None)
            {
                //Deactivate all prefabs */
                Debug.Log("Updated : None : " + trackedImage.referenceImage.name);
            }
        }

        foreach (ARTrackedImage trackedImage in eventArgs.removed)
        {
            Debug.Log("Removed : " + trackedImage.referenceImage.name);
        }
    }
 void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
 {
     foreach (var trackedImage in eventArgs.added)
     {
         trackedImage.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
     }
 }
Exemplo n.º 16
0
    void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (var trackedImage in eventArgs.added)
        {
            currentInsruction = trackedImage;

            SetupInstruction(trackedImage);

            UpdateInstruction(trackedImage);

            UpdateModel(trackedImage);

            break;
        }

        foreach (var trackedImage in eventArgs.updated)
        {
            UpdateInstruction(trackedImage);
        }

        foreach (var trackedImage in eventArgs.removed)
        {
            // Does not get invoked when the image goes out of view
        }
    }
Exemplo n.º 17
0
 public void OnImageChanged(ARTrackedImagesChangedEventArgs _args)
 {
     foreach (var addedImage in _args.added)
     {
         hideCanvas.SetActive(false);
     }
 }
        void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs e)
        {
            // 新規マーカーの認識
            foreach (ARTrackedImage trackedImage in e.added)
            {
                if (trackedImage.trackingState != TrackingState.None)
                {
                    AddImageAnchor(trackedImage);
                }
            }

            // マーカー認識の継続更新
            foreach (ARTrackedImage trackedImage in e.updated)
            {
                if (trackedImage.trackingState != TrackingState.None)
                {
                    // 検出後 削除済みの場合に再度追加
                    if (!trackedImageAnchors.ContainsKey(trackedImage.referenceImage.name))
                    {
                        AddImageAnchor(trackedImage);
                    }
                }
            }

            // マーカー認識のロスト
            foreach (ARTrackedImage trackedImage in e.removed)
            {
                RemoveImageAnchorFromImageName(trackedImage.referenceImage.name);
            }
        }
Exemplo n.º 19
0
    private void ImageChanged(ARTrackedImagesChangedEventArgs obj)
    {
        ARTrackedImage trackedImage = null;

        for (int i = 0; i < obj.added.Count; i++)
        {
            PrefabsInitialization();
        }
        for (int i = 0; i < obj.updated.Count; i++)
        {
            trackedImage = obj.updated[i];
            if (trackedImage.trackingState == TrackingState.Tracking)
            {
                string  tmpName = trackedImage.referenceImage.name;
                Vector3 tmpPose = trackedImage.transform.position;
                _tmpText.text = tmpName;

                _tmpGameObject = spawnedPrefabs[tmpName];
                _tmpGameObject.transform.position = tmpPose;
                HideAllPrefabs();
                _tmpGameObject.SetActive(true);
            }
        }
        for (int i = 0; i < obj.removed.Count; i++)
        {
            Destroy(_tmpGameObject);
        }
    }
Exemplo n.º 20
0
 void OnImageChange(ARTrackedImagesChangedEventArgs args)
 {
     foreach (var trackedImage in args.added)
     {
         Debug.Log("Working");
     }
 }
Exemplo n.º 21
0
    private void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (var trackedImage in eventArgs.added)
        {
            switch (trackedImage.referenceImage.name)
            {
            case "nameplate amanda":
                GameObject nameplateObj = Instantiate(nameplatePrefab, trackedImage.transform.position, trackedImage.transform.rotation) as GameObject;
                nameplateObj.transform.parent = trackedImage.transform;
                nameplateObj.name             = "nameplate";

                createNotesScript.SetAnchorObject(nameplateObj);

                break;


            case "hiro":
                GameObject hiroObj = Instantiate(hiroPrefab, trackedImage.transform.position, trackedImage.transform.rotation) as GameObject;
                hiroObj.transform.parent = trackedImage.transform;
                hiroObj.name             = "hiro";

                break;
            }

            caliperEventCreatorScript.ImageIdentified(trackedImage.referenceImage.name, trackedImage.referenceImage.guid.ToString());
        }

        foreach (var trackedImage in eventArgs.updated)
        {
        }

        foreach (var trackedImage in eventArgs.removed)
        {
        }
    }
Exemplo n.º 22
0
    private void ImageChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (ARTrackedImage trackedImage in eventArgs.added)
        {
            InstantiateObject(trackedImage);
        }
        foreach (ARTrackedImage trackedImage in eventArgs.updated)
        {
            if (trackedImage.trackingState == UnityEngine.XR.ARSubsystems.TrackingState.Tracking)
            {
                UpdateTrackingObject(trackedImage);
            }
            else if (trackedImage.trackingState == UnityEngine.XR.ARSubsystems.TrackingState.Limited)
            {
                DebuggingTextUpdate("limited", trackedImage.referenceImage.name);
                UpdateLimitedGameObject(trackedImage);
            }
            else
            {
                UpdateNoneGameObject(trackedImage);
            }
        }

        foreach (ARTrackedImage trackedImage in eventArgs.removed)
        {
            DestroyGameObject(trackedImage);
        }
    }
Exemplo n.º 23
0
    private void OnTrackedImageChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (ARTrackedImage addedImage in eventArgs.added)
        {
            InstantiateGameObject(addedImage);
        }

        foreach (ARTrackedImage updatedImage in eventArgs.updated)
        {
            if (updatedImage.trackingState == UnityEngine.XR.ARSubsystems.TrackingState.Tracking)
            {
                UpdateTrackingGameObject(updatedImage);
            }
            else if (updatedImage.trackingState == UnityEngine.XR.ARSubsystems.TrackingState.Limited)
            {
                UpdateLimitedGameObject(updatedImage);
            }
            else
            {
                UpdateNoneGameObject(updatedImage);
            }
        }

        foreach (ARTrackedImage removedImage in eventArgs.removed)
        {
            DestroyGameObject(removedImage);
        }
    }
Exemplo n.º 24
0
 public void OnImageChanged(ARTrackedImagesChangedEventArgs args)
 {
     foreach (var trackedImage in args.added)
     {
         _debugText.text = "TrackedImage: " + trackedImage.name;
     }
 }
Exemplo n.º 25
0
    private void ImageChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (ARTrackedImage trackedImage in eventArgs.added)
        {
            if (!_trackedImg.Contains(trackedImage))
            {
                _trackedImg.Add(trackedImage);
                _trackedTimer.Add(0);
            }
        }

        foreach (ARTrackedImage trackedImage in eventArgs.updated)
        {
            if (!_trackedImg.Contains(trackedImage))
            {
                _trackedImg.Add(trackedImage);
                _trackedTimer.Add(0);
            }
            else
            {
                int num = _trackedImg.IndexOf(trackedImage);
                _trackedTimer[num] = 0;
            }
            UpdateImage(trackedImage);
        }
    }
Exemplo n.º 26
0
    public void OnImageChanged(ARTrackedImagesChangedEventArgs args)
    {
        string _name;
        int    _nameNum;

        foreach (var a in args.updated)
        {
            _name    = a.referenceImage.name;
            _nameNum = int.Parse(_name);
            Vector3    markerPos = a.transform.position;
            Quaternion qua       = a.transform.rotation;

            if (_markerModelSwitcher.ArObj != null)
            {
                _markerModelSwitcher.ArObj.transform.position = markerPos;
                _markerModelSwitcher.ArObj.transform.rotation = qua;
            }

            if (a.trackingState == UnityEngine.XR.ARSubsystems.TrackingState.Tracking)
            {
                if (_nameNum == _presentMarkerNum)
                {
                    return;
                }
                // Debug.Log ("MarkerName:::::::::::::::::::::::::::::::::" + _name);
                _markerModelSwitcher.SwitchingObject(_nameNum, markerPos, qua);
                _presentMarkerNum = _nameNum;
            }
        }
    }
        void ARFoundationVIdeoPlayer_trackedImagesChanged(ARTrackedImagesChangedEventArgs obj)
        {
            foreach (ARTrackedImage image in obj.updated)
            {
                Debug.Log("obj name " + videoSpawner.refImgNameWithObj[this.transform.parent.gameObject]);
                //  if (image.referenceImage.name == videoSpawner.refImgNameWithObj[this.transform.parent.gameObject])
                if (image.referenceImage.name == transform.parent.gameObject.name)
                {
                    Debug.Log("name matched ");
                    if (image.trackingState == TrackingState.Tracking)
                    {
                        transform.parent.position = image.transform.position;
                        transform.parent.rotation = image.transform.rotation;
                        transform.localScale      = calculatedScale(new Vector2(image.size.x, image.size.y));


                        Debug.Log("i'm in tracking status");
                        if (!isVideoStarted)
                        {
                            isVideoStarted = true;
                            Debug.Log("video is not playing so starting playing video");
                            PlayVideo();
                        }
                    }
                    else
                    {
                        isVideoStarted = false;
                        StopVideo();
                    }
                }
            }
        }
Exemplo n.º 28
0
    void OnTrackedImageChanged(ARTrackedImagesChangedEventArgs args_)
    {
        foreach (ARTrackedImage i in args_.added)
        {
            if (i.referenceImage.name == "one")
            {
                m_spawned_worlds.Add(i.GetInstanceID(), Instantiate(world1, i.transform.position, i.transform.rotation));
            }
            else if (i.referenceImage.name == "two")
            {
                m_spawned_worlds.Add(i.GetInstanceID(), Instantiate(world2, i.transform.position, i.transform.rotation));
            }
        }

        foreach (ARTrackedImage i in args_.updated)
        {
            int id = i.GetInstanceID();
            if (m_spawned_worlds.ContainsKey(id))
            {
                m_spawned_worlds[id].transform.position = i.transform.position;
                m_spawned_worlds[id].transform.rotation = i.transform.rotation;
            }
        }

        foreach (ARTrackedImage i in args_.removed)
        {
            int id = i.GetInstanceID();
            if (m_spawned_worlds.ContainsKey(id))
            {
                Object.Destroy(m_spawned_worlds[id]);
                m_spawned_worlds.Remove(id);
            }
        }
    }
Exemplo n.º 29
0
    //void OnEnable() => m_TrackedImageManager.trackedImagesChanged += OnChanged;

    //void OnDisable() => m_TrackedImageManager.trackedImagesChanged -= OnChanged;

    void OnChanged(ARTrackedImagesChangedEventArgs eventArgs)
    {
        foreach (var newImage in eventArgs.added)
        {
            // Handle added event

            text.text = "Wieza dodana " + newImage.referenceImage.name;
        }

        foreach (var updatedImage in eventArgs.updated)
        {
            if (updatedImage.referenceImage.name == "ar_marker")
            {
                text.text = "Wieza update";
            }
        }

        foreach (var removedImage in eventArgs.removed)
        {
            if (removedImage.referenceImage.name == "ar_marker")
            {
                // Handle removed event
                text.text = "Wieza usunieta";
            }
        }
    }
Exemplo n.º 30
0
 public void OnImageChanged(ARTrackedImagesChangedEventArgs args)
 {
     foreach (var imageTracked in args.added)
     {
         imageTracked.transform.localScale = new Vector3(0.05f, 0.05f, 0.05f);
     }
 }