Animator
Máquina de estados: parâmetros, transições, misturas e camadas
Família: Animação · Grupo: Máquina de estados · Identificador: astra.animation.animator · Payload: 1
Para que usar
Seção intitulada “Para que usar”Escolhe e mistura clipes por uma máquina de estados. Use para repouso, andar, correr e salto de um modelo que já tem animações importadas.
Selecione a raiz do modelo → adicione Animator em Animação → Máquina de estados. Remova Animação legada do mesmo objeto. No cartão, toque Abrir grafo do Animator; em Play, o grafo mostra estado e parâmetros somente para leitura.
Criar e configurar
Seção intitulada “Criar e configurar”Hierarquia → selecione o objeto → Inspector → Adicionar componente → Animação / Máquina de estados → Animator.
O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é Astra.Components.Animator.
Campos que ficam no grafo
Seção intitulada “Campos que ficam no grafo”A tabela automática abaixo cobre o cartão básico; não cobre as coleções do grafo. Abra-o para configurar:
| Área | Caminho e uso |
|---|---|
| Parâmetros | Coluna esquerda → + Float/Int/Bool/Gatilho; toque nome e padrão. O tipo deve corresponder ao setter C#. |
| Estados | + Estado → seleção → lado direito: Clipe/Mistura 1D/Mistura 2D, clipes reais, limiares ou posições X/Y. Padrão escolhe a entrada. |
| Transições | Transição → origem ou Qualquer estado → destino; configure duração, tempo de saída e condições. Sem condição correta, o parâmetro sozinho não muda o estado. |
| Camadas | + camada → peso e máscara de subárvore. Camadas são de substituição, sem adição. |
| Eventos | Estado → + evento → tempo normalizado 0–1 e marca numérica entregue ao script. Não é um nome de método arbitrário. |
Limites autorais: 32 parâmetros, 4 camadas, 24 estados e 48 transições por camada, 8 clipes por estado, 4 condições por transição e 8 eventos por estado. Nomes até 63 caracteres. Salve a cena; o grafo pertence ao componente, não a um controller asset separado. Undo/Redo vale para a autoria.
Guia relacionado: Grafo, código e evidências
Exemplo de uso
Seção intitulada “Exemplo de uso”Crie Float Velocidade e um estado Mistura 1D. Atribua clipes reais de repouso/andar/correr nos limiares 0 / 1 / 2, escolha Velocidade como parâmetro e marque esse estado como Padrão. Em um Behavior, Object.Animator().SetFloat(“Velocidade”, 1.5f) seleciona a mistura; o Animator não mede a velocidade do corpo por conta própria.
Dependências
Seção intitulada “Dependências”Nenhuma regra adicional declarada no schema deste componente.
Conflitos
Seção intitulada “Conflitos”- Animação: Animator e Animação escreveriam a mesma pose; use um dos dois neste objeto
Edição e ciclo de vida
Seção intitulada “Edição e ciclo de vida”| Operação | Contrato |
|---|---|
| Adicionar/remover em Play | ponto seguro |
| Alterar propriedades em Play | ponto seguro |
| Múltiplas instâncias | Não |
| Versão do payload | 1 |
Alterações em ponto seguro são aplicadas entre passos da simulação. Um componente exigido por outro não pode ser removido enquanto a dependência existir. Salvar a cena autoral e modificar o mundo de Play são operações distintas; veja Play e cena autoral.
Propriedades
Seção intitulada “Propriedades”Valores abaixo são resolvidos pelo descritor de um componente recém-criado. Campos por slot dependem dos recursos atribuídos. Um campo sem padrão significa que o descritor não fornece um valor independente de contexto.
Animator
Seção intitulada “Animator”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Velocidadespeed |
número · × | 1 | -10 … 10 |
Ativoenabled |
booleano | verdadeiro | verdadeiro | falso |
Ignorar escala de tempounscaled_time |
booleano | falso | verdadeiro | falso |
Raiz animadatarget |
referência | Este objeto | qualquer objeto |
Velocidade · speed
Onde: Inspector → Animator → Animator → Velocidade.
Uso e efeito: Multiplica o tempo de todos os estados
Valor: 1 · Tipo: número · Unidade: × · Domínio: -10 … 10.
Aceita tween numérico via contrato de propriedade. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: animation.clip; veja estado do renderer.
Ativo · enabled
Onde: Inspector → Animator → Animator → Ativo.
Uso e efeito: Desligado congela a pose atual; parâmetros e estados são preservados
Valor: verdadeiro · Tipo: booleano · Domínio: verdadeiro | falso.
Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: animation.clip; veja estado do renderer.
Ignorar escala de tempo · unscaled_time
Onde: Inspector → Animator → Animator → Ignorar escala de tempo.
Uso e efeito: Anima em tempo real mesmo com o jogo pausado por escala (menus, cutscenes)
Valor: falso · Tipo: booleano · Domínio: verdadeiro | falso.
Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: animation.clip; veja estado do renderer.
Raiz animada · target
Onde: Inspector → Animator → Animator → Raiz animada.
Uso e efeito: Objeto cuja hierarquia os clipes animam (o modelo importado)
Valor: Este objeto · Tipo: referência · Domínio: qualquer objeto.
Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: animation.clip; veja estado do renderer.
Roadmap deste componente
Seção intitulada “Roadmap deste componente”Animação e deformação. Clipe, misturas 1D/2D, camadas de substituição, condições, eventos e grafo estão na 0.2.3. Pendentes: root motion, sub-máquinas, interrupção e camadas aditivas; sem data prometida.
Os campos acima pertencem ao contrato existente; novas funções dependem do fechamento da família. Não há datas individuais prometidas para cada propriedade.
Conferir na sua cena
Seção intitulada “Conferir na sua cena”- Crie Animator pelo fluxo indicado e resolva as dependências.
- Altere uma propriedade por vez e observe o efeito esperado na cena.
- Salve, reabra e confira os valores autorais.
- Entre em Play e verifique o comportamento com os recursos reais do projeto.
- Pare o Play e confira a cena autoral.
Este é um roteiro de conferência; não representa um teste executado nesta publicação.
Limitações da referência
Seção intitulada “Limitações da referência”A tabela cobre os tipos de propriedade disponíveis no descritor de reflexão. Não presume persistência de campos transitórios, equivalência com outras engines ou suporte em todos os aparelhos. Recursos, coleções e operações podem exigir APIs específicas.
Referência de arquitetura registrada pela engine: documentação oficial. Essa referência não representa paridade funcional.
Comandos e leituras em Play
Seção intitulada “Comandos e leituras em Play”Os IDs abaixo são operações nativas do componente existente. Não são novos botões de autoria. Use a fachada C# correspondente para nomes e assinaturas; Conexão de evento oferece as ações compatíveis no seletor. Confira o componente e o mundo vivos antes de chamar.
| Operação / ID | Uso e efeito | Argumentos | Retorno |
|---|---|---|---|
Em transição · in_transition |
Verdadeiro enquanto a camada base mistura dois estados | Nenhum | booleano |
Assinaturas da fachada Animator
Eventos do componente
Seção intitulada “Eventos do componente”No Behavior, a fachada permite inscrever um receptor usando o owner vivo; a inscrição pertence ao lifecycle daquela execução. Uma Conexão de evento precisa de emissor, evento, receptor e ação: adicionar a conexão não define a regra do jogo.
| Evento / ID | Quando ocorre | Dados enviados |
|---|---|---|
Entrou no estado · state_entered |
Emitido quando um estado começa (no início da transição para ele) | Camada: inteiro; Estado: inteiro |
Evento do estado · state_event |
Emitido quando o tempo do estado passa por um evento marcado nele | Camada: inteiro; Estado: inteiro; Marca: inteiro |