EasyAR 插件使用简介

2021-01-06 12:06发布

EasyAR引擎简介

EasyAR是好用且免费的增强现实(Augmented Reality)引擎.EasyAR为Unity开发和本地开发提供了大量可直接运行的样例。 
这些样例演示了各种target的创建方式和包含流媒体和透明视频在内的视频播放,以及更加高级的实时target创建和AR涂涂乐。

EasyAR自问世以来从未停止向前演进,自首个公开发布版本以来的主要更新内容如下,

增加更多完整实例 
增加多目标跟踪支持 
优化降低功耗 
移除Unity对Visual C++运行时库的依赖 
提升跟踪稳定性和准确性 
改善首次使用体验 
改善视频播放支持,增加透明视频支持 
改善前置摄像头和动态摄像头切换 
改善Unity支持和兼容性 
改善Unity接口 
EasyAR的优势

EasyAR支持使用平面目标的AR,支持1000个以上本地目标的流畅加载和识别,支持基于硬解码的视频(包括透明视频和流媒体)的播放,支持二维码识别,支持多目标同时跟踪。

EasyAR支持PC和移动设备等多个平台,EasyAR不会显示水印,也没有识别次数限制。

EasyAR下载 
官网下载 http://www.easyar.cn/

1,在官网注册账号,然后申请应用Key, 
登录到EasyAR平台后,进入开发导航菜单,点击创建应用(添加SDK license Key)设置完成后打开如下图: 

2,新建项目将EasyAR插件导入游戏场景中,将Prefabs文件夹中的EasyAR_Startup,拖拽到游戏场景中,并在Inspector面板中设置上面申请的Key值,设置如下图: 
2

EasyAR_Startup,这个prefab作为一个简单的组合提供,对于通常的AR场景来说也是足够的。你可以使用EasyAR提供的其它小型prefab构建一个更加复杂的AR场景。

2,新建游戏对象ImageTarget,并创建一个名为MyEasyARImageTarget.cs的代码文件,挂载到ImageTarget上

using EasyAR;

using UnityEngine;


public class MyEasyARImageTarget : ImageTargetBehaviour {


    protected override void Awake()

    {

        base.Awake();

        TargetFound += OnTargetFound;

        TargetLost += OnTargetLost;

        TargetLoad += OnTargetLoad;

        TargetUnload += OnTargetUnload;

    }

    /// <summary>

    /// 当扫描到图片是做的事情

    /// </summary>

    void OnTargetFound(TargetAbstractBehaviour behaviour)

    {

        Debug.Log("发现: " + Target.Id);

    }


    /// <summary>

    /// 当前扫描图图片移动开

    /// </summary>

    void OnTargetLost(TargetAbstractBehaviour behaviour)

    {

        Debug.Log("丢失: " + Target.Id);

    }


    /// <summary>

    /// 加载目标时执行

    /// </summary>

    void OnTargetLoad(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status)

    {

        Debug.Log("加载目标 (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);

    }



    /// <summary>

    /// 卸载时执行

    /// </summary>

    void OnTargetUnload(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status)

    {

        Debug.Log("卸载目标 (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);

    }

}

3,在MyEasyARImageTarget组件上,设置相关参数,如下图: 
注意StreamingAssets是特殊文件夹,图片一定要在该目录下: 

面板属性说明: 
Path:是需要识别图片的路径 
Name:是图片名称 
ActiveTargetOnStart:是否在MonoBehavior.Start被调用时加载target 
Storage:target存储位置的类型 
Size:改变可物体的大小

Storage类型说明: 

然后将要展示的3D游戏物体放在ImageTarget下(作为其子物体存在),,注意调整大小和位置一遍扫描时查看,,

最后在发布设置的时候:此名称和网站上最初设定的名称要一致,,(即和博文第一张图上名称对应)即 
4

EasyARDemo案例: 
https://github.com/Czhenya/EasyARDemo.git





作者:Czhenya

链接:https://czhenya.blog.csdn.net/article/details/78569073

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。