二,升级玩家的技能

  1. 添加控制

1.1单击虚幻编辑器菜单的编辑——》项目设置(project settings)——》引擎分类——》输入(input)——》绑定(binding)——》action mappings(监听按键和鼠标单击事件触发玩家动作)axis mappings(针对的玩家移动和事件都有个范围)(Action Mapping:动作映射,是一个一次性的输入。包括两个状态,一个是按下按键的状态,一个是释放按键的状态。Axis Mapping:轴映射,是每帧都持续性的输入。向前是正值向后是负值,向右是正值向左是负值。一直按着键盘w前进)——》点击两次操作映射边上加号,将第一个重命名为sprint(冲刺)第二个改为zoom(快速移动),下拉菜单选择左shift键与sprint事件绑定,zoom与鼠标右键绑定

1.2添加冲刺功能

在事件图表空白处单击鼠标右键,搜索sprint,选择输入》动作事件》sprint(input action sprint)

在组件面板拖出character movement(继承),从character movement节点的输出引脚拖出到空白,勾选情境关联,搜索walk speed,找到Max walk speed将,输入动作sprint节点的pressed输出执行引脚与设置Max walk speed节点的输入执行引脚连接,使得按下左shift键时能够修改最大移动速度,将最大行走速度由默认数值0.0改为2200,为了确保松开左shift键时能减速,再从角色移动(charactor movement)拖出移动拖出引线搜索并添加另一个Max walk speed节点,连接输出动作sprint节点的released输出执行引脚,然后将Max walk speed的默认值0.0改为600,添加注释sprint(冲刺)编译保存

  1. 制作瞄准镜效果

2.1减小视野

在时间图标空白区域单击鼠标右键搜索zoom(input action zoom)触发器节点并添加,在组件面板找到first person camera拖出引线搜set field of view(变量)节点,并连接set field of view内的目标(希望改动first person camera组件中的FOV值),默认视野是90,改为45(放大后观看其他物品会产生形变)

2.2使用时间轴使视野平滑转换

断开2.1中的输入操作zoom节点的pressed输出执行引脚的连接,从输入操作zoom节点的pressed拖出引线搜索添加时间轴(Add time line)(时间轴允许在指定的时间内改变一个值比如摄像机的视野)

双击时间轴节点,打开时间编辑器(左上角四个按钮都能添加一个不同类型的并且在时间轴过程中改变的值)(f+是浮点型轨迹(Add float track))

按住shfit在(0,0)点附近单击(或者在(0,0)点附近单击鼠标右键》添加关键帧),图表左上角可以看到时间和数值区域,改为(0.0,90)(时间,值),长度改为0.3(将动画限制在0.3秒内完成),再用shift单击白色区域末端,改为(0.3,45)(代表着此动画被调用时视野会平滑的放大,从90到45)

从时间轴_0节点的field of view输出引脚拖出引线至设置(set),连接时间轴_0的update输出执行和设置的输入执行(将FOV通过新的值给执行函数来随时更新)

从输入动作zoom节点的released引脚引出引线连接至时间轴节点的reverse引脚(松开右键时原来拉近视野的动画倒着播放,起到取消放大视野的效果)

编译,保存

3,加快子弹速度

打开子弹蓝图,组件面板选择projectile,在细节面板更改属性,找到initial speed(初速度)和Max speed(最大速度)都更改为6000

在projectile bounces找到should bounce取消勾选(移除了反弹属性)

编译,保存

4,添加音效和粒子效果

打开cylinder target蓝图,找到事件hit节点组,创建分支(branch)节点,创建一个primed布尔变量(勾选可编辑)拖出选获取,并连接分支的condition,断开类型转换first person projectile节点和set material节点的连接,类型转换first person projectile节点的输出执行引脚和分支的输入执行引脚相连

分支节点以及激活,所以给目标圆柱体一些指令来响应每个状态(默认(default),击中一次(primed),销毁(destroyed)),由于销毁一个actor不能执行任何行为,所以在目标销毁后就不能有任何行为发生,因此只需关注默认、击中一次这两种状态

先完成默认状态(监听当圆柱体每一次被击中后圆柱体上发生的事件),现在被第一次击中,我们要将primed布尔变量设为真(true),当目标再次被击中,分支节点把行为传给其他执行队列,勾选set的primed(保证被二次击中时,分支判定结果为真),节点假的执行队列如下

从分支true拖出引脚搜play sound at location节点(承载一个声音文件和一个位置输入,并在该位置播放声音)(此项目中有几个默认声音文件资源),单击sound输入引脚旁的选择资源,找到并选择Explosion01作为爆炸音效。

本身需要定义在哪里播放这个声音,本身需要将位置向量与声音节点之间连起来,世界Hit

触发器将事情简化了,事件Hit节点的输出引脚之一为Hit location(包含了被事件Hit节点检测到的游戏世界中的两个对象发生碰撞的位置信息),这个位置很好,从事件Hit节点的Hit location引脚拖出引线与play sound at location节点的location引脚相连接。

编译,保存

  1. 触发爆炸、销毁

从play sound at location节点的执行引脚拖出引线搜索并添加spawn emitter at location节点

spawn emitter at location节点和play sound at location节点类似,多了旋转输入引脚和auto destroy开关,在emitter template选择P_Explosion(将在发射器被添加的地方产生一个爆炸效果)

希望爆炸效果和爆炸音效在同一个位置生成,从事件Hit节点的Hit Location引脚拖出引线与spawn emitter at location节点的location引脚相连接,auto destroy开关(决定粒子发生器是否能被多次触发,一旦这个粒子效果被创建,我们就将包含这个粒子发射器的actor销毁,所以勾选auto destroy)从spawn emitter at location节点的输出执行引脚拖出引线,搜索destroy actor节点(可以暂时将情境关联取消)并添加

编译,保存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值