7 개의 강의

목차

RTPC 값으로 Switch 제어하기

이전 강의에서는 Event에 State를 설정해서 Boss, Story, Victory, Defeated 세그먼트를 재생하도록 했습니다. 이 강의의 후반부에서는 비슷한 Event를 추가해서 적이 플레이어를 인식하는지 알려주어야 합니다. 그리고 이 인식 여부를 통해 Combat이나 Explore 음악을 선택하게 되죠. 이러한 Event가 Explore나 Combat Switch를 설정하도록 할 수 있지만 이런 식으로 직접 연결할 필요는 없습니다. 대신 RTPC를 사용해서 Gameplay_Switch Switch Group을 작동시켜봅시다. 적의 플레이어 인식 여부를 담당하는 Event를 Switch Group에 직접 연결하지 않는 이유는 게임에서 인식 여부가 굉장히 빨리 바뀔 수 있기 때문에 음악을 갑작스럽게 바꾸지 않기 위해서입니다. 예를 들어 플레이어가 한 몬스터를 만나 물리치는 것은 2초 정도 밖에 걸리지 않을 텐데 그 시간 안에 Explore에서 Combat으로 전환했다가 다시 Explore로 돌아간다면 자연스럽지 못할 것입니다.

이런 경우에 사용할 수 있는 것이 바로 Slew Rate인데, 이 기능은 Game Parameter/RTPC에서만 사용할 수 있습니다. Slew Rate는 일정 시간동안 전환 효과가 천천히 일어나도록 해줍니다. 예를 들어 어떤 차를 시속 0km에서 100km로 달렸다가 다시 멈춘다고 생각해 보세요. 스포츠 카는 슬루 레이트가 빨라서 이 속도의 전환이 아주 빠르게 일어나겠죠. 하지만 스쿨 버스라면 슬루 레이트가 느려서 속도를 전환하는 데에 시간이 더 걸릴 것입니다.

이제 범위가 -1~101인 EnemyAware Game Parameter를 설정해봅시다. -1~50까지의 값은 적이 플레이어를 인식하지 못하는 경우, 51~101까지의 값은 적이 플레이어를 인식하는 경우라고 하겠습니다. 슬루 레이트의 속도를 제어하면 적의 인식 여부 간의 전환 효과의 속도를 제어할 수 있습니다. 그런 다음 이 정보를 사용해서 이미 설정해둔 Gameplay_Switch Switch Group이 Combat이나 Explore 음악을 선택하여 재생하겠습니다.

EnemyAware Game Parameter는 Music 시스템에만 사용하기 때문에 Music Work Unit 안에 만들겠습니다.

  1. Project Explorer에서 Game Syncs 탭을 클릭하고 Game Parameters 폴더를 선택하세요. 그런 다음 새로운 Work Unit의 이름을 Music으로 지정하세요.

  2. Music Work Unit을 선택한 후 Create New Game Parameter 아이콘을 클릭하고 EnemyAware라고 이름을 입력하세요.

  3. EnemyAware Game Parameter를 선택하고 Min Range 값을 -1로 변경하세요.

    이미 이 값을 참조하고 있는 오브젝트의 비율을 어떻게 변경할지 묻는 경고 메시지가 뜹니다. 지금은 이 Game Parameter를 참조하는 오브젝트가 달리 없기 때문에 어떤 옵션을 선택하든 상관없습니다.

  4. Stretch를 클릭하고 Max Range 값을 101로 변경하세요. Range 속성에 새로운 값이 적용됩니다.

    Default 값을 0으로 지정해서 아무 정보가 없을 경우 Wwise가 탐험 모드로 유지되도록 해야 합니다.

  5. Default 값을 0으로 설정하세요.

    이제 사용할 값의 범위를 정의했으니 Slew Rate 기능을 통해 값의 전환이 점진적으로 이루어지도록 설정해야 합니다. Slew Rate는 Interpolation(보간) 그룹 상자에서 옵션으로 제공됩니다.

  6. Interpolation ModeSlew Rate로 변경하세요.

    이 옵션을 활성화하려면 Attack과 Release 시간을 변경해야 합니다. Attack 비율은 증가하는 값에 영향을 주며 Release 시간은 감소하는 값에 영향을 줍니다. 다시 차를 예로 들어 보면, 차가 시속 0km에서 100km로 가속하는 속도가 100km에서 0km로 감속하는 속도보다 느리기 때문에 Attack 비율은 쇠퇴(decay)할 때의 속도보다 느리게 되죠.

    이 게임의 경우 적이 플레이어를 인식하면(Combat 음악 트리거) 플레이어도 이를 빨리 알아차려야 합니다. 하지만 플레이어가 마지막 몬스터를 물리쳐서 적이 다시 플레이어를 인식하지 못할 경우에는 (Explore 음악 트리거) 전환되는 속도를 조금 낮추어 아직 몬스터가 더 있을지도 모른다는 긴장감을 주는게 좋을 것 같습니다.

  7. Attack 값을 1000로 설정하고 Release 값을 10으로 설정하세요.

    이제 EnemyAware RTPC를 Gameplay_Switch Switch Group에 매핑해야 합니다. 이 작업은 제 5강에서 Playerhealth Game Parameter를 Guitar Switch Track에서 사용한 Switch에 적용한 방법과 동일합니다.

  8. Gameplay Switch Group을 선택한 후 Use Game Parameter 체크 상자를 클릭하세요. Game Parameter 그룹에서 [>>] 선택 버튼을 클릭하고 EnemyAware Game Parameter를 선택하세요.

    그래프에 곡선이 표시되며 Y축에서는 Explore와 Combat Switch를, X축에서는 EnemyAware Game Parameter의 값을 표시합니다.

    이제 Explore와 Combat을 중간 지점에서 전환해봅시다. 다시 말해 -1~50은 Explore로, 51~101은 Combat으로 설정해 봅시다.

  9. 첫 번째 기준점을 Explore 줄로 드래그하세요.

    [참고]

    드래그하면서 곡선이 가장 위에 도달할 때까지 마우스 포인터가 보이지 않을 것입니다.

  10. 50 바로 밑을 더블 클릭해서 이 기준점을 Combat 줄로 드래그하세요.

    [참고]

    50과 가까운 값이라면 값이 정확하지 않더라도 사실 상관없습니다.

    이제 EnemyAware Game Parameter를 Gameplay_Switch Switch Group에 매핑했으니 작업 내용을 시험해봅시다. 일단은 그래프 상단에 있는 EnemyAware 커서를 움직여 시험해봅시다. 이 커서를 움직이면 값이 변하면서 알맞은 음악이 잘 나오는지 들어볼 수 있습니다. 하지만 Slew Rate가 전환 효과를 지연시키는 것은 듣지 못할 것입니다. 이 부분은 수업 후반부에서 시험하도록 하겠습니다.

  11. PlayerLife State Group을 Alive로, Music_State State Group을 Gameplay로 설정한 후 Music Event를 재생하세요. 그리고 RTPC 커서를 좌우로 움직여보세요.

    EnemyAware 값이 50을 초과하면 Combat 음악이 재생되고 50 미만이 되면 Explore 음악이 재생됩니다.


이 페이지가 도움이 되었나요?