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)--创建模型并互动
第二部分: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上面修改(比如他的字体大小,格式,以及消退速度的格式等)