EasyAR *Unity 新手入门教程(一)

前言:

暑假里刚刚接触EasyAR,配合Unity使用后仿佛打开了新世界的大门,让我对AR这方面的技术有了一定基础的了解,特此回顾一下这个月的心得了解,开个小坑,第一次写文章,望看客海涵。


(一)开发环境

1.Windows 10 操作系统
2.EasyAR SDK 2.2.0 Basic(Unity版)
3.Unity3d 2017.2.0f3

(二)下载Unity3d 并安装

我们找到官网上的下载链接Unity3d,进入后如下图点击下载Unity 2017.2.0f3 ,(据说最新版的Unity有点不兼容EasyAR,部分功能会失效)下载完后自行安装即可。

EasyAR *Unity 新手入门教程(一)_第1张图片
Unity下载

(三)下载EasyAR SDK 2.2.0 Basic

同样 我们来到EasyAR官网中,找到下载位置:EasyAR
进入后,如下图点击下载

EasyAR *Unity 新手入门教程(一)_第2张图片
EasyAR下载

(四)开始创作

(1)新建一个Unity3d 项目

我们打开安装好后的Unity 进入后点击上方的"New" 创建自己的第一个项目,如下图所示。


EasyAR *Unity 新手入门教程(一)_第3张图片
(2)导入EasyAR SDK

我们进入Unity项目中如下图 ,在红色箭头所指处右键处导入EasyAR SDK
EasyAR *Unity 新手入门教程(一)_第4张图片

EasyAR *Unity 新手入门教程(一)_第5张图片

选择之前下载好的EasyAR SDK(自行解压哦),然后点击"打开"等待加载导入
EasyAR *Unity 新手入门教程(一)_第6张图片

加载完后如下图,我们点击"Import“即可
EasyAR *Unity 新手入门教程(一)_第7张图片
(3)开始工作

Import完后,我们会看到Project那边多出来几个文件夹,我们如下图所示找到“EasyAR_Startup

EasyAR *Unity 新手入门教程(一)_第8张图片

将其拖入至上方的Hierarchy视图中
EasyAR *Unity 新手入门教程(一)_第9张图片

同时我们删除场景中的“ Main Camera”(为了不和AR相机起冲突)
EasyAR *Unity 新手入门教程(一)_第10张图片

最后保存场景, Ctrl+S 出现如下图,保存至Scenes文件夹下
EasyAR *Unity 新手入门教程(一)_第11张图片

(4)注册SDK许可证密钥

我们点击到我们的EasyAR_Startup中,发现面板上Key这块是空的,这里我们就需要去官网上申请密钥[图片上传中...(Key.png-7a4f56-1533045780472-0)]

我们进入到官网SDK许可证找到如下界面,点击添加SDK许可证密钥

EasyAR *Unity 新手入门教程(一)_第12张图片

然后就是一些名称填写,本文章以Android为例,PackageName (Android)格式最好就是 com.xxxx.xxx,记住这边设置的名字,我们之后会用到
EasyAR *Unity 新手入门教程(一)_第13张图片

我们设置好后 点进入刚刚创建好的应用名中,将 SDK License Key中的一大串字母全选复制到我们最初场景 EasyAR_Startup中的 Key里面
EasyAR *Unity 新手入门教程(一)_第14张图片

EasyAR *Unity 新手入门教程(一)_第15张图片

(5)关键步骤

此时我们初步的步骤已经全部完成,接下来则是主要部分,我们要实现AR功能,首先得要有个所要识别的对象,这样才能在这个对象基础之上再添加我们想要的各种功能,我们这次主要以最简单例子示例(通过扫描身份证背面来出现一个白色球体)


首先 我们添加ImageTarget来作为我们要识别的对象
如下图所示,我们找到将ImageTarget拖至场景中

EasyAR *Unity 新手入门教程(一)_第16张图片

然后点击场景中的 ImageTarget,将其身上的脚本文件移除,如下图
EasyAR *Unity 新手入门教程(一)_第17张图片

我们新建一个脚本,点击 Add Component,添加一个C#脚本文件
EasyAR *Unity 新手入门教程(一)_第18张图片

然后对其进行编辑
EasyAR *Unity 新手入门教程(一)_第19张图片

将脚本里面所有内容换为如下代码:



using UnityEngine;
using EasyAR;

namespace Sample
{
    public class SampleTargetBehaviour : 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);
        }
    }
}


返回到Project中,创建一个文件夹名为StreamingAssets( 就这个名字!别改!),并将身份证背面的图片导入进去(把图片拖进去即可)


(没有身份证照片的自己右键另存为一下,后缀名注意哦~)
EasyAR *Unity 新手入门教程(一)_第20张图片

我们继续回到 ImageTarget中,将脚本文件中的信息补充完全(如下图设置即可)
EasyAR *Unity 新手入门教程(一)_第21张图片

最后我们再创建一个球体来作为识别后所要呈现的物体

EasyAR *Unity 新手入门教程(一)_第22张图片

修改一下球体的大小 Scale
EasyAR *Unity 新手入门教程(一)_第23张图片

再将球体位置移到 ImageTarget的上方
EasyAR *Unity 新手入门教程(一)_第24张图片

最后将 Sphere球体拖至 ImageTarget下面,作为其子物体
EasyAR *Unity 新手入门教程(一)_第25张图片

(五)运行结果

我们运行一下看看效果如何~


EasyAR *Unity 新手入门教程(一)_第26张图片

这个最简单的小例子我们就大功告成了,当然实际开发的时候直接利用官网上的样包会更加方便 官网例子
有时间的话会对官网例子进行讲解的

EasyAR *Unity 新手入门教程(一)_第27张图片




这一期讲的比较详细,可能看的有点累哈~ 下一期我会对安装到安卓手机上的细节加以分析,有什么问题的话 可以互相交流学习 !!!今天就先到这了

你可能感兴趣的:(EasyAR *Unity 新手入门教程(一))