コード例 #1
0
    private void AddTrackerData()
    {
        foreach (var trackable in imageTrackablesMap)
        {
            if (trackable.Value.TrackerDataFileName.Length == 0)
            {
                continue;
            }

            if (trackable.Value.StorageType == StorageType.AbsolutePath)
            {
                TrackerManager.GetInstance().AddTrackerData(trackable.Value.TrackerDataFileName);
                TrackerManager.GetInstance().LoadTrackerData();
            }
            else if (trackable.Value.StorageType == StorageType.StreamingAssets)
            {
                if (Application.platform == RuntimePlatform.Android)
                {
                    StartCoroutine(MaxstARUtil.ExtractAssets(trackable.Value.TrackerDataFileName, (filePah) =>
                    {
                        TrackerManager.GetInstance().AddTrackerData(filePah, false);
                        TrackerManager.GetInstance().LoadTrackerData();
                    }));
                }
                else
                {
                    TrackerManager.GetInstance().AddTrackerData(Application.streamingAssetsPath + "/" + trackable.Value.TrackerDataFileName);
                    TrackerManager.GetInstance().LoadTrackerData();
                }
            }
        }
    }
コード例 #2
0
    void Start()
    {
        QualitySettings.vSyncCount  = 0;
        Application.targetFrameRate = 60;

        imageTrackablesMap.Clear();
        ImageTrackableBehaviour[] imageTrackables = FindObjectsOfType <ImageTrackableBehaviour>();
        foreach (var trackable in imageTrackables)
        {
            imageTrackablesMap.Add(trackable.TrackableName, trackable);
            Debug.Log("Trackable add: " + trackable.TrackableName);
        }


        TrackerManager.GetInstance().StartTracker(TrackerManager.TRACKER_TYPE_IMAGE);
        AddTrackerData();

        videoPlayer.playOnAwake          = false;
        videoPlayer.isLooping            = true;
        videoPlayer.sendFrameReadyEvents = true;
        videoPlayer.frameReady          += OnNewFrame;

        if (Application.platform == RuntimePlatform.Android)
        {
            StartCoroutine(MaxstARUtil.ExtractAssets("MaxstAR/tracking_video.mp4", (filePah) =>
            {
                videoPlayer.url = filePah;
                SwitchCameraToVideo(CameraMode);
            }));
        }
        else
        {
            videoPlayer.url = Application.streamingAssetsPath + "/MaxstAR/tracking_video.mp4";
            SwitchCameraToVideo(CameraMode);
        }

        // For see through smart glass setting
        if (ConfigurationScriptableObject.GetInstance().WearableType == WearableCalibration.WearableType.OpticalSeeThrough)
        {
            WearableManager.GetInstance().GetDeviceController().SetStereoMode(true);

            CameraBackgroundBehaviour cameraBackground = FindObjectOfType <CameraBackgroundBehaviour>();
            cameraBackground.gameObject.SetActive(false);

            WearableManager.GetInstance().GetCalibration().CreateWearableEye(Camera.main.transform);

            // BT-300 screen is splited in half size, but R-7 screen is doubled.
            if (WearableManager.GetInstance().GetDeviceController().IsSideBySideType() == true)
            {
                // Do something here. For example resize gui to fit ratio
            }
        }
    }
コード例 #3
0
    private void AddTrackerData()
    {
        foreach (var trackable in objectTrackablesMap)
        {
            if (trackable.Value.TrackerDataFileName.Length == 0)
            {
                continue;
            }

            string realSizeData = null;

            if (trackable.Value.RealSize > 0)
            {
                realSizeData = "{\"object_fusion\":\"set_length\",\"object_name\":\"" + trackable.Value.TrackableName + "\", \"length\":" + trackable.Value.RealSize + "}";
            }

            if (trackable.Value.StorageType == StorageType.AbsolutePath)
            {
                TrackerManager.GetInstance().AddTrackerData(trackable.Value.TrackerDataFileName);
                if (realSizeData != null)
                {
                    TrackerManager.GetInstance().AddTrackerData(realSizeData);
                }

                TrackerManager.GetInstance().LoadTrackerData();
            }
            else if (trackable.Value.StorageType == StorageType.StreamingAssets)
            {
                if (Application.platform == RuntimePlatform.Android)
                {
                    StartCoroutine(MaxstARUtil.ExtractAssets(trackable.Value.TrackerDataFileName, (filePah) =>
                    {
                        TrackerManager.GetInstance().AddTrackerData(filePah, false);
                        if (realSizeData != null)
                        {
                            TrackerManager.GetInstance().AddTrackerData(realSizeData);
                        }
                        TrackerManager.GetInstance().LoadTrackerData();
                    }));
                }
                else
                {
                    TrackerManager.GetInstance().AddTrackerData(Application.streamingAssetsPath + "/" + trackable.Value.TrackerDataFileName);
                    if (realSizeData != null)
                    {
                        TrackerManager.GetInstance().AddTrackerData(realSizeData);
                    }
                    TrackerManager.GetInstance().LoadTrackerData();
                }
            }
        }
    }