AR 乐园实例教程项目 2---AR 动物园 (下) 的实现

阅读 395
收藏 11
2016-12-20
原文链接:www.jianshu.com

在上章节中,我们实现了AR动物园的基本功能,今天这一部分我们重点教大家AR的交互。主要内容分为: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开发群:427199775

评论