• Jogos
  • Setor
  • Recursos
  • Comunidade
  • Aprendizado
  • Suporte
Desenvolvimento
Engine do Unity
Crie jogos 2D e 3D para qualquer plataforma
BaixarPlanos e preços
Monetização
Compra no aplicativo (IAP)
Descubra e gerencie IAP em todas as lojas
Mediation
Maximize a receita e otimize a monetização
Qualidade do anúncio
Proteja a experiência do usuário do seu aplicativo
Tapjoy
Construa lealdade do usuário a longo prazo
Todos os produtos de monetização
Aquisição de usuários
Aquisição de usuários
Seja descoberto e adquira usuários móveis
Unity Vector AI
Conecte jogadores com os jogos certos
Aura publicidade no dispositivo
Alcance usuários no dispositivo no pico de engajamento
Todos os produtos de crescimento
Casos de uso
Colaboração 3D
Construa e revise projetos 3D em tempo real
Treinamento imersivo
Treine em ambientes imersivos
Experiências do cliente
Crie experiências interativas em 3D
Todas as soluções da indústria
Setores
Manufatura
Alcançar excelência operacional
Varejo
Transformar experiências em loja em experiências online
Automotivo
Elevar a inovação e as experiências dentro do carro
Todos os setores
Biblioteca técnica
Documentação
Manuais do usuário oficiais e referências de API
Ferramentas de desenvolvedor
Versões de lançamento e rastreador de problemas
Roteiro
Revisar recursos futuros
Glossário
Biblioteca de termos técnicos
Insights
Estudos de caso
Histórias de sucesso do mundo real
Guias de melhores práticas
Dicas e truques de especialistas
Todos os recursos
Novidades
Blog
Atualizações, informações e dicas técnicas
Notícias
Notícias, histórias e centro de imprensa
Central da Comunidade
Discussões
Discutir, resolver problemas e conectar
Eventos
Eventos globais e locais
Histórias da comunidade
Made with Unity
Mostrando criadores do Unity
Transmissões ao vivo
Junte-se a desenvolvedores, criadores e insiders
Prêmios Unity
Celebrando criadores do Unity em todo o mundo
Para todos os níveis
Unity Learn
Domine habilidades do Unity gratuitamente
Treinamento profissional
Aprimore sua equipe com treinadores do Unity
É iniciante no Unity?
Conceitos básicos
Inicie seu aprendizado
Caminhos Essenciais do Unity
É iniciante no Unity? Comece sua jornada
Tutoriais
Dicas práticas e melhores práticas
Educação
Para estudantes
Impulsione sua carreira
Para educadores
Impulsione seu ensino
Concessão de Licença Educacional
Leve o poder do Unity para sua instituição
Certificações
Prove sua maestria em Unity
Opções de suporte
Obter ajuda
Ajudando você a ter sucesso com Unity
Planos de sucesso
Alcance seus objetivos mais rápido com suporte especializado
Perguntas frequentes
Respostas para perguntas comuns
Entre em contato conosco
Conecte-se com nossa equipe
Planos e preços
Idioma
  • English
  • Deutsch
  • 日本語
  • Français
  • Português
  • 中文
  • Español
  • Русский
  • 한국어
Social
Moeda
Comprar
  • Produtos
  • Unity Ads
  • Assinatura
  • Unity Asset Store
  • Revendedores
Educação
  • Estudantes
  • Educadores
  • Instituições
  • Certificação
  • Learn
  • Programa de Desenvolvimento de Habilidades
Baixar
  • Unity Hub
  • Arquivo de download
  • Programa beta
Unity Labs
  • Laboratórios
  • Publicações
Recursos
  • Plataforma de aprendizado
  • Comunidade
  • Documentação
  • Unity QA
  • Perguntas frequentes
  • Status dos Serviços
  • Estudos de caso
  • Made with Unity
Unity
  • Nossa empresa
  • Boletim informativo
  • Blog
  • Eventos
  • Carreiras
  • Ajuda
  • Imprensa
  • Parceiros
  • Investidores
  • Afiliados
  • Segurança
  • Impacto social
  • Inclusão e Diversidade
  • Entre em contato conosco
Copyright © 2025 Unity Technologies
  • Informações legais
  • Política de Privacidade
  • Cookies
  • Não venda nem compartilhe minhas informações pessoais

“Unity”, logotipos Unity e outras marcas comerciais de Unity são marcas comerciais ou marcas comerciais registradas da Unity Technologies ou de suas afiliadas (mais informações aqui). Outros nomes e marcas são marcas comerciais de seus respectivos detentores.

Hero background image

Dicas para construir controladores de animador no Unity

Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.
Clique aqui.

Crie controladores de animador para seus personagens como você faria com um script – para que sejam simples o suficiente para reutilizar, suportar e depurar ao longo do ciclo de desenvolvimento.

Todas as capturas de tela abaixo vêm da animação do personagem Henry em Firewatch da Campo Santo.

  • Oculte a complexidade em Árvores de Mistura
  • Pense em camadas como uma classe de script
  • Reutilize padrões
  • Hub e spoke
  • Padrão de entrada compartilhada/saída compartilhada
  • Padrão de seção crítica e estabilização
  • Não escreva código complexo dentro dos Comportamentos da Máquina de Estados
  • Use Comportamentos da Máquina de Estados para garantir que os Eventos de Animação sempre sejam acionados
  • Mais recursos
Imagem da Árvore de Mistura

Oculte a complexidade em Árvores de Mistura

As Árvores de Mistura são ótimas para ocultar complexidade. Uma Árvore de Mistura não tem estado, pois não chama de volta para o código. Ela mistura entre os diferentes clipes com base nos parâmetros que você define.

A importância disso é que você pode iterar em Árvores de Mistura sem se preocupar em quebrar o resto do seu jogo. Você pode ocultar uma teia complexa de estados e evitar bugs no futuro porque não pode vincular o comportamento à maioria das animações em uma Árvore de Mistura.

Estados do animador

Pense em camadas como uma classe de script

Ajuda pensar em camadas como uma classe em um script. Você quer que tudo em uma camada sirva tanto à mesma função lógica quanto comportamental. Isso ocorre porque cada camada individual controla quais outras camadas ela substitui - se afeta ou não certos ossos, se essa camada é aditiva, e assim por diante.

Reutilize padrões

Padrões lógicos e reutilizáveis em máquinas de estado e subestado aceleram o desenvolvimento, facilitam a depuração e podem reduzir bugs, tudo isso permitindo que várias pessoas criem conteúdo semelhante.

As seções a seguir apresentam padrões que são úteis para estruturar suas camadas.

Animadores de hub e spoke

Hub e spoke

Esse padrão facilita a depuração, pois você pode ver claramente as transições saindo e voltando para o estado vazio. Cada spoke do hub deve redefinir qualquer estado que tocar.

Spokes são candidatos sólidos para criar máquinas de subestado usando os seguintes padrões.

Animadores de entrada e saída

Padrão de entrada compartilhada/saída compartilhada

Agrupando estados em um padrão de "intro" - execução/loop - "outro", você pode anexar de forma limpa quaisquer Eventos de Animação ou Comportamentos de Máquina de Estado aos estados de intro e outro. Assim como uma Árvore de Mistura, você pode iterar e mudar os estados internos de execução/loop sem se preocupar em quebrar seu jogo.

Padrão de seção e settle

Padrão de seção crítica e estabilização

Para animações interrompíveis, especialmente animações impulsionadas por entrada do jogador, divida seu clipe em duas partes. Primeiro, mantenha uma seção crítica que contenha todas as mudanças de estado, efeitos e danos que devem sempre ser executados até a conclusão. Em segundo lugar, crie uma animação de settle que pareça boa ao voltar ao estado ocioso e que possa ser interrompida por novas entradas.

Uma vez que suas animações se comportem e apareçam como desejado, você precisa retroalimentar o estado de seus animadores no estado do seu jogo. Veja as seções a seguir para alguns pontos-chave a serem lembrados.

Não escreva código complexo dentro dos Comportamentos da Máquina de Estados

Comportamentos de Máquina de Estado são trechos de código que você pode anexar a qualquer Estado de Animação. Use-os para vincular comportamentos diretamente ao estado do animador em si.

Evite escrever código de jogabilidade complexo dentro deles, pois pode ser difícil rastrear de onde estão vindo suas mudanças de estado. Se você estiver usando Comportamento de Máquina de Estado para conduzir código de jogabilidade, aproveite um sistema de mensagens; converse com uma classe gerenciadora ou acione seu código a partir de parâmetros em um nível mais alto.

Debug.Break() é um dos comportamentos de máquina de estado mais eficazes que você pode usar. Anexe-o em qualquer lugar na sua configuração de animação e você terá um ponto de interrupção semelhante ao de um sistema de script visual.

Use código C# onde apropriado. Em vez de gerenciar centenas ou milhares de transições, ou conectar transições de AnyState por toda parte, use Animator.Play ou Animator.CrossFade para criar transições diretas dinamicamente a partir do código. Se isso ainda não for controle suficiente para você, veja a API Playables do Unity para mais maneiras de animar usando código. Alguns exemplos podem ser encontrados aqui.

Comportamentos de Máquina de Estado

Use Comportamentos da Máquina de Estados para garantir que os Eventos de Animação sempre sejam acionados

Eventos de Animação vinculam um momento específico do seu Clip de Animação a uma mudança específica de estado no seu jogo. Eles podem ser usados para acionar elementos como efeitos visuais e sonoros. No entanto, se você transitar para fora de um clip antes que ele seja acionado, então ele nunca será acionado. Uma maneira de resolver isso é adicionar um Comportamento de Máquina de Estado que garante que o evento sempre seja acionado quando um ponto específico no tempo for alcançado, não importa o que mais aconteça (ou não aconteça) no jogo.

Mais recursos

Ferramentas e fluxos de trabalho principais do Unity para artistas técnicos

Animações mais bem avaliadas na Asset Store

Estudos de caso de jogos

E-books e guias gratuitos do Unity