--- title: "Sistema de interação" version: snapshot-2026-10-16 engineGeneration: astra-current language: C# status: source-reviewed reviewedAt: 2026-10-16 appRelease: "0.3.1-preview.20261016" runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-16/componentes/astra-ik-interaction-system/ --- # Sistema de interação Leva a mão até objetos interagíveis **Família:** Lógica · **Grupo:** IK · **Identificador:** `astra.ik.interaction_system` · **Payload:** 5 :::note[Escopo da evidência] Este contrato foi extraído dos descritores compilados da engine, incluindo padrões resolvidos. A presença do contrato não substitui a validação do comportamento em um aparelho. ::: ## Para que usar Faz o personagem interagir com objetos interagíveis: alcança com as mãos, agacha e se inclina, olha para o objeto e carrega. Adicionado pelo **Carregar caixa** ou pelo Inspector (pelve, peito e mãos preenchidos pelo nome dos ossos). Por script, inicie a interação com um efetor e um objeto, ou deixe um Gatilho de interação automático começar. ## Criar e configurar Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Sistema de interação**. O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é [Astra.Components.InteractionSystem](/pt-br/snapshot-2026-10-16/api/astra-components-interactionsystem/). Velocidade escala os tempos do objeto; Ossos do membro é quantos ossos a mão arrasta; Olhar com Velocidade e Giro do olhar aponta a cabeça para o objeto enquanto alcança. Eventos `reached`, `released`, `entered` e `left` chegam aos scripts e às conexões. **Guia relacionado:** [Efeitos de IK e interação](/pt-br/desenvolvimento/2026-10-12/ik-efeitos-e-interacao/) · [Receitas de Personagem](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#criar--personagem) ## Exemplo de uso Com o Kyle dentro do gatilho da caixa, a interação começa sozinha: as mãos vão às pegadas, o corpo agacha conforme Agachar e Inclinar, a caixa sobe ao ponto de carregar. ## Dependências Nenhuma regra adicional declarada no schema deste componente. ## Conflitos Nenhuma regra adicional declarada no schema deste componente. ## 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 | 5 | 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](/pt-br/snapshot-2026-10-06/conceitos/play-e-cena-autoral/). ## 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. ### Interação | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Velocidade**](#field-speed)
`speed` | número | 1 | 0.1 … 5 | | [**Ossos do braço**](#field-limb-bones)
`limb_bones` | número · ossos | 2 | 2 … 8 | | [**Ativo**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso |

Velocidade · speed

**Onde:** Inspector → **Sistema de interação** → **Interação** → **Velocidade**. **Uso e efeito:** Escala os tempos do objeto. **Valor:** 1 · **Tipo:** número · **Domínio:** 0.1 … 5. Aceita tween numérico via contrato de propriedade.

Ossos do braço · limb_bones

**Onde:** Inspector → **Sistema de interação** → **Interação** → **Ossos do braço**. **Uso e efeito:** Ossos que a mão arrasta ao alcançar (2 = antebraço e braço). **Valor:** 2 · **Tipo:** número · **Unidade:** ossos · **Domínio:** 2 … 8. Aceita tween numérico via contrato de propriedade.

Ativo · enabled

**Onde:** Inspector → **Sistema de interação** → **Interação** → **Ativo**. **Uso e efeito:** Desligado, o componente fica na cena sem agir. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. ### Corpo | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Agachar até**](#field-crouch)
`crouch` | número · m | 0.5 | 0 … 2 | | [**Inclinar o tronco**](#field-lean)
`lean` | número | 0.5 | 0 … 1 | | [**Pelve**](#field-pelvis)
`pelvis` | referência | Sem agachar | qualquer objeto · abaixo deste objeto | | [**Peito**](#field-chest)
`chest` | referência | Sem inclinar | qualquer objeto · abaixo deste objeto |

Agachar até · crouch

**Onde:** Inspector → **Sistema de interação** → **Corpo** → **Agachar até**. **Uso e efeito:** Quanto o corpo agacha para alcançar baixo. **Valor:** 0.5 · **Tipo:** número · **Unidade:** m · **Domínio:** 0 … 2. Aceita tween numérico via contrato de propriedade.

Inclinar o tronco · lean

**Onde:** Inspector → **Sistema de interação** → **Corpo** → **Inclinar o tronco**. **Uso e efeito:** Quanto o corpo se inclina para alcançar longe. **Valor:** 0.5 · **Tipo:** número · **Domínio:** 0 … 1. Aceita tween numérico via contrato de propriedade.

Pelve · pelvis

**Onde:** Inspector → **Sistema de interação** → **Corpo** → **Pelve**. **Uso e efeito:** Osso da pelve (agachar). **Valor:** Sem agachar · **Tipo:** referência · **Domínio:** qualquer objeto · abaixo deste objeto.

Peito · chest

**Onde:** Inspector → **Sistema de interação** → **Corpo** → **Peito**. **Uso e efeito:** Osso do peito (inclinar). **Valor:** Sem inclinar · **Tipo:** referência · **Domínio:** qualquer objeto · abaixo deste objeto. ### Olhar | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Entrada do olhar**](#field-look-speed)
`look_speed` | número · /s | 2 | 0.1 … 20 | | [**Giro do olhar**](#field-look-turn)
`look_turn` | número · /s | 6 | 0.5 … 60 | | [**Olhar com**](#field-look-at)
`look_at` | referência | Sem olhar | qualquer objeto · abaixo deste objeto |

Entrada do olhar · look_speed

**Onde:** Inspector → **Sistema de interação** → **Olhar** → **Entrada do olhar**. **Uso e efeito:** Velocidade do olhar para o objeto. **Valor:** 2 · **Tipo:** número · **Unidade:** /s · **Domínio:** 0.1 … 20. Aceita tween numérico via contrato de propriedade.

Giro do olhar · look_turn

**Onde:** Inspector → **Sistema de interação** → **Olhar** → **Giro do olhar**. **Uso e efeito:** Giro máximo do olhar. **Valor:** 6 · **Tipo:** número · **Unidade:** /s · **Domínio:** 0.5 … 60. Aceita tween numérico via contrato de propriedade.

Olhar com · look_at

**Onde:** Inspector → **Sistema de interação** → **Olhar** → **Olhar com**. **Uso e efeito:** Osso que olha para o objeto. **Valor:** Sem olhar · **Tipo:** referência · **Domínio:** qualquer objeto · abaixo deste objeto. ### Início sem script | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Mão ao iniciar**](#field-auto-effector)
`auto_effector` | referência | Sem início automático | qualquer objeto · abaixo deste objeto | | [**Objeto ao iniciar**](#field-auto-object)
`auto_object` | referência | Sem objeto | qualquer objeto · fora da subárvore | | [**Segunda mão ao iniciar**](#field-auto-second)
`auto_second` | referência | Uma mão | qualquer objeto · abaixo deste objeto |

Mão ao iniciar · auto_effector

**Onde:** Inspector → **Sistema de interação** → **Início sem script** → **Mão ao iniciar**. **Uso e efeito:** Mão usada pelos gatilhos automáticos. **Valor:** Sem início automático · **Tipo:** referência · **Domínio:** qualquer objeto · abaixo deste objeto.

Objeto ao iniciar · auto_object

**Onde:** Inspector → **Sistema de interação** → **Início sem script** → **Objeto ao iniciar**. **Uso e efeito:** Objeto padrão para iniciar por script. **Valor:** Sem objeto · **Tipo:** referência · **Domínio:** qualquer objeto · fora da subárvore.

Segunda mão ao iniciar · auto_second

**Onde:** Inspector → **Sistema de interação** → **Início sem script** → **Segunda mão ao iniciar**. **Uso e efeito:** Segunda mão. **Valor:** Uma mão · **Tipo:** referência · **Domínio:** qualquer objeto · abaixo deste objeto. ## Roadmap deste componente [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Presente na 0.3.1. Sem interação com os pés nem com dois objetos ao mesmo tempo. 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 1. Crie **Sistema de interação** pelo fluxo indicado e resolva as dependências. 2. Altere uma propriedade por vez e observe o efeito esperado na cena. 3. Salve, reabra e confira os valores autorais. 4. Entre em Play e verifique o comportamento com os recursos reais do projeto. 5. 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 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](https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwoBoneIKConstraint.html). Essa referência não representa paridade funcional. ## 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 | |---|---|---|---| | **Interagir** · `start` | Leva a mão até o Objeto interagível; falso se a mão ou o objeto não servem | Mão: objeto; Objeto: objeto | booleano | | **Soltar** · `stop` | Devolve a mão à animação e larga o objeto pego | Mão: objeto | nada | | **Interagir pelo gatilho** · `trigger` | Começa a interação do Gatilho de interação mais próximo em que o personagem está; falso se não há nenhum | Nenhum | booleano | [Assinaturas da fachada InteractionSystem](/pt-br/snapshot-2026-10-16/api/astra-components-interactionsystem/#membros) ## 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 | |---|---|---| | **Alcançou** · `reached` | A mão chegou ao ponto de pegada | Mão: objeto; Objeto: objeto | | **Levantou** · `picked` | A última mão chegou e o objeto sobe ao ponto de carregar | Mão: objeto; Objeto: objeto | | **Soltou** · `released` | A mão voltou à animação | Mão: objeto; Objeto: objeto | | **Entrou no gatilho** · `entered` | O personagem entrou na faixa de um Gatilho de interação (Objeto = o gatilho) | Mão: objeto; Objeto: objeto | | **Saiu do gatilho** · `left` | O personagem saiu da faixa do gatilho | Mão: objeto; Objeto: objeto |