EasyAR + 第三方插件开发系列(2)--伤害效果

来源:互联网 发布:淘宝阿浩培训 编辑:程序博客网 时间:2024/05/21 00:11
 
上一次(EasyAR + 第三方插件开发系列(1)--模型控制)的EasyAR+第三方插件系列教程我们实现了类似王者荣耀中的圆盘来控制AR模型,今天了,我们给大家介绍另一款主流的插件HUDText,它是用来实现游戏人物受到伤害时数字减少特效,在unity原生游戏开发时,常常会用到。


那么它在AR开发的方面有什么用途了?这类插件常常在开发AR 战争类的游戏中会用到,比如在AR场景下,击杀僵尸或者两张识别图片识别的AR模型进行Battle等都会有很大的应用场景。

今天了,我们主要实现EasyAR SDK+HUD Text 的一些核心功能,大家可以方便的应用在项目中。

实现功能:

点击识别出来的AR模型,出现血量减少的特效,当血量为0时,销毁模型。

开发资源:

NGUI插件:链接: https://pan.baidu.com/s/1o7CT0fC 密码: graj

HUD Text插件:链接: https://pan.baidu.com/s/1kUFAcAF 密码: e2hp



Step 1:开发准备

在 HelloAR 这个项目的基础上进行开发,我们在官网上下载unity的HelloAR案例导入unity中。



打开HelloAR Scene,删除多余的ImageTarget,保留一个(我们以身份证作为识别图,方便测试)



Step 2:HUD Text开发

建立NGUI 的UIRoot


把HUDText 这个预制体拖入UIRoot 下


接着我们在HUDText 下面挂一个 UIFollowTarget  脚本:


三个参数分别是:绑定的target(也就是我们的AR模型Cube),主相机(也就是EasyAR 的摄像机),UIRoot的 camera


在HUD Text下面建一个脚本,实现点击cube之后出现伤害特效:

usingUnityEngine;

using System.Collections;

public class HUDChange : MonoBehaviour{

private HUDText text;

//publicUI2DSpritesprite;

//Usethisforinitialization

void Start(){

text=this.GetComponent();

}

//Updateiscalledonceperframe

void Update(){

//伤害值范围

int random=Random.Range(15,20);

if(Input.GetMouseButtonDown(0)){

text.Add(-random,Color.red,1f);

}

if(Input.GetMouseButtonDown(1)){

text.Add(random,Color.green,1f);

}

}

}

关于Add这个方法,有三个参数,分别是:伤害的数值,字体颜色,特效停留时间

关于更多的字体特效设置,我们可以在HUDText上面修改(比如他的字体大小,格式,以及消退速度的格式等)

到这里,我们就可以实现最基本的:在AR 游戏中敌人的伤害效果。在以后的实例教程中我们会运用到这一技术实现一个AR 战争类的游戏。