Adicionando áudio espacial ao seu projeto do UnityAdding spatial audio to your Unity project

Bem-vindo ao tutorial de áudio espacial do Unity no HoloLens2.Welcome to the spatial audio tutorial for Unity on HoloLens2. Esta sequência de tutorial mostra:This tutorial sequence shows:

  • Como usar o descarregamento de função de transferência relacionada ao cabeçalho (HRTF) no HoloLens 2 no UnityHow to use head-related transfer function (HRTF) offload on HoloLens 2 in Unity
  • Como habilitar o reverberador ao usar o descarregamento de HRTFHow to enable reverb when using HRTF offload

O repositório GitHub do Microsoft Spatializer tem um projeto de Unity concluído desta sequência de tutorial.The Microsoft Spatializer GitHub repository has a completed Unity project of this tutorial sequence.

Para obter uma compreensão sobre o que significa espacialar sons usando tecnologias de espacial com base em HRTF e recomendações para quando puder ser útil, consulte design de som espacial.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.

O que é descarregamento de HRTF?What is HRTF offload?

O processamento de áudio usando algoritmos baseados em HRTF exige uma grande quantidade de computação especializada.Processing audio using HRTF-based algorithms requires a large amount of specialized computation. O HoloLens 2 inclui um hardware dedicado que pode ser utilizado para evitar sobrecarregar o processador de aplicativos, portanto, "descarregando" o processamento de algoritmos baseados em HRTF.HoloLens 2 includes dedicated hardware that can be utilized to avoid burdening the application processor, thus "offloading" the processing of HRTF-based algorithms. O plug-in do Microsoft spatializer fornece uma maneira fácil de seu aplicativo aproveitar o hardware dedicado do HRTF para que seu aplicativo possa usar mais do processador de aplicativos para operações que não sejam de áudio espacial.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.

ObjetivosObjectives

Neste primeiro capítulo, você vai:In this first chapter, you'll:

  • Criar um projeto do Unity e importar MRTKCreate a Unity project and import MRTK
  • Importar o plug-in Microsoft spatializerImport the Microsoft spatializer plugin
  • Habilitar o plug-in Microsoft spatializerEnable the Microsoft spatializer plugin
  • Habilitar o áudio espacial em sua estação de trabalho do desenvolvedorEnable spatial audio on your developer workstation

Criar um projeto e adicionar o NuGet para o UnityCreate a project and add NuGet for Unity

Comece com um projeto do Unity vazio e, em seguida, adicione e configure o NuGet para o Unity:Start with an empty Unity project, then add and configure NuGet for Unity:

  1. Baixe o NuGetForUnity. unitypackage mais recenteDownload the latest NuGetForUnity .unitypackage
  2. Na barra de menus do Unity, clique em ativos-> importar pacote-> pacote personalizado... e instale o pacote NuGetForUnity:In the Unity menu bar, click Assets -> Import Package -> Custom Package... and install the NuGetForUnity package:

Importar pacote personalizado

Adicionar o pacote do Windows Mixed RealityAdd the Windows Mixed Reality package

O suporte do Windows Mixed Reality no Unity 2019 e posterior está contido em um pacote opcional.Windows Mixed Reality support in Unity 2019 and later is contained in an optional package. Para adicioná-lo ao seu projeto, abra o Gerenciador de pacotes do > de janela na barra de menus do Unity:To add it to your project, open Window -> Package Manager from the Unity menu bar:

Menu do Gerenciador de pacotes

Em seguida, localize e instale o pacote do Windows Mixed Reality :Then find and install the Windows Mixed Reality package:

Janela do Gerenciador de pacotes

Instalar o MRTK e o Microsoft SpatializerInstall MRTK and Microsoft Spatializer

Usando o NuGet para Unity, instale os plug-ins MRTK e Microsoft Spatializer:Using NuGet for Unity, install the MRTK and Microsoft Spatializer plugins:

  1. Na barra de menus do Unity, clique em NuGet-> gerenciar pacotes NuGet.In the Unity menu bar, click on NuGet -> Manage NuGet Packages.

Gerenciar pacotes NuGet

  1. Na caixa de pesquisa , digite "Microsoft. MixedReality. Toolkit" e instale o pacote do MRTK Core: Microsoft. MixedReality. Toolkit. FoundationIn the Search box, enter "Microsoft.MixedReality.Toolkit" and install the MRTK core package: Microsoft.MixedReality.Toolkit.Foundation

Pacote NuGet do MRTK

O pacote NuGet do MRTK tem detalhes e contexto adicionais.MRTK NuGet Package has additional context and details.

  1. Na caixa de pesquisa , digite "Microsoft. SpatialAudio" e instale o pacote do Microsoft Spatializer: Microsoft. SpatialAudio. Spatializer. UnityIn the Search box, enter "Microsoft.SpatialAudio" and install the Microsoft Spatializer package: Microsoft.SpatialAudio.Spatializer.Unity

NuGet do plugin Spatializer

Configurar o MRTK em seu projetoSet up MRTK in your project

  1. Abra a janela configurações de Build acessando arquivo-> configurações de Build.Open the Build Settings window by going to File -> Build Settings.

  2. Selecione o plataforma universal do Windows e clique em alternar plataforma.Select the Universal Windows Platform and click Switch Platform.

  3. Clique em configurações do Player na janela criar para abrir as propriedades das configurações do Player no painel Inspetor .Click Player Settings in the Build Window to open the Player Settings properties in the Inspector pane.

    • Em configurações de XR, marque a caixa de seleção suporte à realidade virtualUnder XR Settings, check the Virtual Reality Supported checkbox
    • Em configurações de XR, altere o modo de renderização de estéreo para passagem única com instância.Under XR Settings, change the Stereo Rendering Mode to Single Pass Instanced.
    • Em configurações de publicação, marque a caixa de seleção percepção espacial na seção recursosUnder Publishing Settings, check the Spatial Perception checkbox in the Capabilities section
  4. Na barra de menus, clique em Kit de ferramentas de realidade misturada-> adicionar à cena e configurar..On the menu bar, click Mixed Reality Toolkit -> Add to Scene and Configure.. para adicionar MRTK à sua cena.to add MRTK to your scene.

Para obter diretrizes adicionais, incluindo como criar seu aplicativo e implantá-lo em um HoloLens 2, consulte o capítulo 1 do módulo de base de aprendizado do Mr.For additional guidance, including how to build your app and deploy to a HoloLens 2, see Chapter 1 of the MR Learning Base Module.

Habilitar o plug-in Microsoft SpatializerEnable the Microsoft Spatializer plugin

Habilite o plug-in Microsoft Spatializer .Enable the Microsoft Spatializer plugin. Abra o editar > configurações do projeto-> áudio e altere o plug-in Spatializer para "Microsoft Spatializer".Open Edit -> Project Settings -> Audio, and change Spatializer Plugin to "Microsoft Spatializer". A seção áudio das configurações do projeto terá a seguinte aparência:The Audio section of the Project Settings will now look like this:

Configurações do projeto mostrando o plug-in spatializer

Habilitar áudio espacial em sua estação de trabalhoEnable spatial audio on your workstation

Em versões de área de trabalho do Windows, o áudio espacial é desabilitado por padrão.On desktop versions of Windows, spatial audio is disabled by default. Habilite-o clicando com o botão direito do mouse no ícone de volume na barra de tarefas.Enable it by right-clicking on the volume icon in the task bar. Para obter a melhor representação do que você ouvirá no HoloLens 2, escolha som espacial-> Windows Sonic para fones de ouvido.To get the best representation of what you'll hear on HoloLens 2, choose Spatial sound -> Windows Sonic for Headphones.

Configurações de áudio espacial da área de trabalho

Observação

Essa configuração só será necessária se você planeja testar seu projeto no editor do Unity.This setting is only required if you plan to test your project in the Unity editor.

Próximas etapasNext steps