4 개의 강의

목차

Wwise-Type Event의 할당과 게시

[참고]

이 섹션을 시작하기 전에 이전 섹션인 Wwise-Type Event 프로퍼티 만들기를 반드시 완료해주세요.

게임이 실행될 때 한 번 호출되는 Start() 함수를 사용해서 Event를 게시해봅시다. 스크립트를 작성할 때 함수, 변수, 클래스 프로퍼티의 프로퍼티에 접근하려면 프로퍼티 이름 뒤에 마침표 '.'를 입력하세요. 이전 섹션에서 눈치채셨을 수도 있지만 마침표를 입력하면 Visual Studio가 프로퍼티와 관련된 옵션의 목록을 표시해주므로 작업이 간편합니다.

  1. Start() 함수에서 MyEvent를 입력하고 마침표 '.'를 뒤에 붙이세요.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
        
    public class PostWwiseEvent : MonoBehaviour {
        public AK.Wwise.Event MyEvent;
        // Use this for initialization.
        void Start () {
            MyEvent.
        }
        
        // Update is called once per frame.
        void Update () {
        
        }
    }

    이 부분은 여러분이 이 Event로 무언가 하고싶다는 것을 Unity에게 알려주는 것입니다.

    마침표를 입력하면 드롭다운 메뉴가 나타날 것입니다. Visual Studio가 이 드롭다운 메뉴에 AK.Wwise.Event 클래스에서 사용 가능한 함수와 변수의 목록을 표시해줍니다.

    코드 편집기에 드롭다운 메뉴가 나타나지 않을 경우 다음 단계에서 직접 입력하시면 됩니다. Post() 함수를 사용해서 Event를 재생해봅시다.

  2. MyEvent. 뒤에 Post()를 더블 클릭하거나 입력하세요.

    public AK.Wwise.Event MyEvent;
    // Use this for initialization.
    void Start () {
        MyEvent.Post()
    }

    아직 함수가 완료되지 않았습니다. 함수 위로 마우스를 가져가면 무엇이 필요한지 알려주는 도움말이 표시됩니다.

    도움말에 많은 말이 표시되고 있지만 간단히 요약하자면 사운드를 게시할 적어도 하나의 게임 오브젝트가 필요하다고 합니다. 우리의 경우 이 스크립트가 붙은 게임 오브젝트(Player)에 사운드를 게시할 것이기 때문에, 게임 오브젝트의 이름을 특별히 입력할 필요 없이 아래처럼 입력하면 됩니다.

  3. Post() 괄호 안에 gameObject를 입력하세요.

    public AK.Wwise.Event MyEvent;
    // Use this for initialization.
    void Start () {
        MyEvent.Post(gameObject)
    }

    마지막으로 세미콜론을 입력해서 이 줄을 끝내겠습니다. 이제 스크립트 작성의 마지막 단계를 끝냈습니다. 이 때 반드시 스크립트를 쭉 읽어보면서 세미콜론을 모두 추가했고 괄호를 닫았는지 확인하시기 바랍니다.

  4. MyEvent.Post(gameObject) 뒤에 세미콜론(;)을 추가하세요.

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
        
    public class PostWwiseEvent : MonoBehaviour {
        public AK.Wwise.Event MyEvent;
        // Use this for initialization.
        void Start () {
            MyEvent.Post(gameObject);
        }
        
        // Update is called once per frame.
        void Update () {
        
        }
    }

    다 됐습니다! 이제 Inspector에서 Event를 할당하면 게임이 시작될 때 해당 Event가 Player 게임 오브젝트에 게시됩니다. 한 번 확인해볼까요?

  5. 스크립트를 저장한 후 Unity Inspector에서 PostWwiseEvent로 가서 MyEvent 프로퍼티 드로어를 클릭하고 Destruction_Rock_Destroy Event를 선택하세요.

    프로퍼티 드로어에서 자동으로 Wwise 프로젝트의 Events 폴더가 열립니다.

  6. Play를 클릭하고 Event를 들어보세요.

    게임이 로드되면 플레이어에게서 큰 바위가 부딪치는 소리가 들리실 것입니다. 이렇게 스크립트에서 Event를 성공적으로 게시한 것을 확인할 수 있습니다. 혹시 "왜 플레이어에 바위 충돌음을 추가하는 거지?"라고 생각하셨나요? Destruction_Rocks Event는 단지 스크립트 구현 작업이 제대로 작동하는지 실험하기 위해 사용되었을 뿐입니다. 뿐만 아니라 여기서 여러분이 작업한 스크립트를 토대로, 다음 '애니메이션에서 Event 게시하기' 섹션에서 더 많은 작업을 할 것입니다. 이제 Play 모드를 종료하셔도 됩니다.

스크립트 작성은 게임 개발에서 아주 중요한 부분입니다. 언젠가 여러분이 Unity 작업을 하시게 될 때 스크립트 작성에 대한 지식이 있으면 정말 많은 도움이 될 것입니다.