6강에서 연결하지 않았던 Explore 음악을 Combat과 전환하는 법, Story 음악을 연결하는 법을 배울 예정

 

현재 Music_State 그룹에서 Gameplay State일 때는 Combat 음악에 연결되어 있다. 이것을 Combat - Explore 음악 중에 선택되어 재생하는 것으로 바꿔보자. 기준은 적의 플레이어 인식 여부 Monsters_Aware, Monsters_Unaware 라는 두 개의 이벤트가 될 것이다. 

 그런데 적의 인식 여부는 몇 초 동안 여러 번 빠르게 바뀔 수 있기 때문에 그 때마다 음악이 즉시 바뀌면 이상하게 들릴 것이다. 이 두 음악 전환 시점을 정확하게 제어하는 기능은 Music Switch Container Association Editor 에서만 제공된다. 

1.Music Playlist Container 에서 다양한 Transition 규칙을 정의한다.

2.두 음악간의 전환 타이밍을 매끄럽게 하려면 Game Parameter의 Slew Rate(슬루 레이트)라는 기능을 사용해야 한다. 

3.Monsters_Aware, Monsters_Unaware 두 개의 이벤트를 RTPC로 변환한 다음 Switch Group에서 Switch를 설정해서 Music Playlist Container가 알맞은 음악을 선택하도록 해줘야 한다. 

 

제작 흐름 : Event > Game Parameter > Switch Group > Music Switch Container

  • 대충격! 나는 그동안 무얼 했는가 우가우가.. 
  • 여러 음악을 같은 타이밍에서 전환하고 싶을 때, transition을 만들고 옵션을 설정해주면 된다. (Sync to - Same Time as Playing Segment) orz.....

충공깽... 무려 wwise 2013에도 있는 옵션이다

위의 방법으로 전환할 때, 현재 두 음악의 세팅에서는 bridge 부분이 랜덤 스텝으로 언제 나올지 모르는 상황이다. 이 상황에서도 두 음악의 싱크를 맞추는 옵션이 있다. 

Jump to - Specific Playlist Item을 선택하고 1:1 대응하는 Bridge 부분을 선택하면 된다.

새로운 Switch Group을 만들어 이전에 만든 Gameplay State의 하위 Switch처럼 작동하게 만드는 것을 배울 것이다. 

Music_State State Group이 Gameplay로 설정되면 Combat 이나 Explore 음악이 재생되어야 하며 곧 만들게 될 Switch Group이 재생할 음악을 결정하는 것!

이유는 ? State Group 이 RTPC에 반응하지 못하기 때문이다. RTPC는 Combat과 Explore 음악 사이의 전환 효과를 심층적으로 제어하는 데 꼭 필요한 도구이다. 

 

Switch에 Music Playlist Container를 끌어오면 Path - Object가 연결이 된다.

적의 플레이어 인식 여부를 담당하는 Event를 Switch Group에 직접 연결하지 않는 이유 ?  플레이어가 한 몬스터를 만나 물리치는 데 2초 정도 밖에 걸리지 않았을 때 음악을 전환했다가 다시 돌아가면 부자연스러울 것이기 때문.

이런 경우 사용할 수 있는 것이 Slew Rate인데, 이 기능은 Game Parameter에서만 사용할 수 있다. Slew Rate는 일정 시간동안 전환효과가 천천히 일어나도록 해준다. 

 

Game Parameter의 Interpolation(보간) 그룹 상자에서 모드를 선택
Attack 비율은 증가하는 값에 영향을 주고 Release 시간은 감소하는 값에 영향을 준다. 게임의 경우는 적이 플레이어를 인식하면 플레이어도 빨리 알아차려야 하고, 다시 Exlpore로 돌아올 때는 전환 속도를 조금 낮추는게 좋다.

Units/second 값은 곧, 음악 전환 속도를 말하는 듯... 

이 이후엔 5강에서 Playerhealth Game Parameter를 Guitar Switch Track에서 사용한 Switch에 적용한 방법과 동일하다. 

 

Cube에서 적의 플레이어 인식 여부를 전달하는 Event 두 개 : Monsters_Aware, Monsters_Unware

마지막 단계는 이런 Event를 EnemyAware Game Parameter에 연결하는 것이다.  

설정한 Slew Rate가 EnemyAware Game Parameter를 얼마나 보간하는지 정확히 이해하기 어렵다. -> Game Object Profiler 레이아웃으로 확인 가능하다. Profiler 레이아웃과 비슷하게 다양한 시각적 피드백을 제공하며, 특정 Game Parameter의 데이터를 볼 수 있는 추가 기능이 있다 

  • Game Object Profiler 레이아웃 (F12) - Game Sync Monitor 우측 당산의 View Settings - Profiler Settings - Inactive Game Syncs와 Voice Inspector Data를 선택 
  • 보고 싶은 게임 싱크는 Soundcaster 뷰에서 실행할 수 있다. RTPCs - EnemyAware 우클릭 - Profiler - Set as Object Filter 

Explore 혹은 Combat 에서 Story 음악으로 전환할 때는 음악의 템포나 전반적인 분위기가 너무 달라서 부자연스럽게 들릴 것이다. 이 때 중간에 전환하는 음악이 필요하다. 

전환 시 특정 segment를 재생할 수 있다.

  • Explore to Story(세그먼트 추가) / Story to Explore (세그먼트 추가) / Any to Story(심벌 스팅어 추가) / Story to Any(심벌 스팅어 추가) 
  • 이렇게 작업하는 경우 전환효과 2개에 충족하는 경우가 생길 수 있다. 이런 충돌을 방지하기 위에서, 목록의 아래에 있는 전환 효과가 위에 있는 것보다 우선 순위가 높다. 일반적으로 Any를 출발이나 도착지로 가지는 전환 효과처럼 범위가 넓은 것은 목록의 위에 두어서, 특정한 전환 효과가 높은 우선 순위를 갖게 하는 게 좋다. 
  • 전환 효과의 목록이 특히 긴 경우 Add Group(Add Transition밑에 있는 것)으로 Transition Group을 만들어 이동하여 우선 순위를 변경할 수 있다. 

  • Story_Start 이벤트 : Set State - Story
  • Story_End 이벤트 : Set State - Gameplay

+ Recent posts