Как остановить звук и вернуться в режим ожидания анимации при движении в ue4
Поэтому я делаю эмоции для своей игры, и мне это нужно, чтобы, если игрок вообще двигался, он отменял анимацию и звук, кто-нибудь знает, как это сделать?
Вот мой код в ThirdPersonCharacter для эмоции:
Мне также это нужно, чтобы после нажатия клавиши B вы не могли нажать ее снова, пока не начнете двигаться. Без этого вы можете спамить ключ, и звук сходит с ума.
Спасибо всем!
PS Эмоции и звуковые петли, звук играет в кий
2 ответа
Проблема здесь в том, что вы используете анимацию непосредственно из ресурса, когда, на самом деле, это прекрасная возможность использовать Montage и смешать эмоции с персонажем.
Если вы обнаружите движение ввода, вы можете отменить все это. Чтобы остановить звук, вам нужно сохранить ссылку на порожденный SpawnSound2D в переменной. Оттуда простой узел Stop сделает свое дело. Вероятно, я бы оставил Montage запущенным до его завершения, чтобы избежать неестественной анимации персонажей, но если вам действительно нужно остановить анимацию, используйте узел Stop Anim Montage
Будьте осторожны, однако, внезапное нарушение обратной связи с игроком может показаться неуклюжим.
Это может быть легко сделано, друг, вам нужно прикрепить аудиокомпонент к вашему актеру, чтобы у вас была ссылка для его воспроизведения и остановки, когда ваш игрок начинает двигаться или бездействует, я рекомендую привязать функцию к тому, куда движется ваш игрок чтобы остановить звук. Аудиокомпонент имеет функцию остановки. Вы также можете создать функцию, чтобы выбрать, какой звук должен воспроизводить аудио компонент.
Теперь, что касается вашей второй проблемы с сумасшествием звука, сделайте один раз с завершением работы узла задержки, но все же есть еще и узел задержки ввода, который я забыл, YAAAAAAY время для изучения новых узлов!
Я надеюсь, что это помогает. Продолжайте работать:).