Esempio n. 1
0
        void Start()
        {
            //界面控制
            panel = GameObject.Find("/Canvas/Panel");
            panel.transform.Find("ButtonClose").GetComponent <Button>().onClick.AddListener(() =>
            {
                HiddenPanel();
            });
            info = panel.transform.Find("Text").GetComponent <Text>();

            svContent  = panel.transform.Find("Scroll View/Viewport/Content");
            inputField = panel.transform.Find("InputField").GetComponent <InputField>();
            dropdown   = panel.transform.Find("Dropdown").GetComponent <Dropdown>();
            btnAdd     = panel.transform.Find("ButtonAdd").GetComponent <Button>();
            btnAdd.onClick.AddListener(AddKeyPoint);
            btnAdd.interactable = false;

            btnDelete = panel.transform.Find("ButtonDelete").GetComponent <Button>();
            btnDelete.onClick.AddListener(DeleteKeyPoint);
            btnDelete.interactable = false;

            panel.transform.Find("ButtonSave").GetComponent <Button>().onClick.AddListener(SaveKeyPoints);
            gameController = FindObjectOfType <GameController>();

            session   = FindObjectOfType <ARSession>();
            mapWorker = FindObjectOfType <SparseSpatialMapWorkerFrameFilter>();
            map       = FindObjectOfType <SparseSpatialMapController>();

            LoadKeyPoints();
            HiddenPanel();
            LoadMap();
        }
Esempio n. 2
0
    private void Awake()
    {
        session     = FindObjectOfType <ARSession>();
        mapWorker   = FindObjectOfType <SparseSpatialMapWorkerFrameFilter>();
        videoCamera = session.GetComponentInChildren <VideoCameraDevice>();

#if UNITY_EDITOR
        GameObject.Find("EasyAR_SparseSpatialMapWorker").SetActive(false);
#endif

        PropDragger.CreateObject += (gameObj) =>
        {
            if (gameObj)
            {
                gameObj.transform.parent = mapData.Controller.transform;
                mapData.Props.Add(gameObj);
            }
        };
        PropDragger.DeleteObject += (gameObj) =>
        {
            if (gameObj)
            {
                mapData.Props.Remove(gameObj);
            }
        };
    }
Esempio n. 3
0
 private void Awake()
 {
     vioCamera = Session.GetComponentInChildren <VIOCameraDeviceUnion>();
     sparse    = Session.GetComponentInChildren <SparseSpatialMapWorkerFrameFilter>();
     dense     = Session.GetComponentInChildren <DenseSpatialMapBuilderFrameFilter>();
     TouchControl.TurnOn(TouchControl.gameObject.transform, Camera.main, false, false, true, false);
 }
 private void Awake()
 {
     vioCamera = Session.GetComponentInChildren <VIOCameraDeviceUnion>();
     sparse    = Session.GetComponentInChildren <SparseSpatialMapWorkerFrameFilter>();
     TouchControl.TurnOn(TouchControl.gameObject.transform, Camera.main, false, false, true, false);
     ImageTarget.TargetFound += () => { found = true; };
     ImageTarget.TargetLost  += () => { found = false; };
 }
    private void Awake()
    {
#if UNITY_EDITOR
        GameObject.FindObjectOfType <VIOCameraDeviceUnion>().enabled = false;
#endif
        session     = FindObjectOfType <ARSession>();
        mapWorker   = FindObjectOfType <SparseSpatialMapWorkerFrameFilter>();
        videoCamera = session.GetComponentInChildren <VideoCameraDevice>();
    }
Esempio n. 6
0
 private void CreateSession()
 {
     easyarObject = Instantiate(EasyARSession, Instance.transform);
     easyarObject.SetActive(true);
     session        = easyarObject.GetComponent <ARSession>();
     vioCamera      = easyarObject.GetComponentInChildren <VIOCameraDeviceUnion>();
     mapFrameFilter = easyarObject.GetComponentInChildren <SparseSpatialMapWorkerFrameFilter>();
     mapSession     = new MapSession(mapFrameFilter, selectedMaps);
 }
Esempio n. 7
0
        private void Start()
        {
            var launcher = "AllSamplesLauncher";

            if (Application.CanStreamedLevelBeLoaded(launcher))
            {
                var button = BackButton.GetComponent <Button>();
                button.onClick.AddListener(() => { UnityEngine.SceneManagement.SceneManager.LoadScene(launcher); });
            }
            else
            {
                BackButton.gameObject.SetActive(false);
            }

            sparse    = Session.GetComponentInChildren <SparseSpatialMapWorkerFrameFilter>();
            vioCamera = Session.GetComponentInChildren <VIOCameraDeviceUnion>();
            TouchControl.TurnOn(TouchControl.gameObject.transform, Camera.main, false, false, true, false);

            if (string.IsNullOrEmpty(MapController.MapManagerSource.ID) || string.IsNullOrEmpty(MapController.MapManagerSource.Name))
            {
                throw new UIPopupException("Map ID or Name NOT set, please set MapManagerSource on: " + MapController + Environment.NewLine +
                                           "To create SpatialMap, use <SpatialMap_SparseSpatialMap> sample." + Environment.NewLine +
                                           "To get Map ID and Name, use EasyAR Develop Center (www.easyar.com) -> SpatialMap -> Database Details." + Environment.NewLine +
                                           "Map ID is used when loading, it can be used to share maps among devices.", 100);
            }

            MapController.MapLoad += (map, status, error) =>
            {
                GUIPopup.EnqueueMessage("Load map {name = " + map.Name + ", id = " + map.ID + "} into " + sparse.name + Environment.NewLine +
                                        " => " + status + (string.IsNullOrEmpty(error) ? "" : " <" + error + ">"), status ? 3 : 5);

                if (!status)
                {
                    return;
                }

                GUIPopup.EnqueueMessage("Notice: load map (only the first time each map) will trigger a download in this sample." + Environment.NewLine +
                                        "Statistical request count will be increased (more details on EasyAR website)." + Environment.NewLine +
                                        "Map cache is used after a successful download." + Environment.NewLine +
                                        "Map cache will be cleared if SparseSpatialMapManager.clear is called or app uninstalled.", 5);
            };

            MapController.MapLocalized += () =>
            {
                GUIPopup.EnqueueMessage("Localized map {name = " + MapController.MapInfo.Name + "}", 3);
            };

            MapController.MapStopLocalize += () =>
            {
                GUIPopup.EnqueueMessage("Stopped localize map {name = " + MapController.MapInfo.Name + "}", 3);
            };

            sparse.Localizer.startLocalization();
        }
Esempio n. 8
0
 private void Awake()
 {
     //稀疏空间地图初始
     session    = FindObjectOfType <ARSession>();
     mapWorker  = FindObjectOfType <SparseSpatialMapWorkerFrameFilter>();
     map        = FindObjectOfType <SparseSpatialMapController>();
     SavePanel  = GameObject.Find("MapName");
     inputField = SavePanel.transform.Find("Panel/InputField").GetComponent <InputField>();
     btnUpload  = SavePanel.transform.Find("Panel/Btn_Upload").GetComponent <Button>();
     btnSave    = GameObject.Find("Canvas/Map/Btn_SaveMap").GetComponent <Button>();
     //显示文本
     text = GameObject.Find("Canvas/Map/Text").GetComponent <Text>();
 }
Esempio n. 9
0
 public MapSession(SparseSpatialMapWorkerFrameFilter mapWorker, List <MapMeta> maps)
 {
     MapWorker = mapWorker;
     if (maps != null)
     {
         foreach (var meta in maps)
         {
             Maps.Add(new MapData()
             {
                 Meta = meta
             });
         }
     }
 }
Esempio n. 10
0
        private void Awake()
        {
            vioCamera = Session.GetComponentInChildren <VIOCameraDeviceUnion>();
            sparse    = Session.GetComponentInChildren <SparseSpatialMapWorkerFrameFilter>();
            TouchControl.TurnOn(TouchControl.gameObject.transform, Camera.main, false, false, true, false);

            var launcher = "AllSamplesLauncher";

            if (Application.CanStreamedLevelBeLoaded(launcher))
            {
                var button = BackButton.GetComponent <Button>();
                button.onClick.AddListener(() => { UnityEngine.SceneManagement.SceneManager.LoadScene(launcher); });
            }
            else
            {
                BackButton.gameObject.SetActive(false);
            }
        }
Esempio n. 11
0
        void Start()
        {
            gameController = FindObjectOfType <GameController>();
            panel          = GameObject.Find("/Canvas/Panel");
            btnNav         = GameObject.Find("/Canvas/ButtonNav").GetComponent <Button>();
            btnNav.onClick.AddListener(ShowNavUI);
            btnNav.interactable = false;
            panel.transform.Find("ButtonClose").GetComponent <Button>().onClick.AddListener(CloseNavUI);

            svContent = panel.transform.Find("Scroll View/Viewport/Content").transform;

            session   = FindObjectOfType <ARSession>();
            mapWorker = FindObjectOfType <SparseSpatialMapWorkerFrameFilter>();
            map       = FindObjectOfType <SparseSpatialMapController>();

            SetLine();
            CloseNavUI();
            LoadMap();
        }
Esempio n. 12
0
    void Start()
    {
        //稀疏空间地图初始
        session   = FindObjectOfType <ARSession>();
        mapWorker = FindObjectOfType <SparseSpatialMapWorkerFrameFilter>();
        map       = FindObjectOfType <SparseSpatialMapController>();

        //如果之前有建立过地图且文本框没有预设值
        if (inputID.text.Length <= 0)
        {
            inputID.text   = PlayerPrefs.GetString("MapID", "");
            inputName.text = PlayerPrefs.GetString("MapName", "");
        }

        map.MapLoad         += MapLoadBack;     //注册地图加载事件
        map.MapLocalized    += LocalizedMap;    //注册定位成功事件
        map.MapStopLocalize += StopLocalizeMap; //注册停止定位事件

        StartLocalization();
    }
Esempio n. 13
0
 void Start()
 {
     //保存按钮初始
     gameController = FindObjectOfType <GameController>();
     btnSave        = GameObject.Find("/Canvas/ButtonSave").GetComponent <Button>();
     btnSave.onClick.AddListener(Save);
     btnSave.interactable = false;
     //稀疏空间地图初始
     session   = FindObjectOfType <ARSession>();
     mapWorker = FindObjectOfType <SparseSpatialMapWorkerFrameFilter>();
     map       = FindObjectOfType <SparseSpatialMapController>();
     //追踪状态设置
     session.WorldRootController.TrackingStatusChanged += OnTrackingStatusChanged;
     if (session.WorldRootController.TrackingStatus == MotionTrackingStatus.Tracking)
     {
         btnSave.interactable = true;
     }
     else
     {
         btnSave.interactable = false;
     }
 }
Esempio n. 14
0
 void Start()
 {
     //稀疏空间地图初始
     session   = FindObjectOfType <ARSession>();
     mapWorker = FindObjectOfType <SparseSpatialMapWorkerFrameFilter>();
     map       = FindObjectOfType <SparseSpatialMapController>();
     //注册追踪状态变化事件
     session.WorldRootController.TrackingStatusChanged += OnTrackingStatusChanged;
     //初始化保存按钮
     btnSave = GameObject.Find("/Canvas/Button").GetComponent <Button>();
     btnSave.onClick.AddListener(Save);
     btnSave.interactable = false;
     if (session.WorldRootController.TrackingStatus == MotionTrackingStatus.Tracking)
     {
         btnSave.interactable = true;
     }
     else
     {
         btnSave.interactable = false;
     }
     //初始化显示文本
     text = GameObject.Find("/Canvas/Panel/Text").GetComponent <Text>();
 }