Como o som é produzido para outra realidade

Continuamos a série de artigos sobre o Windows Mixed Reality e desenvolvemos do zero um aplicativo de realidade mista do Unity no formato de trabalho de laboratório. Você mesmo pode, paralelamente à publicação de artigos, criar esse aplicativo. Hoje falaremos sobre som espacial e como criar a sensação de estar em uma realidade diferente.



O guia inteiro será composto por 5 partes. Será reabastecido toda semana. Abaixo você pode ir para a parte que precisa.

Parte 1: Exportar aplicativo UWP para Windows Mixed Reality do Unity ;
Parte 2: Configurando o ambiente (VR) ;
Parte 3: Controladores ;
Parte 4: Som espacial ;
Parte 5: HoloLens e gráficos .

Som espacial


O alto-falante está pronto, agora tente iniciar e parar a reprodução do som espacial. Nesta seção, adicionaremos uma fonte de som e controles de reprodução de áudio.

Como algumas das tarefas que temos à nossa frente são semelhantes às concluídas anteriormente, daremos instruções na forma de listas para acelerar o processo.

Verifique suas ações com as capturas de tela que estão no final de cada estágio grande e consulte os links adicionais para obter instruções nas instruções.

Adicionando uma fonte de som


Para reproduzir som de um alto-falante, você precisa adicionar o componente Unity AudioSource a ele.

  1. Selecione o objeto Speaker na cena e clique em Add Component -> Audio -> Audio Source.
  2. Clique no pequeno ícone de mira à direita da propriedade Clipe de áudio do componente Fonte de áudio e selecione Chill Blue Lagoon.
  3. Desmarque a caixa de seleção Reproduzir ao acordar, pois controlaremos a reprodução usando os botões. Mudaremos as configurações do suporte a som espacial posteriormente.



Adicionando controles de reprodução ao alto-falante


Para adicionar um botão de reprodução ao alto-falante, siga estas etapas:

1. No painel Projeto, localize o prefab CircleButton na pasta Ativos -> HoloToolkit -> UX -> Prefabs -> Buttons (Recursos -> HoloToolkit -> UX -> Prefabs -> Botões) e arraste-o para o painel Hierarquia adicionando esse pré-fabricado à cena como filho do objeto Speaker.

2. Dê ao botão adicionado o nome PlayButton.



3. Aumente o tamanho do PlayButton, definindo sua propriedade Transform Scale para (90, 90, 90).

4. Após selecionar o objeto PlayButton, clique em Adicionar Componente -> Evento -> Acionador de Eventos (Adicionar Componente -> Evento -> Acionador de Eventos).

5. Clique em Adicionar novo tipo de evento -> clique em ponteiro.

6. Clique no botão + na parte inferior da lista de eventos vazia.

7. Arraste o objeto Alto-falante do painel Hierarquia para o campo para descartar eventos rotulados Nenhum (Objeto).

8. Na lista suspensa Sem função, selecione Origem do áudio-> Reproduzir ().



Para adicionar um botão de pausa ao alto-falante, siga estas etapas:

1. Duplique o PlayButton pressionando Ctrl + D ou clique com o botão direito do mouse em um recurso no painel Hierarquia e selecione Duplicar e renomeie-o para PauseButton.

2. Para a função Trigger de Eventos do objeto PauseButton, defina o valor como AudioSource-> Pause ().



Agora, esses botões devem funcionar, mas é difícil usá-los, pois eles se sobrepõem. Outro problema - o usuário não os vê quando o alto-falante está virado para o lado. Para resolver esse problema, faça o seguinte:

1. Defina a propriedade Transform Position do PlayButton como (-6, 18, 0).

2. Para a propriedade Transform Position do PauseButton, defina os valores (6, 18, 0).

3. No painel Hierarquia, clique com o botão direito do mouse no objeto Alto-falante e selecione Criar Vazio para criar um objeto filho vazio. Renomeie o GameObject adicionado para ButtonBillboard. Para renomear um objeto, clique com o botão direito do mouse e selecione Renomear.

4. Arraste os dois botões para o objeto ButtonBillboard, tornando-os objetos filhos desse objeto.

5. Com o objeto ButtonBillboard selecionado no Inspector, clique em Add Component -> Billboard. O componente Quadro de avisos pode ser encontrado usando a barra de pesquisa. O script Billboard do Mixed Reality Toolkit torna o objeto constantemente voltado para a câmera e é frequentemente usado para elementos da interface do usuário.

6. Você precisa obter a seguinte estrutura para o outdoor:



Para facilitar a distinção entre os botões de reprodução e pausa, você pode substituir os ícones padrão por outros. Isso pode ser feito de várias maneiras, mas usaremos o mais simples, dado o tamanho do nosso projeto.

1. Com um PlayButton selecionado, role o Inspector para baixo até o componente Compound Button Icon.

2. Marque a caixa de seleção Substituir ícone.

3. Arraste o sprite Start da pasta Assets -> Textures para a propriedade Override Icon do componente Icon Button Compound.

4. Repita essas etapas para o objeto PauseButton usando o sprite Pause.



Adicionando som surround


Agora temos um alto-falante que pode ser ligado, desligado e movido pela sala de estar virtual. No entanto, não temos um som espacial que aprimore o efeito de presença em nossa aplicação.

No Unity, o som espacial é implementado usando o plug-in Spatializer. Os arquivos de plug-in fazem parte do Unity, por isso é fácil implementar som espacial.

1. Vá para a seção Editar -> Configurações do projeto -> Áudio (Editar -> Configurações do projeto -> Som).

2. Para o parâmetro Spatializer Plugin, altere o valor de None para MS HRTF Spatializer.

Como o sistema de som surround da Microsoft atualmente suporta apenas uma taxa de amostragem de 48.000 Hz, a Taxa de amostragem do sistema também deve ser definida como 48.000 (se ainda não estiver concluída) para impedir a falha do HRTF.



Agora você precisa definir as configurações para o próprio clipe de som.

1. No painel Hierarquia, selecione o objeto Alto-falante.

2. Role até o componente Fonte de áudio do painel Inspetor e marque a caixa de seleção Espacializar.

3. Para o parâmetro Spatial Blend, selecione 3D (o valor numérico é 1).

4. Expanda o menu Configurações de som 3D.

5. Para definir as configurações ideais de som 3D para nosso aplicativo, defina o valor Logarithmic Rolloff para o parâmetro Volume Rolloff e defina o parâmetro Min Distance como 3.

6. Com o Alto-falante selecionado, clique em Adicionar componente -> Emissor de áudio. Esta é uma classe no Mixed Reality Toolkit que usa o componente AudioSource conectado e o subconjunto de filtro de som Unity para aplicar e controlar efeitos sonoros, como absorção.



Salvar e executar


Agora nosso orador está completamente pronto. Vamos transformá-lo em uma pré-fabricada.

1. Arraste o objeto Speaker para a pasta Assets -> Prefabs para transformá-lo em uma pré-fabricada.

Transformando o alto-falante em uma pré-fabricada, criaremos um objeto que pode ser reutilizado. Depois disso, seremos capazes de criar qualquer número de instâncias de alto-falante para nossa cena ou outras cenas deste projeto.

Agora vamos salvar a cena (pressionando Ctrl + S) e executá-la para ver os resultados do nosso trabalho.

Agora podemos fazer muitas coisas interessantes:

  • toque e pare o som;
  • aproxime o alto-falante de si mesmo, percebendo que o som está ficando mais alto e mais claro;
  • afaste o alto-falante de você, notando que o volume do som é reduzido.

Não esqueça que você pode se teletransportar para vários pontos da sala pressionando o botão “Avançar” no macacão e selecionando o ponto no chão em que deseja ir. Dessa forma, você pode se afastar mais do alto-falante.

O original
Autores: Eric Ahlstrom, cbarkerms, Madison Hight

Source: https://habr.com/ru/post/pt418663/


All Articles