1、EasyAR图片识别都是基于以下两个预制体进行。 2、EasyAR_ImageTracker-1预制体 只需注意ImageTracker物体中的ImageTrackerFrameFilter脚本,有一个重要参数 Simultaneous Target Number是指最大识别数量,当参数为1时,只能识别一张图片(如果相机内有两张图片,他会识别到第一个识别的图片) 当参数为>=2时,会同时识别多张图片 3、ImageTarget预制体 ImageTargetController脚本参数 ActiveControl:HideWhenNotTracking 没检测到时隐藏,检测到时显示 HideBeforeFirstFound:没检测到时隐藏,一旦检测到即使图片丢失也不会隐藏
两种图片资源加载方式
方法一:ImageFile path:图片的名字.png(例如:1.png) name:图片的名字(名字随意,用于区分) Scale:缩放,单位为米
方法二:TargetDataFile 把图片拖入到ImagePath中然后Generate,默认存放路径为StreamingAssets 脚本参数设置如下:
4、如何在代码中逻辑控制
using easyar;
using UnityEngine;
public class Test : MonoBehaviour
{
public ImageTrackerFrameFilter tracker;
//如果是多个图片的话直接创建多个 ImageTargetController即可
public ImageTargetController targetController;
void Awake()
{
if (targetController)
{
targetController.TargetFound += () =>
{
//当图像被跟踪到
};
targetController.TargetLost += () =>
{
//当图像从视野消失
};
targetController.TargetLoad += (Target target, bool status) =>
{
//加载图像
};
targetController.TargetUnload += (Target target, bool status) =>
{
//卸载图像
};
}
}
public void SetTracker(bool status)
{
tracker.enabled = status; //设置是否跟踪
}
public void SetTarget(bool status)
{
if (status)
{
targetController.Tracker = tracker; //加载图像
}
else
{
targetController.Tracker = null; //卸载图像
}
}
}
|