인붕이들 반가워
오늘은 footstep 사운드 집어넣는거 귀찮아서 확장성도 좋고 작업시간 대폭 감소 시켜주는걸 구현했어
원래는
따로 뭐 구현하기가 귀찮아서 이런식으로 AnimNotify 도배했었는데 매번 foley 사운드 타이밍 만들어주는것도 귀찮고 사운드 수정해야 할 때 에셋 다 열어서 수정하는게 너무 귀찮더라고
그래서 오늘 기술부채를 갚았지
일단 지금은 필요없긴 하지만 바닥 재질 감지하도록 구현해놨음. GAS를 사용 중이기 때문에 Notify 이벤트를 전달해야하는데 엔진 내부에는 PhysicalMaterial을 전달할 수 있는 변수가 없어서
이렇게 따로 커스텀 구조체 만들어서 넘겨주고 있음
어빌리티에 발소리 Notify가 콜되면 반응할 수 있게 Trigger 설정해주고 실제 사운드는 GameplayCue에서 재생함
Cue에서 먼저 Foley 재생하고 후에 실제 Footstep을 재생하도록 했는데 여기서 딜레이거니까 Cue가 없어졌을 때 GetWorld()를 참조하다보니 실제로 사운드가 재생이 안되더라고
그래서 World 지역변수를 람다에 캡쳐해서 유지하도록함
원래 Params만 캡쳐해서 깔끔하게 함수 한줄로 끝내려했는데 그게 안돼서 아쉬운부분
Sound는 TMap으로 구분시켜줬음
이러면 추가적인 Notify 클래스 생성할 필요없이 엔진에서 바로 아무 Notify 생성하고
이벤트만 아까 만든 함수에 연결해주면 끝
사운드 설정은 여기서 딸각 한번이면 모든 Notify에 적용되니까 넘 편해짐
사실 별거 아닌데 그냥 생존신고겸 써봄
나도 빨리 데모 만들어야지
모든 인붕이들 화이팅
이게 다 뭐노 존경한다 - dc App