private void OnCloudUpdate(CloudRecognizerBaseBehaviour cloud, Status status, List <ImageTarget> targets)
    {
        if (status != Status.Success && status != Status.Fail)
        {
            Debug.LogWarning("cloud: " + status);
        }
        if (!trackerBehaviour)
        {
            return;
        }
        foreach (var imageTarget in targets)
        {
            if (uids.Contains(imageTarget.Uid))
            {
                continue;
            }

            Debug.Log("New Cloud Target.uid: " + imageTarget.Uid + "(imageTarget.Name:" + imageTarget.Name + ")" + "(imageTarget.MetaData:" + imageTarget.MetaData + ")");
            //byte[] bytes = Convert.FromBase64String(imageTarget.MetaData);
            //string s = System.Text.Encoding.GetEncoding("utf-8").GetString(bytes);
            //Debug.Log("metaUrl:" + s);
            //创建ImageTarget
            uids.Add(imageTarget.Uid);

            //从后台获取数据
            App.MgrPost.Load(imageTarget, InitVideoCardTarget);
        }
    }
示例#2
0
    private void OnCloudUpdate(CloudRecognizerBaseBehaviour cloud, Status status, List <ImageTarget> targets)
    {
        if (status != Status.Success && status != Status.Fail)
        {
            Debug.LogWarning("Cloud: " + status);
        }
        if (!trackerBehaviour)
        {
            return;
        }
        foreach (var imageTarget in targets)
        {
            if (uids.Contains(imageTarget.Uid))
            {
                continue;
            }

            Debug.Log("New Cloud Target: " + imageTarget.Uid + "(" + imageTarget.Name + ")");
            uids.Add(imageTarget.Uid);

            var target = new GameObject();
            target.transform.name = "VideoPlayerParent";
            var targetBehaviour = target.AddComponent <VideoImageTargetBehaviour>();
            if (!targetBehaviour.SetupWithTarget(imageTarget))
            {
                continue;
            }
            targetBehaviour.Bind(trackerBehaviour);

            var videoPlayer = Instantiate(videoPlayerPrefab);
            videoPlayer.transform.parent        = target.transform;
            videoPlayer.transform.localPosition = Vector3.zero;
            videoPlayer.transform.localScale    = new Vector3(targetBehaviour.Size.x / Mathf.Max(targetBehaviour.Size.x, targetBehaviour.Size.y), 1f, 1f);
            if (SaveNewTarget)
            {
                var thread = new Thread(SaveRunner)
                {
                    Priority = System.Threading.ThreadPriority.BelowNormal
                };
                thread.Start(imageTarget);
            }
        }
    }
示例#3
0
        private void OnCloudUpdate(CloudRecognizerBaseBehaviour cloud, Status status, List <ImageTarget> targets)
        {
            if (status != Status.Success && status != Status.Fail)
            {
                Debug.LogWarning("cloud: " + status);
            }
            if (!trackerBehaviour)
            {
                return;
            }
            foreach (var imageTarget in targets)
            {
                if (uids.Contains(imageTarget.Uid))
                {
                    continue;
                }

                Debug.Log("New Cloud Target: " + imageTarget.Uid + "(" + imageTarget.Name + ")");
                uids.Add(imageTarget.Uid);
                var gameObj         = new GameObject();
                var targetBehaviour = gameObj.AddComponent <SampleImageTargetBehaviour>();
                if (!targetBehaviour.SetupWithTarget(imageTarget))
                {
                    continue;
                }
                targetBehaviour.Bind(trackerBehaviour);

                var gameObj2 = GameObject.CreatePrimitive(PrimitiveType.Cube);
                gameObj2.GetComponent <MeshRenderer>().material = Resources.Load("Materials/EasyAR") as Material;
                gameObj2.transform.parent        = gameObj.transform;
                gameObj2.transform.localPosition = Vector3.up / 10;
                gameObj2.transform.localScale    = new Vector3(targetBehaviour.Size.x / Mathf.Max(targetBehaviour.Size.x, targetBehaviour.Size.y) / 2, 1f / 5, targetBehaviour.Size.y / Mathf.Max(targetBehaviour.Size.x, targetBehaviour.Size.y) / 2);

                if (SaveNewTarget)
                {
                    var thread = new Thread(SaveRunner)
                    {
                        Priority = System.Threading.ThreadPriority.BelowNormal
                    };
                    thread.Start(imageTarget);
                }
            }
        }
示例#4
0
        private void OnCloudUpdate(CloudRecognizerBaseBehaviour cloud, Status status, List <ImageTarget> targets)
        {
            if (status != Status.Success && status != Status.Fail)
            {
                Debug.LogWarning("cloud: " + status);
            }
            if (!trackerBehaviour)
            {
                return;
            }

            Debug.Log(" ---------- " + targets.Count);

            foreach (var imageTarget in targets)
            {
                if (uids.Contains(imageTarget.Uid))
                {
                    continue;
                }

                Debug.Log("New Cloud Target: " + imageTarget.Uid + "(" + imageTarget.Name + ")");
                uids.Add(imageTarget.Uid);
                var obj             = new GameObject(imageTarget.Name);
                var targetBehaviour = obj.AddComponent <SampleImageTargetBehaviour>();
                if (!targetBehaviour.SetupWithTarget(imageTarget))
                {
                    continue;
                }
                targetBehaviour.Bind(trackerBehaviour);

                if (SaveNewTarget)
                {
                    var thread = new Thread(SaveRunner)
                    {
                        Priority = System.Threading.ThreadPriority.BelowNormal
                    };
                    thread.Start(imageTarget);
                }
            }
        }