Esse cara criou um plug-in gratuito que fornece som Raytraced a Godot


Enrole, enrole, pessoal! Esta é uma maneira totalmente nova de derreter sua GPU! Isso mesmo, pessoal: vocês já ouviram falar em gráficos com ray tracing, mas já ouviram falar em som com ray tracing?
Com toda a seriedade, a ideia de traçado de raios para o som faz todo o sentido – afinal, tanto o som quanto a luz são ondas, ambos saltam pelos ambientes e são absorvidos e refletidos em graus variados por diferentes superfícies. O YouTuber Vercidium, cujo canal hospeda vídeos fascinantes sobre vários aspectos diferentes do desenvolvimento de jogos, já faz algum tempo que brinca com a ideia de áudio traçado por raio. Ele postou um vídeo sobre o assunto há cerca de um ano e agora lançou os frutos de seus experimentos como uma série de plug-ins gratuitos para Godot – você pode escolher entre versões de jogos 2D e 3D e entre versões implementadas em C# e GDScript (a linguagem de script nativa de Godot).
No vídeo de lançamento que acompanha, ele demonstra como funciona a implementação.
Se um objeto no mundo real emite um som ou emite luz, uma frente de onda esférica se dispersa para fora desse objeto. Dependendo do ambiente em que o objeto está alojado, partes da frente de onda podem ser refletidas, absorvidas, refratadas ou simplesmente continuar sem serem molestadas em direção ao pôr do sol. Se alguma onda chegar até nossos olhos e/ou ouvidos, nosso cérebro a perceberá como luz ou som.
Podemos simular esse processo com um computador. Para fazer isso, em vez de uma frente de onda contínua, simulamos a onda como um número de linhas que viajam para fora da fonte. Essas linhas são chamadas de raios. Se um raio encontrar uma superfície, dependendo da natureza dessa superfície, ele poderá ser refletido, parcialmente refletido ou completamente absorvido. Quanto mais raios lançarmos, mais precisa será a simulação.
No entanto, fazer as coisas desta forma é exigente e fundamentalmente ineficiente – especialmente no contexto de um jogo, onde tudo o que nos importa é se um determinado raio chega ou não ao nosso jogador. Portanto, tanto os gráficos com traçado de raio quanto o áudio com traçado de raio invertem o processo. Em vez de traçar o caminho de um raio da fonte até o jogador, lançamos os raios para fora do jogador e traçamos sua trajetória através do mundo do jogo. Em gráficos com traçado de raio, se um raio retornar à “fonte” dentro de um determinado número de rebatidas, ele contribuirá para o que nosso jogador pode ver. No áudio com traçado de raio, se ele retornar à fonte, contribuirá para o que nosso player pode ouvir.
Tal como acontece com os gráficos, existem vários fatores que contribuem para a precisão de uma simulação de áudio com traçado de raio. Além do número de raios, há também o número de vezes que um raio pode saltar antes de ser considerado expirado; quanto mais saltos, mais precisão, mas também mais exigente computacionalmente será a simulação. Porém, há um limite para isso – no mundo real, o som não ecoa para sempre. Cada vez que uma onda sonora real é refletida em alguma coisa, a menos que ela seja refletida em uma superfície perfeitamente refletiva – que realmente não existe no mundo real e, honestamente, graças a Deus por isso – parte de sua energia é perdida.
O Vercidium simula isso com um parâmetro de absorção, que pode ser ajustado por objeto ou definido de acordo com um dos 24 materiais padrão que acompanham o plugin: uma superfície macia como um pano absorverá mais energia do que uma dura como o concreto, então os materiais dos objetos de uma cena irão alterar seu ambiente audível, o que é muito legal. Há suporte para materiais personalizados e sons ambientes, e qualquer pessoa que tenha usado os nós de iluminação de Godot não deverá ter muitos problemas para navegar como configurar o sistema.
E como isso soa? Você pode julgar por si mesmo assistindo ao vídeo, mas aos nossos ouvidos parece bastante impressionante. Há um realismo inerente e imediato em ser capaz de dizer imediatamente de que direção um som se originou e em ser capaz de julgar sua distância pelo volume e pelas características sonoras. (O plugin também permite a visualização para jogadores com deficiência auditiva, o que é um toque bem-vindo.) É estranho que mais jogos não usem esse tipo de sistema; talvez uma solução pronta para uso como essa ajude de alguma forma a mudar isso.





