【EasyAR学习】显示模型

一、开发环境

    到EasyAR官网(https://www.easyar.cn/view/download.html#download-nav1)下载EasyAR的SDK,目前官网上发布的最新版本是2.2.0版本。


    然后在EasyAR 官网(http://www.easyar.cn/)注册账号,在开发中心添加SDK license key。


【EasyAR学习】显示模型_第1张图片

    点击确定后就会创建一个key。

二、创建自己的AR程序

1、新建unity项目,将解压缩之后的SDK文件中的unitypackage包导入到unity3D中。

导入unitypackage包后,会在Project面板看到如下图所示的文件夹.


【EasyAR学习】显示模型_第2张图片

【EasyAR学习】显示模型_第3张图片                             【EasyAR学习】显示模型_第4张图片

2、删除Main Camera,并将AR相机-------EasyAR_Startup拖入到Hierarchy面板中。

【EasyAR学习】显示模型_第5张图片

3、在EasyAR_Startup的Insepctor面板填写Key 值(将之前在官网创建的Key复制到这里)。

【EasyAR学习】显示模型_第6张图片

4、然后,将ImageTarget 预制体拖入到Hierarchy面板中去。

【EasyAR学习】显示模型_第7张图片

5、修改 ImageTarget 上挂载的ImageTargetBehaviour.cs 脚本,这里我直接将挂载的ImageTargetBehaviour.cs 脚本删除了,然后在Assets文件夹下新建了“Test1→Scripts→SampleImageTargetBehaviour.cs”脚本,该脚本继承于ImageTargetBehaviour,双击打开后,填写如下代码(也可从官网http://www.easyar.cn/doc_sdk/cn/Getting-Started/Setting-up-EasyAR-Unity-SDK.html获得),此脚本的作用就是控制模型识别后的显示,在VS2010编译运行成功后,将SampleImageTargetBehaviour.cs挂载到ImageTarget上。

using UnityEngine;
using EasyAR;

public class SampleImageTargetBehaviour :ImageTargetBehaviour {

        protected override void Awake()
        {
            base.Awake();
            TargetFound += OnTargetFound;
            TargetLost += OnTargetLost;
            TargetLoad += OnTargetLoad;
            TargetUnload += OnTargetUnload;
        }

        void OnTargetFound(TargetAbstractBehaviour behaviour)
        {
            Debug.Log("Found: " + Target.Id);
        }

        void OnTargetLost(TargetAbstractBehaviour behaviour)
        {
            Debug.Log("Lost: " + Target.Id);
        }

        void OnTargetLoad(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status)
        {
            Debug.Log("Load target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);
        }

        void OnTargetUnload(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status)
        {
            Debug.Log("Unload target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);
        }
}
6、在Inspector面板填写ImageTarget信息:(注意,一定要将Storage 的格式修改为Assets)
Path: 识别图的路径
Name:识别图的名字

Size:识别图的大小

【EasyAR学习】显示模型_第8张图片

下面是识别图片EasyAR.jpg(图片路径我是放在Assets\Test1\Textures\EasyAR.jpg)

【EasyAR学习】显示模型_第9张图片

7、新建个材质球,将识别图EasyAR作为贴图放入材质球,将材质球放入如下图地方.

【EasyAR学习】显示模型_第10张图片             【EasyAR学习】显示模型_第11张图片

【EasyAR学习】显示模型_第12张图片

8、在Hierarchy面板放入你需要显示的模型,并设成ImageTargert的子物体,然后修改模型的transform 。

【EasyAR学习】显示模型_第13张图片        【EasyAR学习】显示模型_第14张图片

9、保存场景,并运行。
    我运行之后,显示failed to load target on start() ,而且识别图片上也没有显示cube。

我对照着官网的例子,找出了我出错的地方,是因为图片EasyAR.jpg的路径无效,然后我在Asset文件夹下新建了一个专门存放图片的文件夹。

【EasyAR学习】显示模型_第15张图片

10、运行结果如图所示。

【EasyAR学习】显示模型_第16张图片

你可能感兴趣的:(EasyAR)