EasyAR 一课一练 | AR 游戏伤害数值效果

395

EasyAR 开发者交流群:605785368

AR开发者社区:




上一次的EasyAR+第三方插件系列教程我们实现了类似王者荣耀中的圆盘来控制AR模型,今天了,我们给大家介绍另一款主流的插件HUDText,它是用来实现游戏人物受到伤害时数字减少特效,在unity原生游戏开发时,常常会用到。



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

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

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

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


第一部分:开发环境搭建

我们在EasyAR 的HelloAR 的基础上进行开发,到官网下载EasyAR SDK v1.3.1 Unity Samples,并注册好key后,在unity中打开HelloAR 这个项目。





然后,导入HUDText插件资源。接着我们打开HelloAR自带的那个scene,删掉多余的Imagetarget,留下一个,我们在此基础上进行开发。





关于EasyAR 开发的基础知识可以看看以下教程:

EasyAR从入门到精通开发系列教程(1)---搭建开发环境

EasyAR从入门到精通开发系列教程(2)--创建模型并互动

AR从入门到精通开发系列教程(3)--移动端手指缩放



第二部分:HUD Text开发

建立NGUI 的UIRoot



把HUDText 这个预制体拖入UIRoot 下



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



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



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

usingUnityEngine;

usingSystem.Collections;

publicclassHUDChange:MonoBehaviour{

privateHUDTexttext;

//publicUI2DSpritesprite;

//Usethisforinitialization

voidStart(){

text=this.GetComponent();

}

//Updateiscalledonceperframe

voidUpdate(){

//伤害值范围

intrandom=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上面修改(比如他的字体大小,格式,以及消退速度的格式等)