Aprendendo a programar jogos em Unity: preparando o terreno para implementar sons no jogo

Iniciaremos os ajustes necessários no projeto para utilizarmos efeitos sonoros e trilhas em nosso jogo.

em 28/12/2025
Seja bem-vindo(a) ao GameDev: Aprendendo a programar jogos em Unity! Após realizarmos, em nosso encontro anterior, ajustes importantes para o processo de coleta e de devolução de pílulas nas prateleiras do consultório, iniciaremos hoje a configurar GameObjects e componentes para que possamos utilizar trilhas e efeitos sonoros durante as diferentes etapas de nosso game.

Se esta for a primeira vez que você acessa o conteúdo de nossa série, aproveite a oportunidade e conheça mais sobre nossa jornada de aprendizados no incrível mundo do desenvolvimento de jogos digitais. Por meio da elaboração de projetos práticos de programação de games, a cada encontro estamos aprendendo mais sobre como a ferramenta Unity pode nos auxiliar a tirar do papel jogos dos mais variados tipos de estilos gráficos e de gameplay.

A partir do primeiro texto de nossa série, você poderá aprender a partir “do zero” a transformar uma ideia de uma aventura digital em um game de verdade. E, quando dizemos que é a partir “do zero”, pode confiar que não se trata apenas de força de expressão, pois abordamos desde a instalação e a configuração da ferramenta Unity em nossos computadores até os passos necessários para que, de fato, nossas ideias sejam concretizadas em formato de um jogo, tais como a elaboração de fases e de desafios, codificação das regras e formulação das interações entre personagens, objetos e demais elementos de um cenário.

Até o momento, dois games 2D já tiveram seu desenvolvimento concluído em nossa série. Trata-se de Forest Ping Pong, uma homenagem “florestal” ao clássico Pong (Atari, 1972), e de Motorista da Pesada, um platformer cujo desenvolvimento de gameplay se inspirou em conceitos vistos no arcade City Connection (Jaleco, 1985).

Estamos trabalhando no momento na elaboração de Consultório do Dr. Tratanildo: um puzzle ambientado em um consultório médico 3D cuja concepção de gameplay se inspira em clássicos dos anos 1980 e 1990, tais como Pac-Man (Namco, 1980) e Dr. Mario (Nintendo, 1990). Por meio do índice disponibilizado no primeiro texto da série você pode conferir tudo sobre a construção dos dois primeiros games, além de acompanhar as etapas prévias de elaboração do terceiro jogo.



E então, o que você achou da ideia de poder ver as aventuras que sempre habitaram sua mente tornando-se realidade por suas próprias mãos? Se gostou da proposta, não perca mais tempo e junte-se a nós nesta jornada repleta de novos conhecimentos e de muita diversão!

Ouvidos em cena

É inegável o fato de que o uso adequado de trilhas e efeitos sonoros em um game pode aumentar a imersão do jogador e marcar positivamente sua experiência. Por isso, em Consultório do Dr. Tratanildo  também lançaremos mão do uso de diferentes sons e músicas para abrilhantar a aventura de Tratanildo Doencita em seu excêntrico consultório médico.

O primeiro passo para iniciarmos a configuração dos recursos sonoros em nosso game envolverá a adição de determinados objetos à estrutura do cenário principal, além de ajustes que serão aplicados às configurações de determinados GameObjects preexistentes no projeto. Vamos iniciar nossas intervenções abrindo nosso projeto para edição: no Unity Hub, clique duas vezes sobre o item referente a ele. Na interface inicial do editor, na aba Project, abra a pasta AssetsScenes e, por fim, clique duas vezes no ícone da cena ConsultorioScene.

Inicialmente, realizaremos um ajuste para sanar um alerta que o editor do Unity costuma nos mostrar em determinadas simulações de execução do jogo. Você pode ter percebido a presença da seguinte mensagem na barra inferior do editor, em alguma das experimentações que realizamos em nossos encontros anteriores:

Essa mensagem de alerta indica a necessidade de termos em cena cena apenas um componente do tipo Audio Listener ativo. Esse componente atua como se fossem “orelhas virtuais” dentro de um cenário, repassando ao áudio do dispositivo do jogador os sons que estejam sendo captados ao redor daquele ponto do cenário. 

Para jogos em que os efeitos sonoros são realizados de forma localizada, tais como tiros, passos e bombas em um shooter 3D, o indicativo de quão próximo o efeito sonoro está ocorrendo é importantíssimo ao jogador. Para atenuar a dificuldade de não se conseguir “enxergar” um defeito dessa natureza durante o desenvolvimento do jogo, o editor do Unity nos alerta durante a simulação da execução os momentos em que dois ou mais Audio Listeners estavam ativos.

Em nosso game, não utilizaremos efeitos sonoros especificamente localizados no cenário tridimensional, portanto, a utilização de um ponto fixo para o Audio Listener já nos atenderá. Porém, devido ao fato de que o comportamento padrão do Unity durante a criação de novas câmeras no cenário envolve a concessão de um componente do tipo Audio Listener ao novo objeto, teremos de realizar a remoção desses elementos de forma manual agora.

No campo de pesquisa da aba Hierarchy, digite o comando “t:AudioListener”, sem as aspas. Buscas iniciadas pelo termo “t:” retornam todos os elementos do tipo especificado, como os ouvintes que queremos remover.

Selecione todos os objetos destacados na lista da aba Hierarchy e, via aba Inspector, remova os componentes de tipo Audio Listener, clicando com o botão direito sobre seus respectivos títulos e, em seguida, selecionando a opção Remove Component.

Em seguida, limpe a caixa de pesquisa da aba Hierarchy, para que todos os GameObjects do cenário voltem a ser listados por lá. Ainda na aba Hierarchy, crie um novo objeto vazio, concedendo-lhe o nome de “AudioAdmin”. Todos os valores de Position e Rotation de seu componente Transform devem ser zerados:

Ainda com AudioAdmin em evidência, via aba Inspector insira um componente do tipo Audio Listener, por intermédio do botão Add Component presente no final da listagem da aba.

Pronto, agora já temos o ouvinte virtual perfeito para nossas necessidades auditivas. Entretanto, seu papel não ficará restrito apenas a esta configuração simples, pois utilizaremos AudioAdmin como um verdadeiro “maestro” em nossa cena ao subordinarmos a si novos objetos que criaremos em cena, contendo atrelados a eles referências aos diferentes áudios presentes em nosso projeto.

Configurando os Audio Sources

Novamente na aba Hierarchy, clique com o botão direito sobre o GameObject AudioAdmin. No menu suspenso, selecione a opção Audio e, em seguida, Audio Source, conforme exemplificado pela imagem a seguir:

O nome do novo objeto criado será “FundoSonoro_01”. Certifique-se de que o objeto está subordinado a AudioAdmin e de que os valores de Position e Rotation de seu componente Transform estão zerados, além, é claro, da presença do componente Audio Source.

Repita a dose, criando novos objetos subordinados a AudioAdmin da mesma natureza que FundoSonoro_01. Por enquanto, necessitaremos dos objetos cujos nomes estão descritos a seguir:
  • FundoSonoro_01;
  • FundoSonoro_02;
  • EfeitoSonoro_01;
  • EfeitoSonoro_02.


Diferentes configurações serão concedidas aos componentes de tipo Audio Source atrelados a cada um dos novos GameObjects:
  • FundoSonoro_01:
    • AudioClip: conceda o áudio de nome “mushroom_dance” ao campo;
    • Play On Awake: deixe a caixa de seleção vazia (false);
    • Loop: deixe a caixa de seleção marcada (true);
    • Volume: conceda o valor 0.8 ao campo.
Pelas configurações que concedemos a FundoSonoro_01, é possível notar que o áudio não tocará de imediato, porém, a partir de sua execução, deverá persistir em loop até que seja concedido um comando de parada. 
  • FundoSonoro_02:
    • AudioClip: conceda o áudio de nome “caffeine_crazed_coin-op_kids” ao campo;
    • Play On Awake: deixe a caixa de seleção vazia (false);
    • Loop: deixe a caixa de seleção marcada (true);
    • Volume: conceda o valor 0.3 ao campo.
Veja que, apesar das configurações semelhantes às utilizadas para o primeiro objeto configurado, realizamos uma redução substancial no valor de volume para o áudio em questão. Esta intervenção ocorreu para nivelar a intensidade sonora dos dois elementos, visto que há uma diferença significativa entre os arquivos utilizados como fontes para os Audio Sources

Caso queira observar esta diferença, por meio da aba Project abra as pastas Assets, Multimedia e, por fim, Audios. Note a diferença de amplitude entre os dois arquivos em destaque:

  • EfeitoSonoro_01:
    • AudioClip: conceda o áudio de nome “coleta” ao campo;
    • Play On Awake: deixe a caixa de seleção vazia (false);
    • Loop: deixe a caixa de seleção vazia (false);
    • Volume: conceda o valor 0.5 ao campo.
Diferentemente do que se espera para um fundo sonoro, os efeitos sonoros não tocarão em loop após serem executados pela primeira vez.
  • EfeitoSonoro_02:
    • AudioClip: conceda o áudio de nome “somDecrescente” ao campo;
    • Play On Awake: deixe a caixa de seleção vazia (false);
    • Loop: deixe a caixa de seleção vazia (false);
    • Volume: conceda o valor 0.5 ao campo.
Agora, já temos elementos o suficiente para implementarmos o subsistema sonoro do núcleo de nosso jogo. Salve a cena (menu File, opção Save) e o projeto (menu File, opção Save Project) antes de fechar o Unity.

Próximos passos

Os primeiros passos para configurarmos os sons em nosso projeto já foram caminhados, mas ainda nos falta implementar algumas alterações no projeto para que a música possa rolar solta no consultório médico mais pirado do mundo virtual.

Em nosso próximo encontro, realizaremos alterações tanto em componentes de objetos quanto em scripts para que os áudios corretos sejam executados nos momentos adequados, dentro da estrutura de nossa aventura virtual.

Nosso próximo encontro será no dia 4 de janeiro de 2026. À quem nos lê de forma síncrona, desejamos um excelente ano novo, com muita saúde e paz. Até mais! Fique sempre ligado nas novidades do GameBlast!

Revisão: Ives Boitano
Siga o Blast nas Redes Sociais
Rodrigo Garcia Pontes
Entendo videogames como sendo uma expressão de arte e lazer e, também, como uma impactante ferramenta de educação. No momento, doutorando em Sistemas da Informação pela EACH-USP, desenvolvendo jogos e sistemas desde 2020. Se quiser bater um papo comigo, nas redes sociais procure por @RodrigoGPontes.
Este texto não representa a opinião do GameBlast. Somos uma comunidade de gamers aberta às visões e experiências de cada autor. Você pode compartilhar este conteúdo creditando o autor e veículo original (BY-SA 4.0).