목차

표면 리플렉터 튜토리얼

다음 단계를 통해 이 튜토리얼은 Spatial Audio와 함께 새로운 Reflect 플러그인을 사용하는 법을 보여줍니다. 이 프로젝트가 제대로 작동하려면 Reflect 플러그인 라이선스가 필요합니다.

Note.gif
참고: 이 튜토리얼은 Spatial Audio 튜토리얼 준비 를 완료했다는 가정 하에 진행됩니다. 하지만 Room과 Portal 튜토리얼 를 완료했는지의 여부는 상관없습니다. 두 튜토리얼은 서로 별개입니다.

A. Wwise 프로젝트

Reflect 플러그인과 Acoustic Textures(음향 텍스처)가 있는 Auxiliary Bus를 만들어서 Wwise 프로젝트를 갱신해야 합니다.

  1. Master Audio Bus 아래 Auxiliary Bus를 추가하세요. Auxiliary Bus Property Editor에서
    1. General Settings 탭에서 Channel Configuration을 모노로 변경하세요. 버스를 모노로 설정해도 Reflect의 출력은 변경되지 않습니다. Reflector의 출력은 Reflect Effect Editor에서 설정할 수 있습니다.
      AuxBusPropertyEditorGeneralSettingsThirdPerson.png

      Auxiliary Bus Property Editor General Settings tab for Reflect

    2. Effects 탭 아래에 Wwise Reflect Effect를 추가하세요.
      AuxBusPropertyEditorEffectsThirdPerson.png

      Auxiliary Bus Property Editor Effects tab for Reflect

    3. Positioning 탭 아래 Listener Relative Routing을 활성화하고 3D Spatialization을 None으로 설정하세요. 감쇠는 추가하지 마세요. Reflect Effect Editor에서 감쇠를 맞춤화할 수 있습니다.
      AuxBusPropertyEditorPositioningThirdPerson.png

      Auxiliary Bus Property Editor Positioning tab for Reflect

  2. Project > Import Factory Assets...에서 Reflect Acoustic Texture를 가져오세요.
    1. 이 Acoustic Texture는 Project Explorer 뷰의 ShareSets 탭에 있는 Virtual Acoustics 폴더에 추가됩니다.
      ProjectExplorerShareSets.png

      Factory Reflect Acoustic Textures in the Project Explorer ShareSets tab

    2. (선택 사항) Default Work Unit 아래 있는 Virtual Acoustics 폴더에 커스텀 Acoustic Texture를 추가할 수 있습니다.
  3. 프로젝트를 저장하세요.

B. 공간 음향 방사체

새로 생긴 리플렉션 보조 버스를 사용할 공간 음향 방사체(spatial audio emitter)를 변경해야 합니다.

  1. Wwise Picker (Windows > Wwise Picker)에서 Wwise 프로젝트를 새로 고침 하세요.
    1. SoundBank를 생성하세요
      WwisePicker.png

      Wwise Picker

  2. 각 버튼에서 AkSpatialAudioEmitter 컴포넌트를 변경합니다.
    1. Reflect Aux Bus에서 Reflect Auxiliary Bus를 선택하세요.
    2. Reflection Max Path Length에서는 100000을 선택하세요.
    3. Reflections Aux Bus Gain에서는 1을 선택하세요.
    4. Reflections Order에서는 2를 선택하세요.
    5. Debug Draw 아래에서 Draw First Order ReflectionsDraw Second Order Reflections를 선택하세요.
      AkSpatialAudioEmitterReflect.png

      AkSpatialAudioEmitter for Surface Reflector

C. 표면 리플렉터 컴포넌트

AkSurfaceReflector 컴포넌트를 사용하여 표면 상에서의 초기 리플렉션을 시뮬레이션할 수 있습니다. 한 가지 방법으로 표면 리플렉터 컴포넌트를 게임에서 기존의 메시에 추가할 수 있습니다. 모양이 너무 복잡할 경우 너무 많은 삼각형이 Spatial Audio API에 전달되어 게임이 느려질 수 있습니다. 이런 경우 표면 리플렉터의 역할을 할 새로운 GameObject를 생성해야 할 수도 있습니다. Wwise Unity Demo Scene에서 제공하는 씬에서는 새로운 오브젝트를 표면 리플렉터로 사용했습니다. 공간이 큐브 모양이기 때문에 메시 렌더러가 없는 큐브를 사용했습니다. 다음 작업 단계를 확인하세요.

  1. 큐브를 생성하세요 (GameObject > 3D Object > Cube)
    1. Mesh Renderer 컴포넌트를 제거하세요
    2. Box Collider 컴포넌트에서 Is Trigger를 선택하세요
    3. AkSurfaceReflector 컴포넌트를 추가하세요.
      1. Acoustic Texture 매개변수에서 음향 텍스처를 선택하거나 None으로 남겨두어 필터링되지 않은 리플렉션으로 설정합니다.
        AkSurfaceReflector.png

        AkSurfaceReflector component

D. 셋업 검토하기

  1. 게임을 시작하고 방사체 하나를 재생하세요.
    1. 섹션의 Debug Draw 아래 리플렉션의 그림을 활성화했기 때문에 방사체에서 리스너로 가는 레이(ray)가 Scene 창에 보여야 합니다. 노란색 레이는 리스너에게 도달하기 전에 하나의 표면에서 반사되는 1차 리플렉션을 보여주며 주황색 레이는 2차 리플렉션을 보여줍니다. GameObject의 이름이 리플렉션 지점에 표시됩니다. -# Gizmos를 활성화하면 Game 창에서의 레이를 볼 수 있습니다.
      DebugDraw2ndOrderTop.png

      Top view of early reflection drawings for existing mesh surface reflectors

    2. Wwise에서 게임에 연결하고 Profiler 레이아웃으로 전환하세요. 다음과 비슷한 그래프가 보일 것입니다.
      VoiceGraphReflect.png

      Voice Graph with Reflect Effect

    3. 그래프의 Auxiliary Bus 노드 아래 강조 표시된 Wwise Reflect를 더블 클릭해서 Reflect Effect Editor를 여세요. 사운드를 재생하면 그래프와 목록에서 현재 리플렉션이 보여야 합니다. Texture(s) 열에 두 가지 텍스처가 있을 경우 이 리플렉션은 2차 리플렉션입니다.
      1. 여기에서 리플렉션의 감쇠 곡선을 변경할 수 있습니다.
      2. 리플렉션이 보이지 않을 경우 방사체와 리스너 간의 리플렉션 거리와 비교하여 Max Distance가 충분히 큰지 확인하세요.
        ReflectEffectEditor.png

        Reflect Effect Editor View

    4. Game Object Profiler Layout으로 전환하세요 (단축키 F12)
      1. Game Object 3D Viewer Settings에서 Reflection Paths와 Reflection Image Sources가 활성화되었는지 확인하세요.
        GameObject3DViewerSettingsReflectionPaths.png

        Game Object 3D Viewer Settings for Reflect

      2. Game Object 3D Viewer에서 재생 중인 방사체와 공간 음향 리스너 간에 표면 리플렉터와 리플렉션 경로가 보여야 합니다. 다음 이미지에서는 표면 리플렉터가 진한 청록색으로 표시됩니다 (Acoustic Texture의 색깔). 리플렉션 경로와 이미지에 대해 노란색은 1차 리플렉션임을, 주황색은 2차 리플렉션임을 의미합니다. 이 이미지에서는 Button Outside만 재생되고 있기 때문에 리플렉션 경로와 Button Outside의 이미지만 표시되었습니다.
        GameObject3DViewerReflect.png

        Game Object 3D Viewer

        Note.gif
        참고: 건물 주위에 있는 큐브 모양의 표면 리플렉터를 통해서는 심지어 방사체가 재생 중이더라도 리스너가 밖에 있을 경우 건물 안에 있는 방사체에서 리플렉션 경로를 얻을 수 없습니다. 마찬가지로 리스너가 안에 있을 경우 건물 밖에 있는 방사체에서 리플렉션 경로를 얻을 수 없습니다. 그 이유는 빌딩의 열린 부분이 반사적 표면의 일부이기 때문입니다. 이 문제를 해결하려면 건물의 메시를 표면 반사기로 사용하거나 열린 부분 주위에 포털을 배치해야 합니다.
생성시간 : Mon Jul 15 15:53:32 2019, 프로젝트명 : Wwise Unity Integration, 생성자 :   doxygen 1.6.3