【问题标题】:How to stop sound and go back to idle animation on movement in ue4如何在ue4中停止声音并返回到空闲动画
【发布时间】:2019-05-22 11:47:03
【问题描述】:
所以我正在为我的游戏制作表情,我需要它,所以如果玩家移动它会取消动画和声音,有人知道怎么做吗?
这是我在 ThirdPersonCharacter 中用于表情的代码:
我也需要它,所以一旦按下 B 键,你就不能再按下它,直到你移动。如果没有这个,您可能会向密钥发送垃圾邮件,并且声音会变得疯狂。
谢谢大家!
附:表情和声音循环,声音正在播放提示
【问题讨论】:
标签:
animation
game-engine
unreal-engine4
unreal-blueprint
【解决方案1】:
这很容易做到,朋友,您需要将音频组件附加到您的演员,以便您有一个参考来播放它并在您的播放器开始移动或闲置时停止它,我建议将函数绑定到 where您的播放器移动以停止声音。音频组件具有停止功能。您还可以创建一个函数来选择音频组件应该播放哪种声音。
现在至于你的第二个声音发疯的问题,用延迟节点返回完成一次应该可以解决问题,但是还有一个输入延迟节点我忘记了,YAAAAAAY 是时候学习新节点了!
我希望它有所帮助。继续工作:)。
【解决方案2】:
这里的问题是您直接使用资产中的动画,而事实上,这是使用Montage 并将表情融入角色的绝佳机会。
如果您检测到移动输入,则可以取消整个操作。要停止声音,您需要在变量中保存对生成的 SpawnSound2D 的引用。从那里,一个简单的 Stop 节点就可以解决问题。我可能会一直运行蒙太奇,直到它完成以避免不自然的角色动画,但如果您确实也需要停止动画,请使用 Stop Anim Montage 节点
不过要小心,玩家反馈的突然中断会让人感觉很笨拙。