40

인붕이들 반가워




오늘은 footstep 사운드 집어넣는거 귀찮아서 확장성도 좋고 작업시간 대폭 감소 시켜주는걸 구현했어


원래는 



7cf3c028e2f206a26d81f6e74784756d


따로 뭐 구현하기가 귀찮아서 이런식으로 AnimNotify 도배했었는데 매번 foley 사운드 타이밍 만들어주는것도 귀찮고 사운드 수정해야 할 때 에셋 다 열어서 수정하는게 너무 귀찮더라고


그래서 오늘 기술부채를 갚았지


44



0eb2d423da8376b660b8f68b12d21a1d941218472520


일단 지금은 필요없긴 하지만 바닥 재질 감지하도록 구현해놨음. GAS를 사용 중이기 때문에 Notify 이벤트를 전달해야하는데 엔진 내부에는 PhysicalMaterial을 전달할 수 있는 변수가 없어서



0eb2d423da8076b660b8f68b12d21a1d078afc85fd


이렇게 따로 커스텀 구조체 만들어서 넘겨주고 있음




0eb2d423da8176b660b8f68b12d21a1d06c69a31ed79


어빌리티에 발소리 Notify가 콜되면 반응할 수 있게 Trigger 설정해주고 실제 사운드는 GameplayCue에서 재생함





0eb2d423da8676b660b8f68b12d21a1d3b526782b096


0eb2d423da8776b660b8f68b12d21a1dfa355be5a48d


Cue에서 먼저 Foley 재생하고 후에 실제 Footstep을 재생하도록 했는데 여기서 딜레이거니까 Cue가 없어졌을 때 GetWorld()를 참조하다보니 실제로 사운드가 재생이 안되더라고

그래서 World 지역변수를 람다에 캡쳐해서 유지하도록함


원래 Params만 캡쳐해서 깔끔하게 함수 한줄로 끝내려했는데 그게 안돼서 아쉬운부분


Sound는 TMap으로 구분시켜줬음






7ff3c028e2f206a26d81f6e44080776a


이러면 추가적인 Notify 클래스 생성할 필요없이 엔진에서 바로 아무 Notify 생성하고




7ef3c028e2f206a26d81f6e443847764


이벤트만 아까 만든 함수에 연결해주면 끝






79f3c028e2f206a26d81f6e147887069


사운드 설정은 여기서 딸각 한번이면 모든 Notify에 적용되니까 넘 편해짐

70






사실 별거 아닌데 그냥 생존신고겸 써봄


나도 빨리 데모 만들어야지


모든 인붕이들 화이팅

53