UE - 사운드 큐와 노티파이
BP-Animation
UE - 사운드 큐와 노티파이
사운드 큐와 노티파이를 이용한 발소리 구현
사운드 큐(Sound Cue)
사운드 큐는 여러 사운드 파일과 이펙트를 조합해 복잡한 오디오를 생성하고 제어하는 오디오 시스템이다.
복수의 사운드 노드를 랜덤 재생, 루프, 페이드 인/아웃, 피치 조정 등 다양한 오디오 연출이 가능해진다.
주요 노드
Sound Nodd Wave Player
- 기본 사운드 파일 재생 노드
- .wav 형식의 사운드 파일을 재생
Random
- 여러 입력 중 하나를 무작위로 선택해 재생
Looping
- 사운드를 반복 재생
Mixer
- 여러 입력 사운드를 혼합
Attenuation
- 거리 감쇠 효과를 적용해 거리와 환경에 따라 변화
Modulator
- 피치와 볼륨을 임의로 변동시켜 변화감 조성성
Delay
- 사운드 재생에 지연을 추가
사운드 큐 생성
이 두 가지 소리를 랜덤하게 발생하게 만들 것이다.
콘텐츠 드로어 -> 추가 -> 오디오 -> 사운드 큐 생성
여기에 임포트한 파일을 추가하겠다.
좌측 하단의 콘텐츠 드로어를 클릭하고, 임포트한 사운드 파일들을 드래그해 온다.
이 두 파일을 랜덤하게 재생할 것이므로, 랜덤 노드를 추가하고 연결한다.
Random 결과
모듈레이터를 추가해 피치와 볼륨을 랜덤하게 수정해봤다.
최종 사운드 큐
이제 애니메이션에 이 사운드를 추가할 것이다. 애니메이션의 프레임에 노티파이를 추가하여 해당 프레임에서 노티파이가 작동하도록 만들 수 있다.
애니메이션에서 노티파이를 만들 수 있지만, 다른 곳에서 이 노티파이를 호출하려면, 이 애니메이션에 먼저 접근해야 한다. 따라서 스켈레톤에서 노티파이를 생성했다.
애니메이션에서 원하는 프레임에 노티파이를 추가한다.
빨간색으로 표시한 라인에서 오른쪽 클릭 -> 노티파이 추가를 누르면 내가 만든 노티파이를 확인할 수 있다.
이제 노티파이 기능을 구현해보자.
노티파이 구현
- 애니메이션 블루프린트의 이벤트 그래프로 이동
- AnimNotify_노티파이이름 노드를 생성
- Play Sound 노드 생성
- 여기서 2D나 at Location이 있는데, 나는 2D를 선택했다.
- 노드의 사운드를 방금 만든 사운드 큐로 선택
컴파일 후 실행
최종결과
최종결과
This post is licensed under CC BY 4.0 by the author.