EasyAR一课一练 | AR动物园

AR酱2018-04-15 12:38:06

↑  ↑  ↑      关注AR酱,

和我们一起发现闪闪发光的AR从业者


公告

微信后台的超过24小时就无法回复

限制实在是好麻烦

导致我们常常看到留言却已经无法回复

不过没有什么是我酱搞不定的

现在只要在后台 @管理员

我们的机器人就会给我们传话哦。

再也不怕24小时了

 

Albert  酱

联想phab2好抢手,好多人来问我要,所以我又向联想要了10台


最近


好开心,刚拿到PS4又拿下了联想Phab2。然而光顾着开心,却还没时间去玩。在国内连一次 playstation network的等待,像是过了一个世纪。于是无可事事的我只好继续投身工作。工作使我快乐,工作使我戒除网瘾。


 

开启教程分割线

QQ群:158841761


资源链接:https://pan.baidu.com/s/1jIv373w 密码: qpvn


NGUI 资源链接: https://pan.baidu.com/s/1miTpz7a 

密码: tz7b

好了,我们正式开始AR 动物园这一功能的开发。原谅没找个好UI。

动物乐园场景基本框架如下图:


第一部分:开发前的准备

1.导入狮子,老虎,鳄鱼等动物模型后,

2.下载最新版NGUI插件(加群获取免费插件)

3.到http://jaqen.me/mdpub/ 网站(material design 风格)来制作button 的贴图(十分方便),当然你也可以到网上来找取图片,只要你自己满意就行,这里不做强求。

4.找你需要识别的图片(百度搜索都可以)



第二部分:EasyAR 基本AR功能实现

最基本的,获取key,把Imagetarget 拖入面板中,并挂上 EasyImageTargetBehaviour 脚本,填写基本信息,从预制体拖入一个狮子或其他模型充当Imagetargt 的子物体。



第三部分:AR动物园搭建

先复制多个 EasyImageTargetBehaviour.cs 脚本文件,并修改其名字,比如Lion,Triger与你所识别的 动物相对应。以你刚搭建的Imagetarget 复制多个,并修改其名字,所挂的脚本文件,以及动物模型。


第四部分:NGUI 的创建

不懂NGUI 的同学可以看SIKI 老师的教学(泰课在线)。

这是最基本的,把你刚准备好的Button 贴图导入unity中,并修改他们的信息。

图片类型为Texture,Format 为不压缩,并应用。


将这些图片打包成图集,接下来来建立button,通过NGUI 创建Sprite,并给这些图片Attach Collider和Button Script。建立好后如下图:

第五部分:给动物添加动画效果


为每个动物添加四个动画模型(并将其名字修改为完全一样,后面会用到)。先给动物添加Animation 组件,然后一次拖入四个动画。


第四步:进行手势识别与AR 技术的融合


准备动画的这个任务繁重有枯燥,在我给大家准备的动物模型中,有十几种动画,你只需挑选你最喜欢的就可以,记住一定要把动画名字修改的完全一样,这里就由大家自己来搞定。


第二部分: 交互


上一部分中最重要的是修改各动物模型的四种动画名称一样,这样方便于我们用脚本控制。


第一部分:动物触摸的交互

实现目标:在手机上点击识别后的动物后,动物会发出叫声。

所需资源:各动物的叫声(大家自行到网上下载)

在每个动物模型上挂AudioSource.

在unity 中建立脚本,命名为ClickAnimal.cs,在此之前,为每个动物模型挂上Box Collider,并把isTrigger 钩上。

并为每个动物模型修改Tag。

尽量修改为各动物的英文名。

接下来写脚本。这里用射线检测来实现(这是移动端最万能的方式)。主要代码如下:

if(Input.GetMouseButtonDown(0)){

Rayray=Camera.main.ScreenPointToRay(Input.mousePosition);

RaycastHithit;

if(Physics.Raycast(ray,outhit,1000))

{

}

}

接下来就可以在里面写判断,这里给大家写一个吧,剩下自己实现(unity 初学者都应该会)。

if(hit.collider.tag=="Loin"){

sound.Play();

}

上面的那段判断触摸点击交互的代码十分高效,建议大家自己收藏下,万能模版。

第二部分:按钮交互

四个按钮分别实现四个动画。

先建立一个脚本,名字自己命名,我在这里名为Player。编写其内容。

这段脚本相当简单,编写完后,为每个模型挂上,并填写内容。

接下来见一个空物体。并挂上一个新脚本,命名为AnimPlay,

这里使用了单例模式来获取Player里的播放动画的方法,以方便按钮的调用。

好了接下来为每个按钮挂上这个新建的物体,并相应调用方法,到这里,AR动物园的大概功能就实现了。当然你也可以脑洞大开,添加个粒子效果等等。


不懂得的同学来群里一起讨论哦

 

AR酱原创

转自微信号AR酱(ARchan_TT)

并附上原文链接


阅读推荐

酱发现 | BEMR Lab 美国海军的增强现实黑科技实验室

酱专访 | 不灭科技:建筑行业将跨入AR纪元

酱来稿 | Digilens 要做超过100°光波导


“呐,做 AR VR,最重要的就是开心啦”

梦想重要,开心也重要

当你有有趣的想法时,也要来AR酱上

和我们一起分享啊


关注一下好不好



    点击下方“阅读原文”留下联系信息