1 개의 강의

목차

Event 만들기

프로그래머는 게임에서 발생한 상황을 알려주는 메시지를 Wwise에 전송할 수 있도록 오디오 반응을 필요로 하는 모든 것에 코드 몇 줄을 추가합니다. 이 메시지는 게임 호출(Game Call)이라고 불립니다. Game Call은 '여기 얼음 보석이 던져졌어요'같은 아주 간단한 메시지이지만, 현실적으로 이 메시지는 문자열이나 숫자로 전송됩니다. 오디오 엔진이 이 메시지를 수신하면 비로소 여러분이 게임 오디오 디자이너로서 정의한 다양한 일들이 일어납니다.

그러기 위해 가장 먼저 해야할 일은 바로 Event를 만들어서 Wwise가 들어오는 Game Call을 받도록 하는 것입니다. 게임 엔진과 오디오 엔진 간에 캐치볼을 하는 것과 같은 원리라고 할 수 있죠. 게임 엔진이 던지는 볼은 바로 게임 호출입니다. 그리고 Event는 Wwise가 특정 게임 호출을 받을 수 있도록 설계된 오브젝트 유형입니다. 여기서 주시해야 할 점은 바로 Wwise가 Game Call을 수신하려면 동일한 이름으로 지정된 Event가 필요하다는 것입니다.

  1. 메인 메뉴에서 Layout > Designer를 선택하거나 F5를 누르세요.

  2. Project Explorer 뷰에서 Events 탭을 클릭하세요.

    바로 이 Events 탭에서 Wwise가 게임 엔진의 메시지 수신을 기다리는 Event Game Call을 이해하도록 만들 수 있습니다.

    Project Explorer의 Events 탭에는 Events라고 불리는 폴더가 있는데, 이 폴더 안에는 Default Work Unit이라고 불리는 오브젝트가 있습니다. Work Unit은 Wwise의 토대가 됩니다. Work Unit은 프로젝트의 특정 섹션이나 요소에 관한 정보를 담고 있으며 프로젝트 정리를 도와줍니다.

    수많은 게임 프로젝트에서는 많은 사람 혹은 심지어 많은 회사가 동시에 게임의 각기 다른 부분을 작업합니다. 예를 들어 한 팀은 모든 마법 사운드를 작업하고 다른 팀은 환경음을 집중적으로 작업하는 경우가 있을 수 있겠죠. 이 상황에서 각 팀은 자체적인 Wwise 작업 사본을 가지며 고유의 Work Unit을 만들어서 할당된 Event를 보관할 것입니다. 여러 개의 Work Unit을 나중에 제작 후반부에서 하나의 프로젝트에 가져와 게임의 모든 요소를 하나로 모을 수 있습니다.

    [참고]

    Work Unit은 사실 Wwise의 프로젝트 구조에서 만들어진 XML 파일입니다.

    Wwise에서 만드는 모든 것은 '오브젝트'라고 합니다. Wwise에서 말하는 오브젝트는 이 강의의 앞 부분에서 게임 아이템과 관련하여 다루었던 '게임 오브젝트'와는 다르므로 혼동하지 않도록 주의하세요. Wwise에서 오브젝트는 작은 정사각형 아이콘으로 표시됩니다. Wwise에는 20개 이상의 오브젝트 유형이 있으며 각 유형은 Wwise에서 사운드를 만들고 컨트롤할 수 있는 고유의 기능을 제공합니다. 오브젝트는 계층 구조 안에 있으며 일반적으로 Work Unit은 계층 구조의 맨 위에 있습니다. 빌딩을 구성하는 벽돌과 마찬가지로 이러한 오브젝트는 순수하게 실용적인 용도로 사용하거나 복잡하고 독창적으로 배열할 수 있는 벽돌의 역할을 합니다. 지금은 Default Work Unit 안에 하나의 Event 오브젝트를 만들 것입니다. 이 Event는 Cube 게임 엔진에서 전송되는 얼음 보석 Game Call을 받는 야구 글러브의 역할을 합니다.

  3. Events 폴더 안에서 Default Work Unit을 클릭하세요.

    오브젝트가 선택되면 선택된 오브젝트 안에 만들어질 수 있는 오브젝트의 유형을 보여주는 아이콘 바가 Project Explorer 안에 뜹니다. 이 아이콘으로 마우스를 가져가면 아이콘이 나타내는 오브젝트의 유형을 보여주는 툴팁이 뜹니다.

  4. 네 번째 아이콘으로 마우스를 가져가서 Event 오브젝트가 맞는지 확인하세요.

  5. Event 아이콘을 클릭해서 Default Work Unit 안에 새로운 Event 오브젝트를 만드세요.

    새로운 Event 오브젝트가 만들어지며 오브젝트의 이름을 입력하라고 알려줍니다.

    Event 오브젝트에 이름을 지정하는 방법은 아주 중요합니다. Event 오브젝트의 이름은 게임 엔진에서 전송되는 Game Call의 이름과 완벽하게 일치해야 합니다. 전화번호를 누를 때처럼 조금이라도 틀리면 연결되지 않습니다.

    이것이 잘 작동되게 하기 위해서, 보통 사운드 디자이너가 사운드 엔진이 인식해야 하는 것들이 무엇인지 결정하고 각 사안에 대해 Wwise에서 Event를 만듭니다. 그런 다음 프로그래머에게 Event 이름을 알려주어 프로그래머가 게임 엔진이 동일한 이름의 Game Call을 전송하도록 프로그래밍하게 해야 합니다. 여기에서는 Cube 게임 엔진이 이미 프로그래밍되어 있으며 호출의 이름이 이미 정의되어 있기 때문에 얼음 보석이 던져질 때마다 Fire_IceGem_Player라는 이름의 호출이 사용됩니다.

  6. Fire_IceGem_Player 입력한 후 Enter를 누르세요.

    [참고]

    Wwise는 후에 이 프로젝트를 기반으로 소프트웨어 코드를 제작합니다. 이 코드에서 모든 오브젝트 이름 참조는 소문자로 처리되기 때문에 오브젝트에는 대소문자 구분이 없습니다.

    [작은 정보]

    오브젝트를 선택하면 우측의 Event Property Editor의 제목 표시줄에 Fire_IceGem_Player - Event Property Editor라는 이름이 뜨며 연관된 속성이 뜹니다. 오브젝트 유형에 따라 편집기의 복잡성도 달라집니다. 편집기는 보통 Notes 입력란을 가지고 있는데, Notes 입력란은 Event 이름 혼동을 방지하는 추가 정보를 입력할 수 있기 때문에 아주 중요합니다. Fire_IceGem_Player와 같은 이름의 경우 Event가 얼음 보석 던지기와 관련되어 있음을 알기가 쉽지만, 모든 Event에 직관적인 이름이 붙는 것은 아닙니다. Notes는 사용자에게 추가 정보를 제공할 뿐만 아니라 다른 사람들이 사용자의 작업 내용을 좀 더 잘 이해할 수 있도록 도와줍니다.


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