您的位置:首页 > 移动开发 > Unity3D

噩梦射手(SurvivalShooter)教程(九)

2017-03-16 20:12 218 查看


SurvivalShooter 是Unity的官方教程案例

完善射击效果

新建一个空物体,作为被攻击到的效果点,添加ParticleSystem组件,参数如下:





从Prefabs文件夹中选择一只怪物,拉到场景中,将刚刚做好的空物体拖到怪物身上,调整位置好位置,完成后点击Apply。





其他的怪物做法相同,打开EnemyHealth,代码与之前的PlayerHealth相似





在先前的PlayerShoot中我们改变一句代码



其中SetTrigger类似之前的SetBool,我们在Animator面板中添加变量,因为任何状态都有可能转换到死亡状态,所以我们如下设置



设置好Trigger,以及Death状态的动画,做法和先前的都一样。



给每个怪物的Prefab加上EnemyHealth和刚体+碰撞体



做好之后运行,可以在生成的怪物看,打中怪物会有特效,怪物也可以被正常扣血了。



动画事件

假如你在试验的时候发现报了类似这个错误



这边就要提到“动画事件”这个概念了,选中怪物的fbx,找到这个界面



因为这是Unity的官方教程样本,里面的资源已经制作好,所以有动画事件,选择Death动画,再选下面的event



可以看到这里有StartSinking这个事件,因为我们还没有写任何代码响应这个事件,所以报错。那么我们补全这个方法。

打开EnemyHealth,添加代码。

先添加几个变量



添加方法StartSinking(注意名字不要写错)



这时候点击运行可以看见怪物死亡,并且下沉了。



发现了一个小bug,有的时候怪物死亡还会滑动一段时间,这是在还没有被destroy时候,寻路组件还会起作用,加上一点代码,修补一下这个bug,并且怪物死亡突然消失看起来也很奇怪,加上一个下沉的时间显的自然一些。





Tips:创建边界

有的时候一不小心就跑出了地图,这个明显是不行的,我们加入边界。创建一个cube,并放到地图边界处,去除掉多余的component



四边都用这个方法做好。



运行,可以看到主角不会掉下去啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity