就是运行的时候不按加速跑前功能都能正常实现,加速跑之后就剩下基本的行走功能了。
如果重新运行,再按一下加速功能也都能实现,就是有时候能用有时候不能用😣
该回答引用ChatGPT4与博主@晓码自在合作编写:
这个问题很可能是由于UE4的角色状态机设计导致的。
在UE4中,角色的移动与动作是通过状态机来控制的。当角色在不同的状态(如walking, running, rolling等)之间切换时,当前状态的动作与输入会被中断。
所以,在你的案例中,很可能是:
- 角色初始在walking或其他状态,此时攻击/防御动作可以正常响应输入与执行。
- 当你触发running(加速跑)状态后,角色的状态从walking切换到running。此时walking状态的动作输入与响应会被中断。
- running状态的蓝图或动画资源中,并没有对攻击/防御动作的输入与响应进行设置。所以此时按下攻击/防御按键,没有相应。
- 当running状态结束,角色状态再次切换,攻击/防御动作的输入与响应才得以恢复。
要修复这个问题,有几个方法:
- 在running状态的蓝图中,也设置攻击/防御动作的输入事件与相应逻辑。使其在running时也可以正常响应。
- 不从walking状态直接切换到running状态,添加一个中间状态,在中间状态中设置攻击/防御动作的输入与响应。这样可以在状态切换时不中断动作的连贯性。
- 在状态机的切换逻辑中,将上一个状态的动作输入与响应状态“记住”,在切换回该状态时继续执行,而不是完全中断。
- 避免过度依赖UE4的内置状态机,自己在蓝图中实现状态与动作的管理逻辑,可以更灵活地控制状态切换与动作的连贯性。