음향/Wwise

101-03-2. Game Sync 이해하기 (GameParameter사용하기)

펭더 2022. 4. 5. 20:24

이 글은 AudiKineic의 교육자료를 참고해서 작성했다.


03. Game Sync 이해하기 - Game Parameter 사용하기.

Game Sync의 또 다른 유형중 하나는 바로 Game Parameter이다. 이는 RTPC(Real Time Parameter Control, 실시간 매개 변수 제어)라고도 알려져 있다.

Game Parameter는 자동차의 RPM/미션완료 백분율/하루 중 시간을 표현할 수 있다.

예제로 사용하는 Cube에서 중요한 변수는 플레이어의 생명력이다.

이경우 플레이어의 생명력에 따라 반응하는 청각적 피드백이 게임의 몰입에 도움을 줄수있다.


Game Parameter 만들기.

Switch Container 오브젝트와 같이 Game Parameter는 특수화된 Game Call을 수신하도록 배치된 단순한 오브젝트이다. 

Project Explorer - Game Syncs 탭 - Game Parameters 폴더 - Work unit 선택 - 새로운 Game Parameter 생성 - Game Parameter의 이름 지정

위 과정을 거쳐 새로운 Game parameter를 생성할 수 있다. 

Game Parameter는 단순히 정의된 범위의 수치를 전달하는 역할을 한다. 이 수치 범위는 상관이 없다. 

기본값을 반드시 정의해놓아야 한다.

Game Parameter 선택 - Property Editor - Range그룹

위 경로에서 범위와 기본값을 설정할 수 있다. 


Game Parameter를 통해 오브젝트의 속성 변경하기.

Game Parameter 오브젝트를 생성하였으므로 오디오 파일을 가져와야 한다. 

필요한 오디오 파일을 임포트 하여 Sound SFX 오브젝트를 생성. 

예시에서 사용하는 목적은 플레이어의 생명력이 일정 수준 이하가 되면 심장 박동 소리가 들리도록 하는 것이다. 

Cube는 새로운 레벨이 시작될 때 하나의 Game Call을 전송할 것이고, 이는 심장박동 소리를 재생시키게 된다. 

심장박동 소리를 계속해서 유지시키기 위해 Loop 시켜주어야 한다. 

Sound SFX 오브젝트 선택 - Property Editor - Loop그룹 - Loop 체크 상자 체크 활성화

위 과정을 통해 해당 SFX를 계속해서 반복 재생할 수 있다. 

하지만 우리의 목적은 계속해서 심장박동 소리가 재생되는 것이 아니라

플레이어의 생명력이 낮아 위험한 상태라는 것을 알려주기 위해 심장박동 소리를 재생하는 것이다. 

즉, 플레이어의 생명력이 일정 수준 이하로 떨어진 경우에만 심장박동 소리가 들려야 한다는 것이다. 

이를 위해 PlayerHealth Game parameter의 값이 Heartbeat Sound SFX오브젝트의 볼륨을 조절하도록 해야 한다. 

이러한 작업은 Sound Property Editor의 RTPC 탭에서 정의할 수 있다. 

Property Editor - RTPC 탭 - [>>] 선택 버튼을 클릭하여 필요한 옵션을 선택 - X Axis열에 있는 [>>]선택 버튼 클릭 - 연결할 Game Parameters 선택

위 과정을 거쳐 Game Parameter에 따라 SFX를 변경할 수 있다. 

위 과정을 거치고 나면 그래프가 하나 생긴다. 

X축에는 GameParameter가, Y축에는 선택한 옵션이 표시된다. 

(하나의 GameParameter만 추가했을 경우) 빨간색 대각선은 RTPC 곡선이라 부른다. 


Graph 뷰에서 Game Parameter 변경하기.

원하는 데로 RTPC곡선을 수정하면 된다. 
RTPC곡선을 더블클릭하면 새로운 기준점이 생긴다. 
기준점은 정확한 좌표를 입력할 수도 있고 마우스로 옮길 수도 있다. 
RTPC곡선을 우클릭하여 곡선의 곡률을 정할 수 있다. 
단축키
Z+드래그 : 그래프의 확대/축소
Cntl + 휠 : 세로 방향 확대/축소
Cntl + Shift + 휠 : 가로방향 확대/축소 

또한 하나의 GameParameter에 여러 개의 RTPC곡선을 추가할 수 있다. 

플레이어의 생명력에 따라 심장박동의 볼륨, 심장박동의 로우 패스 필터 등을 설정할 수 있는 것이다. 


Transport Control에서 RTPC값 조정하기

Switch Group 설정을 조정한 것처럼 Game Parameter도 Transport Control뷰에서 변경해볼 수 있다.