Unity 프로젝트에 공간 오디오 추가Adding spatial audio to your Unity project

HoloLens2의 Unity 용 공간 오디오 자습서를 시작 합니다.Welcome to the spatial audio tutorial for Unity on HoloLens2. 이 자습서 시퀀스는 다음을 보여 줍니다.This tutorial sequence shows:

  • Unity에서 HoloLens 2의 HRTF (head 관련 전송 함수) 오프 로드를 사용 하는 방법How to use head-related transfer function (HRTF) offload on HoloLens 2 in Unity
  • HRTF 오프 로드를 사용할 때 반향 기능을 사용 하도록 설정 하는 방법How to enable reverb when using HRTF offload

Microsoft Spatializer GitHub 리포지토리 는이 자습서 시퀀스의 완료 된 Unity 프로젝트를 포함 합니다.The Microsoft Spatializer GitHub repository has a completed Unity project of this tutorial sequence.

유용 하 게 사용할 수 있는 경우에 대 한 HRTF 기반 spatialization 기술과 권장 사항을 사용 하 여 소리를 spatialize 하는 것에 대 한 자세한 내용은 공간 음향 디자인을 참조 하세요.For an understanding about what it means to spatialize sounds using HRTF-based spatialization technologies and recommendations for when it can be helpful, see spatial sound design.

HRTF 오프 로드 란?What is HRTF offload?

HRTF 기반 알고리즘을 사용 하 여 오디오를 처리 하려면 많은 양의 특수 한 계산을 수행 해야 합니다.Processing audio using HRTF-based algorithms requires a large amount of specialized computation. HoloLens 2에는 응용 프로그램 프로세서의 부담을 방지 하기 위해 활용할 수 있는 전용 하드웨어가 포함 되어 있습니다. 따라서 HRTF 기반 알고리즘의 처리를 "오프 로딩" 합니다.HoloLens 2 includes dedicated hardware that can be utilized to avoid burdening the application processor, thus "offloading" the processing of HRTF-based algorithms. Microsoft spatializer 플러그 인을 사용 하면 응용 프로그램이 공간 오디오 이외의 작업에 더 많은 응용 프로그램 프로세서를 사용할 수 있도록 응용 프로그램에서 전용 HRTF 하드웨어를 활용할 수 있는 쉬운 방법을 제공 합니다.The Microsoft spatializer plugin provides an easy way for your application to take advantage of the dedicated HRTF hardware so your application can use more of the application processor for operations other than spatial audio.

목표Objectives

이 첫 번째 장에서는 다음을 수행 합니다.In this first chapter, you'll:

  • Unity 프로젝트 만들기 및 MRTK 가져오기Create a Unity project and import MRTK
  • Microsoft spatializer 플러그 인 가져오기Import the Microsoft spatializer plugin
  • Microsoft spatializer 플러그 인 사용Enable the Microsoft spatializer plugin
  • 개발자 워크스테이션에서 공간 오디오 사용Enable spatial audio on your developer workstation

프로젝트 만들기 및 Unity 용 NuGet 추가Create a project and add NuGet for Unity

빈 Unity 프로젝트로 시작한 다음 Unity에 대해 NuGet을 추가 하 고 구성 합니다.Start with an empty Unity project, then add and configure NuGet for Unity:

  1. 최신 NuGetForUnity를 다운로드 합니다. unitypackageDownload the latest NuGetForUnity .unitypackage
  2. Unity 메뉴 모음에서 자산-> 가져오기 패키지-> 사용자 지정 패키지 ...를 클릭 하 고 NuGetForUnity 패키지를 설치 합니다.In the Unity menu bar, click Assets -> Import Package -> Custom Package... and install the NuGetForUnity package:

사용자 지정 패키지 가져오기

Windows Mixed Reality 패키지 추가Add the Windows Mixed Reality package

Unity 2019 이상에서 Windows Mixed Reality 지원은 선택적 패키지에 포함 되어 있습니다.Windows Mixed Reality support in Unity 2019 and later is contained in an optional package. 프로젝트에 추가 하려면 Unity 메뉴 모음에서 창 > 패키지 관리자 를 엽니다.To add it to your project, open Window -> Package Manager from the Unity menu bar:

패키지 관리자 메뉴

그런 다음 Windows Mixed Reality 패키지를 찾아서 설치 합니다.Then find and install the Windows Mixed Reality package:

패키지 관리자 창

MRTK 및 Microsoft Spatializer 설치Install MRTK and Microsoft Spatializer

Unity에 NuGet을 사용 하 여 MRTK 및 Microsoft Spatializer 플러그 인을 설치 합니다.Using NuGet for Unity, install the MRTK and Microsoft Spatializer plugins:

  1. Unity 메뉴 모음에서 nuget > Nuget 패키지 관리 를 클릭 합니다.In the Unity menu bar, click on NuGet -> Manage NuGet Packages.

NuGet 패키지 관리

  1. 검색 상자에 "MixedReality"를 입력 하 고 MRTK 핵심 패키지: MixedReality 를 설치 합니다.In the Search box, enter "Microsoft.MixedReality.Toolkit" and install the MRTK core package: Microsoft.MixedReality.Toolkit.Foundation

MRTK NuGet 패키지

Mrtk NuGet 패키지 에는 추가 컨텍스트 및 세부 정보가 있습니다.MRTK NuGet Package has additional context and details.

  1. 검색 상자에 "SpatialAudio"를 입력 하 고 microsoft Spatializer Package: SpatialAudio를 설치 합니다. SpatializerIn the Search box, enter "Microsoft.SpatialAudio" and install the Microsoft Spatializer package: Microsoft.SpatialAudio.Spatializer.Unity

Spatializer 플러그 인 NuGet

프로젝트에서 MRTK 설정Set up MRTK in your project

  1. 파일 > 빌드 설정 으로 이동 하 여 빌드 설정 창을 엽니다.Open the Build Settings window by going to File -> Build Settings.

  2. 유니버설 Windows 플랫폼 를 선택 하 고 플랫폼 전환 을 클릭 합니다.Select the Universal Windows Platform and click Switch Platform.

  3. 빌드 창 에서 플레이어 설정 을 클릭 하 여 검사기 창에서 플레이어 설정 속성을 엽니다.Click Player Settings in the Build Window to open the Player Settings properties in the Inspector pane.

    • XR 설정 에서 가상 현실 지원 확인란을 선택 합니다.Under XR Settings, check the Virtual Reality Supported checkbox
    • XR 설정 에서 스테레오 렌더링 모드인스턴스 하나로 변경 합니다.Under XR Settings, change the Stereo Rendering Mode to Single Pass Instanced.
    • 게시 설정 에서 기능 섹션의 공간 인식 확인란을 선택 합니다.Under Publishing Settings, check the Spatial Perception checkbox in the Capabilities section
  4. 메뉴 모음에서 혼합 현실 도구 키트-장면에 추가 및 구성 >를 클릭 합니다.On the menu bar, click Mixed Reality Toolkit -> Add to Scene and Configure.. 장면에 MRTK를 추가 합니다.to add MRTK to your scene.

앱을 빌드하고 HoloLens 2에 배포 하는 방법을 비롯 한 추가 지침은 MR 학습 기본 모듈의 1 장을 참조 하세요.For additional guidance, including how to build your app and deploy to a HoloLens 2, see Chapter 1 of the MR Learning Base Module.

Microsoft Spatializer 플러그 인 사용Enable the Microsoft Spatializer plugin

Microsoft Spatializer 플러그 인을 사용 하도록 설정 합니다.Enable the Microsoft Spatializer plugin. 편집 > 프로젝트 설정-오디오 > 열고 Spatializer 플러그 인 을 "Microsoft Spatializer"로 변경 합니다.Open Edit -> Project Settings -> Audio, and change Spatializer Plugin to "Microsoft Spatializer". 이제 프로젝트 설정Audio 섹션이 다음과 같이 표시 됩니다.The Audio section of the Project Settings will now look like this:

Spatializer 플러그 인을 보여 주는 프로젝트 설정

워크스테이션에서 공간 오디오 사용Enable spatial audio on your workstation

데스크톱 버전의 Windows에서는 공간 오디오가 기본적으로 사용 하지 않도록 설정 되어 있습니다.On desktop versions of Windows, spatial audio is disabled by default. 작업 표시줄에서 볼륨 아이콘을 마우스 오른쪽 단추로 클릭 하 여 사용 하도록 설정 합니다.Enable it by right-clicking on the volume icon in the task bar. HoloLens 2에서 제공 하는 내용을 가장 잘 표시 하려면 공간 사운드-헤드폰 용 Windows Sonic > 선택 합니다.To get the best representation of what you'll hear on HoloLens 2, choose Spatial sound -> Windows Sonic for Headphones.

데스크톱 공간 오디오 설정

참고

이 설정은 Unity 편집기에서 프로젝트를 테스트 하려는 경우에만 필요 합니다.This setting is only required if you plan to test your project in the Unity editor.

다음 단계Next steps