参照https://blog.csdn.net/weixin_38239050/article/details/88983249
需要的问题大致如图
在这里插入图片描述
1.首先新建一个canvas,将官方扫描框fit_to_scan加入其中
2.选中要识别的图片,右键Create > GoogleARCore > AugmentedImageDatabase.
在这里插入图片描述

在这里插入图片描述
3.右键Create > GoogleARCore > SessionConfig 并命名为ImageSessionConfig

4.将创建的ImageSessionConfig赋值给ARCore Device(从官方实例复制的)
在这里插入图片描述

5.创建脚本AugmentedImageVisualizerOverride.cs,代码如下:挂载到对应预制体上

namespace GoogleARCore.Examples.AugmentedImage

{

    using System;

    using System.Collections.Generic;

    using System.Runtime.InteropServices;

    using GoogleARCore;

    using GoogleARCoreInternal;

    using UnityEngine;

    public class AugmentedImageVisualizerOverride : MonoBehaviour

    {


        public AugmentedImage Image;



        public void Update()

        {

            if (Image == null || Image.TrackingState != TrackingState.Tracking)

            {



                return;

            }

        }

    }

}

6.创建ARCoreImageController.cs 挂载到创建的空物体ARCoreImageController上
在这里插入图片描述

namespace GoogleARCore.Examples.AugmentedImage

{

    using System.Collections.Generic;

    using System.Runtime.InteropServices;

    using GoogleARCore;

    using UnityEngine;

    using UnityEngine.UI;



    public class ARCoreImageController : MonoBehaviour

    {

        [Header("Drag Augmented Image prefab to this")]

        public List<AugmentedImageVisualizerOverride> AugmentedImageVisualizerPrefab;

        [Header("Drag FitToScanOverlay to this")]

        public GameObject FitToScanOverlay;

        private Dictionary<int, AugmentedImageVisualizerOverride> m_Visualizers

          = new Dictionary<int, AugmentedImageVisualizerOverride>();

        private List<AugmentedImage> m_TempAugmentedImages = new List<AugmentedImage>();



        public void Update()

        {



            if (Input.GetKey(KeyCode.Escape))

            {

                Application.Quit();

            }



            if (Session.Status != SessionStatus.Tracking)

            {

                return;

            }



            Session.GetTrackables<AugmentedImage>(m_TempAugmentedImages, TrackableQueryFilter.Updated);



            foreach (var image in m_TempAugmentedImages)

            {

                Debug.Log("name1111111" + image.Name);

                Debug.Log("index1111111" + image.DatabaseIndex);

                AugmentedImageVisualizerOverride visualizer = null;

                m_Visualizers.TryGetValue(image.DatabaseIndex, out visualizer);

                if (image.TrackingState == TrackingState.Tracking && visualizer == null)

                {



                    Debug.Log("name" + image.Name);

                    Debug.Log("index" + image.DatabaseIndex);

                    Anchor anchor = image.CreateAnchor(image.CenterPose);



                    visualizer = AugmentedImageVisualizerPrefab[image.DatabaseIndex];

                    visualizer.gameObject.SetActive(true);



                    visualizer.transform.parent = anchor.transform;

                    visualizer.Image = image;

                    m_Visualizers.Add(image.DatabaseIndex, visualizer);





                }

            }



            foreach (var visualizer in m_Visualizers.Values)

            {

                if (visualizer.Image.TrackingState == TrackingState.Tracking)

                {

                    FitToScanOverlay.SetActive(false);

                    return;

                }

            }



        }

        //重置位置方法

        public void OnclickRe(int index)

        {

            AugmentedImageVisualizerOverride visualizer = null;

            m_Visualizers.TryGetValue(index, out visualizer);

            if (visualizer != null)

            {

                m_Visualizers.Remove(index);

                visualizer.gameObject.SetActive(false);

                FitToScanOverlay.SetActive(true);

            }

        }

    }
}

物体太大了有点飘,后续继续修改
在这里插入图片描述
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐