GUIA

Texto em fala no Unity: falas de diálogo e voz durante o jogo

Um jogo no Unity precisa de falas com voz muito antes de ter elenco: para protótipos, diálogos provisórios, tutoriais e equipes pequenas que nunca vão reservar um estúdio. O texto em fala dá voz a cada fala no dia em que ela é escrita e a refaz em segundos quando o roteiro muda.

O motor gratuito SuperClonica gera voz offline num processador comum. Este guia mostra as duas formas de usá-lo com o Unity, clipes gerados antes e voz durante o jogo a partir de C#, e quais vozes você pode lançar.

Duas formas de dar voz a um jogo no Unity

O computador de um jogador não vai rodar um servidor de voz, então um jogo single-player lançado deve incluir os clipes.

  • Clipes gerados antes: dê voz a cada fala durante o desenvolvimento e lance os WAV como AudioClips comuns. Nada extra roda no computador do jogador.
  • Voz durante o jogo: o jogo envia texto a um servidor da SuperClonica e toca a resposta. Serve para ferramentas do editor, protótipos e jogos online com servidor próprio.
  • Nos dois casos, a voz é gerada num processador comum, sem cobrança por caractere.
  • O modelo fala 31 idiomas; o chinês ainda não é suportado.

Escolha vozes grátis

Na página de qualquer voz, escreva uma fala do seu NPC, de 30 a 100 caracteres, escolha o idioma e clique no botão para gerar. Em poucos segundos você ouve se a voz combina com o personagem, sem conta.

Gere os diálogos antes

O mesmo texto, voz e seed sempre geram o mesmo áudio, então regenere só as falas que mudaram e guarde no repositório o script, não o áudio.

  • Instale o motor: python -m pip install superclonica-cpu.
  • Guarde as falas numa tabela com id, idioma e texto.
  • Um script curto percorre a tabela: superclonica --text "Bem-vindo à vila!" --voice npc.json --lang pt --output Assets/Audio/Lines/npc_greeting_01.wav.
  • O Unity importa sozinho os WAV novos dentro de Assets; use Decompress On Load para falas curtas e Streaming para narrações longas.

Voz durante o jogo a partir de C#

Inicie o servidor em qualquer processador: docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu. Depois chame-o com o UnityWebRequest embutido, sem pacotes: [Serializable] class Line { public string text; public string voice; public string lang; } — depois, numa corrotina: var req = new UnityWebRequest("http://localhost:8000/synthesize", "POST"); req.uploadHandler = new UploadHandlerRaw(Encoding.UTF8.GetBytes(JsonUtility.ToJson(new Line { text = "Bem-vindo de volta!", voice = "F1", lang = "pt" }))); req.downloadHandler = new DownloadHandlerAudioClip(req.url, AudioType.WAV); req.SetRequestHeader("Content-Type", "application/json"); yield return req.SendWebRequest(); source.PlayOneShot(DownloadHandlerAudioClip.GetContent(req)); Uma frase curta leva cerca de meio segundo num processador; guarde em cache os clipes de falas que se repetem. Nunca coloque uma chave de API na build do jogo, de onde jogadores podem extraí-la: deixe o seu próprio servidor de jogo chamar o servidor de voz.

Vozes que você pode lançar

Para protótipos, qualquer voz do catálogo serve. Para um jogo lançado, use uma voz sobre a qual tem direitos: as dez vozes padrão do modelo, de M1 a M5 e de F1 a F5, a sua própria voz treinada no estúdio da SuperClonica a partir de uma gravação limpa de 5 a 10 segundos de um ator que concordou, num computador com placa de vídeo NVIDIA, ou uma voz encomendada na bolsa. Vozes de personagens feitas por fãs são para paródias e jogos de fã, não para jogos comerciais.