Как остановить звук и вернуться в режим ожидания анимации при движении в ue4

Поэтому я делаю эмоции для своей игры, и мне это нужно, чтобы, если игрок вообще двигался, он отменял анимацию и звук, кто-нибудь знает, как это сделать?

Вот мой код в ThirdPersonCharacter для эмоции: ThirdPersonCharacter

Мне также это нужно, чтобы после нажатия клавиши B вы не могли нажать ее снова, пока не начнете двигаться. Без этого вы можете спамить ключ, и звук сходит с ума.

Спасибо всем!

PS Эмоции и звуковые петли, звук играет в кий

2 ответа

Проблема здесь в том, что вы используете анимацию непосредственно из ресурса, когда, на самом деле, это прекрасная возможность использовать Montage и смешать эмоции с персонажем.

Если вы обнаружите движение ввода, вы можете отменить все это. Чтобы остановить звук, вам нужно сохранить ссылку на порожденный SpawnSound2D в переменной. Оттуда простой узел Stop сделает свое дело. Вероятно, я бы оставил Montage запущенным до его завершения, чтобы избежать неестественной анимации персонажей, но если вам действительно нужно остановить анимацию, используйте узел Stop Anim Montage

Будьте осторожны, однако, внезапное нарушение обратной связи с игроком может показаться неуклюжим.

Это может быть легко сделано, друг, вам нужно прикрепить аудиокомпонент к вашему актеру, чтобы у вас была ссылка для его воспроизведения и остановки, когда ваш игрок начинает двигаться или бездействует, я рекомендую привязать функцию к тому, куда движется ваш игрок чтобы остановить звук. Аудиокомпонент имеет функцию остановки. Вы также можете создать функцию, чтобы выбрать, какой звук должен воспроизводить аудио компонент.

Теперь, что касается вашей второй проблемы с сумасшествием звука, сделайте один раз с завершением работы узла задержки, но все же есть еще и узел задержки ввода, который я забыл, YAAAAAAY время для изучения новых узлов!

Я надеюсь, что это помогает. Продолжайте работать:).

Другие вопросы по тегам