コード例 #1
0
        private void CreateSenseAR()
        {
            if (SenseARInstance == null)
            {
                SenseARInstance = (GameObject)Instantiate(SenseARBasePrefab, transform.position, transform.rotation);
                slamController  = SenseARInstance.GetComponentInChildren <SenseARSLAMController>();
                updateTexture   = SenseARInstance.GetComponentInChildren <SenseARUpdateTexture>();
                slamCameraPose  = SenseARInstance.GetComponentInChildren <SenseARCameraPose>();

                // display size return screen size when portrait mode
                //int ScreenWidth = 0, ScreenHeight = 0;
                //Session.GetNativeSession().SessionApi.GetDisplaySize(ref ScreenWidth, ref ScreenHeight);

                if (Screen.orientation == ScreenOrientation.LandscapeLeft ||
                    Screen.orientation == ScreenOrientation.LandscapeRight)
                {
                    //Screen.SetResolution(ScreenHeight, ScreenWidth, true);
                    Screen.SetResolution(Screen.width, Screen.height, true);
                }
                else
                {
                    //Screen.SetResolution(ScreenWidth, ScreenHeight, true);
                    Screen.SetResolution(Screen.height, Screen.width, true);
                }
            }
        }
コード例 #2
0
    public void CreateSenseAR()
    {
        if (type == ReferenceImageType.Database && bCompleteReadingImageDatabase == false)
        {
            Debug.Log("CreateSenseAR Failed");
            return;
        }

        if (type == ReferenceImageType.Patt && bCompleteReadingConfig == false)
        {
            Debug.Log("CreateSenseAR Failed");
            return;
        }

        if (shotButton)
        {
            shotButton.gameObject.SetActive(true);
        }

        if (SenseARInstance == null)
        {
            SenseARInstance = (GameObject)Instantiate(SenseARBasePrefab, transform.position, transform.rotation);
            slamController  = GameObject.Find("SlamController").GetComponent <SenseARSLAMController>();
            updateTexture   = GameObject.Find("ARCamera").GetComponent <SenseARUpdateTexture>();
            session         = SenseARInstance.GetComponent <ARCoreSession>();
            database        = new ReferenceImageDatabase(Session.GetNativeSession());
            if (type == ReferenceImageType.SingleImage)
            {
                for (int i = 0; i < textures.Length; ++i)
                {
                    database.AddImage(textures[i].name, textures[i]);
                }
            }
            else if (type == ReferenceImageType.Patt)
            {
                database.LoadConfig(ConfigBuffer, ConfigBufferLength);
                for (int i = 0; i < patts.Length; ++i)
                {
                    database.AddPatt(PattsBuffer[i], PattsBufferLength[i]);
                }
            }
            else
            {
                database.Deserialize(ImageDatabaseBuffer, ImageDatabaseBufferLength);
            }
            session.SetReferenceImageDatabase(database);

            session.Connect();

            // display size return screen size when portrait mode
            //int ScreenWidth = 0, ScreenHeight = 0;
            //Session.GetNativeSession().SessionApi.GetDisplaySize(ref ScreenWidth, ref ScreenHeight);
        }

        if (AxisPrefab)
        {
            axisInstance = (GameObject)Instantiate(AxisPrefab, new Vector3(0, 0, 0), transform.rotation);
        }
    }
コード例 #3
0
    public void StartSenseAR()
    {
        if (SenseARInstance == null)
        {
            SenseARInstance = (GameObject)Instantiate(SenseArPrefab, transform.position, transform.rotation);
            slamController  = GameObject.Find("SlamController").GetComponent <SenseARSLAMController>();
            updateTexture   = GameObject.Find("ARCamera").GetComponent <SenseARUpdateTexture>();

            //Attempt Disabling The PointCloud as it is visually distracting
            slamController.m_PointCloudPrefab.SetActive(false);

            ArAlignedMapInterface.GetComponent <SimpleAutomaticSynchronizationContextBehaviour>()._arPositionReference = GameObject.Find("ARCamera").transform;
        }
    }
コード例 #4
0
    public void CreateSenseAR()
    {
        if (shotButton)
        {
            shotButton.gameObject.SetActive(true);
        }

        if (SenseARInstance == null)
        {
            SenseARInstance = (GameObject)Instantiate(SenseARBasePrefab, transform.position, transform.rotation);
            slamController  = GameObject.Find("SlamController").GetComponent <SenseARSLAMController>();
            updateTexture   = GameObject.Find("ARCamera").GetComponent <SenseARUpdateTexture>();

            // display size return screen size when portrait mode
            //int ScreenWidth = 0, ScreenHeight = 0;
            //Session.GetNativeSession().SessionApi.GetDisplaySize(ref ScreenWidth, ref ScreenHeight);
        }

        if (AxisPrefab)
        {
            axisInstance = (GameObject)Instantiate(AxisPrefab, new Vector3(0, 0, 0), transform.rotation);
        }
    }