Objetos de áudio

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Os objetos de áudio modulares do Roblox permitem que você tenha controle dinâmico sobre o chat de som e voz em suas experiências.Quase todos os objetos de áudio correspondem a um dispositivo de áudio do mundo real e todos funcionam juntos para capturar e reproduzir áudio como seus equivalentes físicos.

Por exemplo, cada objeto de áudio cai conceitualmente nas seguintes categorias:

  • Objetos que produzem streams de áudio, como players de áudio.
  • Objetos que consumem streams de áudio, como emissores de áudio.
  • Objetos que modificam streams de áudio, como efeitos de áudio.
  • Objetos que carregam streams de áudio de um objeto de áudio para outro, como fios.

Ao ler este guia e aprender sobre como todos esses objetos de áudio funcionam juntos para emitir som, você aprenderá a capturar e alimentar com precisão a música, efeitos sonoros e a voz humana da experiência para o jogador e vice-versa.

Reproduzir áudio

Para reproduzir áudio dentro da sua experiência, é importante entender o papel de cada Objetode áudio disponível:

  • Um carrega e toca o arquivo de áudio usando um ID de recurso de áudio definido.
  • Um AudioEmitter é um orador virtual que emite áudio para o ambiente 3D.
  • Um AudioListener é um microfone virtual que captura áudio do ambiente 3D.
  • Um AudioDeviceOutput é um dispositivo físico de hardware dentro do mundo real, como um alto-falante ou fones de ouvido.
  • Um AudioDeviceInput é um microfone físico dentro do mundo real.
  • Um Wire carrega fluxos de áudio de um objeto de áudio para outro.

Como você combina esses objetos de áudio juntos depende se você quer emitir áudio diretamente para o alto-falante ou fones de ouvido do jogador ou de objetos no espaço 3D.As seções a seguir detalham ambos os cenários.

Áudio 2D

Áudio de 2D é um som não direcional que toca de nenhum local específico, permanecendo com o mesmo volume, independentemente da posição ou orientação do jogador no espaço 3D.Esse tipo de áudio requer três objetos de áudio:

  • Um reprodutor de áudio para produzir um streamde áudio.
  • Um dispositivo físico de hardware para reproduzir o stream de áudio no mundo real.
  • Um fio para carregar o fluxo de áudio do reprodutor de áudio para o dispositivo de saída.

Para demonstrar como configurar esses objetos de áudio no Studio para áudio de 2D, o seguinte diagrama compara cada objeto com seu contraponto de dispositivo de áudio do mundo real.Em resumo:

  • O AudioPlayer carrega e toca o seu recurso de áudio com configurações especificadas.
  • O AudioDeviceOutput permite que o jogador ouça o áudio através do alto-falante ou fones de ouvido.
  • O Wire conecta-se ao reprodutor de áudio com sua propriedade SourceInstance e ao dispositivo físico com sua propriedade TargetInstance.Em seguida, atua como uma ponte para carregar o fluxo de áudio do reprodutor de áudio para o dispositivo de saída do jogador.

Para tocar áudio não direcional:

  1. Na janela Explorer , navegue até Serviço de Som , então
    1. Insira um objeto Reprodutor de Áudio para criar uma originalde áudio.
    2. Insira um objeto Saída de Dispositivo de Áudio para criar um alto-falante que toque durante toda a experiência.
    3. Insira um objeto Fio para conectar o stream do reprodutor de áudio ao altofalante.
  2. Selecione o Reprodutor de Áudio , então na janela Propriedades ,
    1. Defina ID de Recurso para um ID de recurso de áudio válido. Se você não tiver seu próprio áudio personalizado, você pode encontrar recursos de áudio gratuitos na Loja do Criador.
    2. Ative Looping se você quiser que seu áudio se repita continuamente.
    3. Defina Volume para a unidade de amplitude que você deseja tocar seu áudio.
  3. Selecione o Fio , então na janela Propriedades ,
    1. Defina SourceInstance para o Reprodutor de Áudio para especificar que você deseja reproduzir o áudio dentro desse jogadorde áudio específico.
    2. Defina TargetInstance para o AudioDeviceOutput para especificar que você quer reproduzir o áudio a partir desse altofalanteespecífico.

A partir daqui, você pode ativar seu áudio não direcional com scripts para tocar quando os jogadores entram na experiência ou como resultado de um evento de jogabilidade ou interação de UI.Para referências de amostra de código para esses casos de uso, veja o TutorialAdicionar áudio 2D.

Áudio 3D

Áudio 3D é som direcional que toca de um local específico no espaço 3D, aumentando ou diminuindo o volume dependendo da posição e orientação do jogador para o som.Esse tipo de áudio requer seis objetos de áudio:

  • Um reprodutor de áudio para produzir um streamde áudio.
  • Um emissor de áudio para emitir o fluxo de áudio dentro do ambiente.
  • Um ouvinte para pegar o stream de áudio do ambiente.
  • Um dispositivo físico de hardware para reproduzir o stream de áudio no mundo real.
  • Dois fios: um para levar o fluxo de áudio do reprodutor de áudio para o emissor e outro para levá-lo do ouvinte para o dispositivo de saída.

Para demonstrar como configurar esses objetos de áudio no Studio para áudio 3D, o seguinte diagrama compara cada objeto com seu contraponto de dispositivo de áudio do mundo real.Em resumo:

  • O AudioPlayer carrega e toca o seu recurso de áudio com configurações especificadas.
  • A posição pai do AudioEmitter determina onde esse áudio é emitido dentro do ambiente.
  • O AudioListener pega o áudio do emissor da câmera local ou dentro do personagem do jogador Humanoid.RootPart, dependendo de onde você definir a posição padrão do ouvinte.
  • O AudioDeviceOutput permite que o jogador ouça o áudio através do alto-falante ou fones de ouvido.
  • O primeiro Wire conecta-se ao reprodutor de áudio com sua propriedade SourceInstance e ao emissor com sua propriedade TargetInstance.Em seguida, atua como uma ponte para carregar o fluxo de áudio do reprodutor de áudio para o emissor.
  • O segundo Wire conecta-se ao ouvinte com sua propriedade SourceInstance e ao dispositivo físico com sua propriedade TargetInstance.Em seguida, atua como uma ponte para carregar o fluxo de áudio do ouvinte para o dispositivo de saída do jogador.

Para tocar áudio posicional:

  1. Escolha onde você deseja criar um AudioListener quando os jogadores aparecem na experiência.

    1. Na janela Explorer , selecione Serviço de Som .
    2. Na janela Propriedades , defina ListenerLocation para um dos seguindo:
      • Padrão - Cria e pais o ouvinte para Workspace.CurrentCamera em experiências que ativam o chat de voz.
      • Nenhum - Não cria um ouvinte. Essa opção é útil se você quiser criar um ouvinte através de um script.
      • Personagem - Cria e pais um ouvinte para o personagem do jogador local.
      • Câmera - Cria e pais o ouvinte para Workspace.CurrentCamera .
  2. Na janela Explorer , navegue até o objeto 3D que você deseja emitir áudio, então:

    1. Insira um objeto Reprodutor de Áudio para criar uma originalde áudio.
    2. Insira um objeto Emissor de Áudio para emitir um fluxo posicional do Objeto3D.
    3. Insira um objeto Fio para conectar o stream do reprodutor de áudio ao emissor de áudio.
  3. Selecione o Reprodutor de Áudio , então na janela Propriedades ,

    1. Defina ID de Recurso para um ID de recurso de áudio válido. Se você não tiver seu próprio áudio personalizado, você pode encontrar recursos de áudio gratuitos na Loja do Criador.
    2. Ative Looping se você quiser que seu áudio se repita continuamente.
    3. Defina Volume para a unidade de amplitude que você deseja tocar seu áudio.
  4. Selecione o Emissor de Áudio , então, na janela Propriedades , defina Atenução de Distância para uma curva de volume sobre distância que determina quão alto o ouvinte ouve o emissor de acordo com a distância entre eles.

    Por exemplo, a seguinte curva diminui o volume do áudio em metade quando o ouvinte está a 50 metros de distância do emissor, então diminui fortemente o volume para zero quando o ouvinte está a 70 metros de distância.

  5. Selecione o Fio , então na janela Propriedades ,

    1. Defina SourceInstance para o Reprodutor de Áudio para especificar que você deseja reproduzir o áudio dentro desse jogadorde áudio específico.
    2. Defina TargetInstance para o Emissor de Áudio para especificar que você deseja reproduzir o áudio a partir deste emissor de áudio específico.

A partir daqui, você pode ativar seu áudio direcional com scripts para que ele seja tocado quando os jogadores se juntarem à experiência ou como resultado de um evento de jogabilidade ou interação de UI.Para referências de amostra de código para esses casos de uso, veja o TutorialAdicionar áudio 3D.

Personalizar áudio

Os efeitos de áudio permitem que você modifique ou melhore os streams de áudio de forma não destrutiva antes que eles cheguem aos ouvidos de um jogador.Você pode aplicar esses efeitos para tornar seu áudio mais imersivo dentro das experiências, como usar um objeto AudioEqualizer para tornar o som da chuva sufocado, um objeto AudioCompressor para controlar o volume máximo do som ou AudioReverb para adicionar reflexões mais realistas do som em espaços interiores.

Para instruções sobre como configurar efeitos de áudio, bem como comparações lado a lado antes e depois de você personalizar seu áudio, veja Efeitos de áudio.

Ativar áudio

Você pode ativar o áudio contextualmente a partir de um script chamando Play() em um objeto AudioPlayer que está corretamente ligado.Por exemplo, se você parente um script para um jogadorde áudio, você pode ativar o recurso de áudio através de algo como isso:


local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)

Para amostras de código mais complexas para disparar áudio, como para comentário/retornode jogabilidade, interações de UI e ruído de fundo de looping, veja os tutoriais Adicionar áudio 2D e Adicionar áudio 3D.