黑魂复刻游戏的玩家控制器(连续攻击及优化)——Unity随手记(2021.4.30)

本文介绍了在Unity中制作黑魂风格游戏时,如何新增攻击状态B和C,并进行连击优化。在攻击状态B的实现中,调整了动画参数并设置了攻击转换条件。攻击状态C的配置类似。为了增加连击难度,通过动画事件在挥砍动作结束后重置Attack信号。在修复BUG方面,提到攻击层权重调整可能导致动画过渡生硬,建议使用插值平滑过渡。此外,提醒开发者注意动画片段改名的位置。
摘要由CSDN通过智能技术生成

今天实现的内容:

新增攻击状态B

配置好我们的新动画,将其加入动画机。首先我们要将Rig中的如图所示的参数调整好了。
在这里插入图片描述
接下来,设置Animation页下的烘培,烘培旋转和Y轴,旋转根据Original,Y轴根据Feet。
在这里插入图片描述
要实现连续攻击,攻击B要连接到攻击A之后,在做攻击A动画时如果再次按下攻击键,就会从攻击A转换到攻击B,我们的转换条件是attack。
在这里插入图片描述
攻击A转换到攻击B要设置为优先转换。
在这里插入图片描述
最后,修改这个玩意(这叫什么来着?),我们不需要攻击A后面的收刀动作和攻击B前面的起刀动作,这样做就能“剪”掉这些不需要的动画了,也就是灰色部分。你也可以直接调整攻击B动画的起始位置。
在这里插入图片描述

新增攻击状态C

和攻击B一样,配置好动画,放到动画机中就行,转换条件和之前的也是一样的。
在这里插入图片描述

连击的优化

在我们之前的设计中,你可以通过快速连按来实现连击,我们希望玩家打出连击要更难一点,玩家只能在攻击快要结束的那一段时间内再按出攻击键才能连击,而不是随随便便就能打出连击。在接下来我们要实现通过代码来重设Attack信号。确切来说,我们将通过代码,在动画播放完挥砍动作时,将之前输入的attack信号给Reset掉,我们将要通过动画事件(Animation Events)来实现以上功能。
动画事件可以在动画资源下添加,如图所示。我们给需要做上述操作的动画资源都添加了这个叫ResetTrigger的事件,我们并没有在事件名称中具体指明reset哪个trigger,原因是我们想要复用这个事件,我们可以在String参数中指明我们要reset的trigger的名字。
在这里插入图片描述
要让动画事件得以接收,我们需要在Animator组件的同一个游戏物体上挂载一个脚本来实现具体代码。<

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值