EasyAR SDK 学习小结

基本内容

官网地址:https://www.easyar.cn/

当前版本:2.3.0

版本和功能对照:

基本结构:

图片识别度检测工具:https://www.easyar.cn/targetcode.html

EasyAR常用的都做成了Prefab了,直接使用即可。

Key需要输入在“Tracker”里

图片识别

图片识别设置

图片识别数量

物体识别

物体识别的设置和图片识别设置基本一样。 物体识别需要一组3D模型文件(.obj+.mtl)用于识别,需要另外一组3D模型文件用于识别后的显示。

更多详细说明: https://www.easyar.cn/doc/EasyAR%20SDK/Guides/EasyAR-3D-Object-Tracking.html

视频播放

视频播放设置

视频播放发布设置

视频播放注意事项

  • 视频播放只能在移动设备上实现
  • 对Rendering设置有要求,不能弄错
  • 可能会在Unity2018.2版本下播放会黑屏,2018.1版本没问题

程序控制

图片识别后的控制例子

using EasyAR;
using UnityEngine;

public class ImageTargetShow : ImageTargetBaseBehaviour
{
    /// <summary>
    /// 重写Awake事件
    /// </summary>
    protected override void Awake()
    {
        base.Awake();

        //订阅事件
        TargetFound += OnTargetFound;   //识别成功事件
        TargetLost += OnTargetLost;     //识别对象丢失事件
        TargetLoad += OnTargetLoad;     //目标加载事件
        TargetUnload += OnTargetUnload; //目标卸载事件
    }

    /// <summary>
    /// 识别成功事件处理方法
    /// </summary>
    void OnTargetFound(TargetAbstractBehaviour behaviour)
    {
        Debug.Log("Found: " + Target.Name);     //输出到控制台
    }

    /// <summary>
    /// 识别对象丢失事件处理方法
    /// </summary>
    void OnTargetLost(TargetAbstractBehaviour behaviour)
    {
        Debug.Log("Lost: " + Target.Name);      //输出到控制台
    }

    /// <summary>
    /// 识别对象加载事件处理方法
    /// </summary>
    void OnTargetLoad(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status)
    {
        Debug.Log("Load target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);
    }

    /// <summary>
    /// 识别对象卸载事件处理方法
    /// </summary>
    void OnTargetUnload(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status)
    {
        Debug.Log("Unload target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);
    }
}

视频播放控制例子

using EasyAR;
using UnityEngine;

public class VideoPlayerController : VideoPlayerBaseBehaviour
{
    private System.EventHandler videoReayEvent;
    private System.EventHandler videoErrorEvent;
    private System.EventHandler videoReachEndEvent;

    /// <summary>
    /// 重写Awake事件
    /// </summary>
    protected override void Awake()
    {
        base.Awake();
    }

    /// <summary>
    /// 重写Start事件
    /// </summary>
    protected override void Start()
    {
        videoReayEvent = OnVideoReady;
        videoErrorEvent = OnVideoError;
        videoReachEndEvent = OnVideoReachEnd;
        base.Start();
        //添加事件订阅
        VideoReadyEvent += videoReayEvent;          //视频加载成功事件
        VideoErrorEvent += videoErrorEvent;         //视频加载失败事件
        VideoReachEndEvent += videoReachEndEvent;   //视频播放完成事件
        Open();     //开始加载视频
    }

    /// <summary>
    /// 视频加载成功事件
    /// </summary>
    void OnVideoReady(object sender, System.EventArgs e)
    {
        Debug.Log("Load video success");
    }

    /// <summary>
    /// 视频加载失败事件
    /// </summary>
    void OnVideoError(object sender, System.EventArgs e)
    {
        Debug.Log("Load video error");
    }

    /// <summary>
    /// 视频播放完成事件
    /// </summary>
    void OnVideoReachEnd(object sender, System.EventArgs e)
    {
        Debug.Log("video reach end");
    }

    /// <summary>
    /// 重写OnDestory事件
    /// </summary>
    protected override void OnDestroy()
    {
        VideoReadyEvent -= videoReayEvent;
        VideoErrorEvent -= videoErrorEvent;
        VideoReachEndEvent -= videoReachEndEvent;
        Close();
        base.OnDestroy();
    }

    /// <summary>
    /// 视频播放
    /// </summary>
    public void VideoPlay()
    {
        Play();
    }

    /// <summary>
    /// 视频停止
    /// </summary>
    public void VideoStop()
    {
        Stop();
    }
    
    /// <summary>
    /// 视频暂停
    /// </summary>
    public void VideoPause()
    {
        Pause();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值