---
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 |