栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

Unity-EasyAR篇-单,多图片识别

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity-EasyAR篇-单,多图片识别

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;    //卸载图像
        }
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900779.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号