EasyAR4.0使用说明(Unity3D)(二)----平面图像跟踪

总体说明

平面图像跟踪对图像有一定的要求,纹理细节丰富,纹理不是简单重复,长宽比不能太大。 官方提供了图像检测工具,将图像上传到指定地址,可以知道可识别度。

地址:https://www.easyar.cn/targetcode.html

图像检测

平面图像跟踪主要是ImageTracker和ImageTarget这两个游戏对象,每个ImageTarget对应一个被跟踪的图像,场景中也可以同时出现多个ImageTracker。

总体结构

ImageTracker游戏对象相关

  • 【enable】属性可以用于获取当前跟踪器状态,也可以用于启用/禁用当前跟踪器从而实现启用/禁用平米图像识别的功能。
  • 【Tracker Mode】选项设置跟踪的时候是质量优先还是性能优先,默认是质量优秀(Prefer Quality)。
  • 【Simultaneous Target Number】设置指定当前的跟踪器同时跟踪目标的最大数量。一个场景中,能同时被跟踪的图像数量是所有ImageTracker的Simultaneous Target Number属性值的和。

ImageTarget游戏对象相关

  • 【Tracker】设置, 每个ImageTarget游戏对象必须指定一个ImageTracker游戏对象才能被跟踪,可以通过修改该设置实现对图像的加载和卸载。
  • 【Active Control】选项用于设置ImageTarget游戏对象是否激活和激活方式。
  • 【Source Type】选项用于设置跟踪类型,除了可以直接跟踪图片“Image File”,还可以跟踪只包含关键信息文件大小小很多的“Target Data File”。
    “Target”则是用来获取云识别的结果的。
  • 【事件】ImageTargetController类提供了4个事件,分别是图像被识别“TargetFound”,被识别图像从视野消失“TargetLost”,图像加载完成“TargetLoad”和图像卸载完成“TargetUnload”。

单个图像跟踪

新建一个场景,设置场景中的Main Camera的Clear Flags属性为Solid Color。

单个图像跟踪

将EasyAR_ImageTracker-1预制件拖到场景中。

单个图像跟踪

将ImgaeTarget预制件拖到场景中。

单个图像跟踪

设置利用图片文件进行跟踪,设置Source Type属性为Image File,设置Path Type为StreamingAssets,设置Paht为“bus.jpg”,即跟踪图像相对路径,设置Scale属性为“0.2”。

注意,这里的Scale的大小是指图像在被跟踪的时候,在现实空间的宽度,单位为米。

单个图像跟踪

在ImageTarget游戏对象下添加要显示的3D模型。

单个图像跟踪

运行效果如下:

在这里插入图片描述

EasyAR还可以利用Data文件进行跟踪。点击菜单EasyAR–Image Target Data,在弹出窗口中,设置Generate From为Image。将要跟踪的图像拖到Image Path中。设置Name和Scale属性,然后点击Generate按钮。点击之后,默认会在项目的SteamingAssets目录下生成“.etd”文件。

单个图像跟踪

设置Source Type属性为Target Data File,设置Path Type为StreamingAsset】,设置Paht为“birds.etd”,即跟踪数据文件相对路径。

单个图像跟踪

同时跟踪多个图像

在上面的例子中,修改Simultaneous Target Number值,将其从默认1改为2即可。

同时跟踪多个图像

运行效果如下:

当视野中的图像数量小于等于跟踪数量的时候,则所有图像都会被跟踪。当视野中的图像数量大于跟踪数量的时候,最先被跟踪的图像会被跟踪。

在这里插入图片描述

EasyAR还可以使用多个Tracker进行跟踪

在这里插入图片描述

运行效果如下:

在这里插入图片描述

EasyAR也可以同时跟踪同一图像的多个副本

在这里插入图片描述

运行效果如下:

在这里插入图片描述

平面图像跟踪程序控制

    public ImageTrackerFrameFilter tracker;
    public ImageTargetController targetController;

    void Awake()
    {
        if (targetController)
        {
            targetController.TargetFound += () =>
            {
                Debug.LogFormat(...);	//当图像被跟踪到
            };
            targetController.TargetLost += () =>
            {
                Debug.LogFormat(...);	//当图像从视野消失
            };
            targetController.TargetLoad += (Target target, bool status) =>
            {
                Debug.LogFormat(...);	//加载图像
            };
            targetController.TargetUnload += (Target target, bool status) =>
            {
                Debug.LogFormat(...);	//卸载图像
            };
        }
    }
    public void SetTracker(bool status)
    {
        tracker.enabled = status;	//设置是否跟踪
    }
    public void SetTarget(bool status)
    {
        if (status)
        {
            targetController.Tracker = tracker; //加载图像
        }
        else
        {
            targetController.Tracker = null;    //卸载图像
        }
    }

视频版地址:

https://www.bilibili.com/video/BV1VZ4y147kj/

### 回答1: b'easyar4.0与Unity图像识别的区别是什么?' easyar4.0是一款专门用于图像识别的软件开发工具,而Unity则是一款游戏引擎。虽然Unity也支持图像识别功能,但是easyar4.0在这方面更加专业和方便,可以更快速地开发出高质量的图像识别应用程序。另外,easyar4.0还支持多平台开发,包括iOS、Android和Windows等操作系统,在跨平台图像识别方面有着更强的优势。 ### 回答2: 易盾AR4.0是一款先进的增强现实技术软件,主要用于实现AR教育、AR游戏、AR导航、AR营销、AR打印、AR展示等多种应用场景,可以快速、精准地识别并追踪现实世界中的图像、物体、地标等,实现现实世界与虚拟世界的无缝衔接。在实现AR技术的应用过程中,Unity是目前最为流行的游戏引擎之一,支持3D及2D开发,易盾AR4.0也可轻松与Unity进行深度集成,实现优质的AR应用体验。 EasyAR4.0和Unity图片识别的结合使用可以实现具有高度智能化的增强现实效果,满足多种应用的需求。EasyAR4.0提供的图像识别技术可以对于预设好的图像进行快速、准确的识别,同时还可以追踪出图像的位置、大小、方向等元素的相关信息,为效果展示提供了基础的数据支持。而Unity则提供了丰富的图形渲染和动画特效制作功能,能够更好地呈现AR效果。 通过EasyAR4.0和Unity应用配合开发,可以在AR教育中实现具有互动性的科普展示;在AR游戏中增强游戏场景的真实感;在AR导航中将现实世界与虚拟地图相结合,方便用户更好地进行导航;在AR营销中增强产品的展示效果等。 总之,EasyAR4.0与Unity的结合对于实现AR应用具有重要的意义,可以为AR应用领域的发展带来重大的推动作用。 ### 回答3: EasyAR是一款跨平台的增强现实SDK,而Unity是一款游戏引擎。EasyAR的4.0版本是其最新的版本,提供了更加稳定、高效的识别跟踪功能。EasyAR4.0能够通过自己的AR引擎,对现实世界进行实时检测,能够实现维码、图像、目标、物体的跟踪识别。 在Unity使用EasyAR4.0能够实现非常流畅和高效的增强现实效果。首先,开发者需要先将EasyAR插件设置好,然后将识别的图像或物体导入Unity中进行编辑。这包括添加AR相机、设置AR目标、添加跟踪事件等等。然后开发者可以使用Unity所提供的各种功能,例如粒子效果和声音效果,用来强化增强现实效果。 相对于其他增强现实SDK,EasyAR4.0的优势在于它提供了丰富的资料支持和社区支持。EasyAR官网提供了许多视频教程、开发文档和示例代码,能够让开发者更快速地上手。此外,EasyAR还提供了一个活跃的社区,开发者能够在上面分享自己的经验和获取他人的帮助。 总之,EasyAR4.0作为一个成熟的增强现实引擎,与Unity的结合使用能够实现出色的AR应用。希望今后EasyAR能够不断更新和完善,为AR开发者提供更好的开发工具和平台。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值