버전
Wwise Unreal Integration Documentation
|
이전 섹션에서는 게임을 시작할 때와 애니메이션의 특정 시기에서 사운드를 재생하는 방법을 알아보았습니다. 하지만 일부 오디오 통합은 물리를 더 이해해야 할 수 있습니다. 다음 예시에서는 인스턴스화된 오브젝트가 다른 것과 충돌할 때마다 사운드를 재생하도록 해봅시다.
시작하기 위해서 먼저 캐릭터 앞에 오브젝트를 인스턴스화하는 간단한 시스템을 만들어봅시다.
이 시스템은 Character Blueprint에 추가할 수 있습니다. 이 'Wwise Object' Class를 만들기 위해서 새로운 Blueprint Actor를 만들고 1M_Cube Mesh가 있는 Static Mesh 컴포넌트를 추가하고 Simulate Physics를 활성화하세요.
이렇게 하면 F 키를 누를 때 캐릭터 앞에 오브젝트가 인스턴스화됩니다. 인스턴스화된 오브젝트가 다른 오브젝트와 충돌할 때 사운드가 재생되도록 해야 합니다. 그렇게 하기 위해서 Unreal의 OnComponentHit Event를 사용해봅시다. 이 이벤트는 인스턴스화된 오브젝트에서 활성화되어야 합니다.
'Wwise Object' Blueprint Actor를 열고 Static Mesh를 선택한 후 Collision > Simulation Generates Hit Events를 활성화하세요.
이 옵션을 활성화하면 OnComponentHit Unreal Event를 생성할 수 있습니다.
Static Mesh를 우클릭하고 Add Event > Add OnComponentHit를 선택하세요.
이제 이 이벤트를 Post Event 함수에 연결하고 자신을 참조하도록 할 수 있습니다.
하지만 지금 재생을 누르면 Unreal이 아주 작은 충돌까지 호출하게 되어 충돌할 때마다 사운드가 너무 많이 들릴 가능성이 높습니다. 그렇기 때문에 중요하지 않은 충돌을 모두 필터링해내서 꽤나 강한 충돌이 감지될 경우에만 사운드를 게시하도록 해야 합니다. 이 감지는 PostEvent가 호출되기 전에 실행되어야 합니다. 충돌의 강도를 측정하기 위해서는 물리가 활성화된 오브젝트를 참조하고, 충돌의 방향에 상관 없이 충돌 규모를 가져온 다음, 설정된 한계점보다 더 클 경우 호출을 전달하도록 할 수 있습니다.
Hit Component로부터 컴포넌트의 속도의 길이를 가져오세요. 이 값이 40보다 높을 경우 호출이 통과되도록 해봅시다.
이제 오브젝트가 다른 오브젝트와 충돌할 때 조금 더 그럴듯한 좋은 소리가 들릴 것입니다. 하지만 오브젝트가 아주 강하게 부딪히거나 한계점을 약간만 넘는 것에 상관 없이 사운드 자체는 하나도 변화되지 않습니다. 강도에 따라 사운드가 변화되도록 하기 위해 오브젝트의 속도를 RTPC로서 Wwise에 전달해봅시다. 이렇게 하면 간단한 볼륨 변화나 Effect를 사용하여 사운드를 변경할 수 있습니다. 다음은 저희가 권장하는 Wwise에서의 구성입니다:
RTPC를 설정하기 위해서 동일한 Vector Length를 사용해봅시다. 하지만 명심하세요, Wwise Event가 게시되었던 동일한 Actor에서 RTPC를 설정해야 합니다.
Branch에서 SetRTPCValue 함수를 만들고 Velocity의 VectorLength로 연결하세요.
속도에 따라 한계점으로 사운드 재생하기에 대한 설명은 이 동영상을 참고해주세요.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요