---
title: "Junta 2D"
version: snapshot-2026-10-07
engineGeneration: astra-current
language: C#
status: source-reviewed
reviewedAt: 2026-10-07
appRelease: "0.2.3-preview.20261007"
runtimeVerified: false
platformEvidence: []
url: https://astraengine.com.br/pt-br/snapshot-2026-10-07/componentes/astra-physics2d-joint/
---
# Junta 2D
Fixed/Weld, Revolute, Prismatic ou Distance reais
**Família:** Física 2D · **Grupo:** Juntas · **Identificador:** `astra.physics2d.joint` · **Payload:** 1
:::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
Fixed/Weld, Revolute, Prismatic ou Distance reais
Monte Body2D + Colisor 2D no plano XY. Juntas, forças e campos 2D operam nessa simulação; não compartilham automaticamente contatos com corpos 3D.
## Criar e configurar
Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 2D** / **Juntas** → **Junta 2D**.
O schema permite múltiplas instâncias no mesmo objeto; identifique a instância antes de editar ou remover. A fachada C# correspondente é [Astra.Components.Joint2D](/pt-br/snapshot-2026-10-07/api/astra-components-joint2d/).
## Exemplo de uso
Coloque uma caixa 2D dinâmica sobre um chão 2D estático. Compare escala de gravidade e rotação travada. Conexão física 2D pode ativar um receptor ao entrar no sensor.
## Dependências
- [Corpo 2D](/pt-br/snapshot-2026-10-07/componentes/astra-physics2d-body/): Adicione Body2D ao objeto
## 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 | Sim |
| 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](/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.
### Anchors
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Anchor A X**](#field-anchor-a-x)
`anchor_a_x` | número · m | 0 | -1000 … 1000 |
| [**Anchor A Y**](#field-anchor-a-y)
`anchor_a_y` | número · m | 0 | -1000 … 1000 |
| [**Anchor B X**](#field-anchor-b-x)
`anchor_b_x` | número · m | 0 | -1000 … 1000 |
| [**Anchor B Y**](#field-anchor-b-y)
`anchor_b_y` | número · m | 0 | -1000 … 1000 |
Anchor A X · anchor_a_x
**Onde:** Inspector → **Junta 2D** → **Anchors** → **Anchor A X**.
**Uso e efeito:** Posição da âncora no frame do corpo A, componente X. Configure os dois frames compatíveis.
**Valor:** 0 · **Tipo:** número · **Unidade:** m · **Domínio:** -1000 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Anchor A Y · anchor_a_y
**Onde:** Inspector → **Junta 2D** → **Anchors** → **Anchor A Y**.
**Uso e efeito:** Posição da âncora no frame do corpo A, componente Y. Configure os dois frames compatíveis.
**Valor:** 0 · **Tipo:** número · **Unidade:** m · **Domínio:** -1000 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Anchor B X · anchor_b_x
**Onde:** Inspector → **Junta 2D** → **Anchors** → **Anchor B X**.
**Uso e efeito:** Posição da âncora no frame do corpo B, componente X. Configure os dois frames compatíveis.
**Valor:** 0 · **Tipo:** número · **Unidade:** m · **Domínio:** -1000 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Anchor B Y · anchor_b_y
**Onde:** Inspector → **Junta 2D** → **Anchors** → **Anchor B Y**.
**Uso e efeito:** Posição da âncora no frame do corpo B, componente Y. Configure os dois frames compatíveis.
**Valor:** 0 · **Tipo:** número · **Unidade:** m · **Domínio:** -1000 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
### Ajustes
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Ângulo referência**](#field-reference-angle-degrees)
`reference_angle_degrees` | número · graus | 0 | -180 … 180 |
| [**Eixo local A**](#field-axis-angle-degrees)
`axis_angle_degrees` | número · graus | 0 | -180 … 180 |
| [**Comprimento repouso**](#field-length)
`length` | número · m | 1 | 0.005 … 1000 |
| [**Comprimento mínimo**](#field-min-length)
`min_length` | número · m | 0.005 | 0.005 … 1000 |
| [**Comprimento máximo**](#field-max-length)
`max_length` | número · m | 100 | 0.005 … 1000 |
| [**Limite inferior**](#field-lower-limit)
`lower_limit` | número | -1 | -178 … 178 |
| [**Limite superior**](#field-upper-limit)
`upper_limit` | número | 1 | -178 … 178 |
| [**Velocidade motor**](#field-motor-speed)
`motor_speed` | número · m/s | 1 | -1000 … 1000 |
| [**Motor angular**](#field-motor-angular-speed-degrees)
`motor_angular_speed_degrees` | número · graus/s | 90 | -36000 … 36000 |
| [**Força máxima motor**](#field-max-motor-force)
`max_motor_force` | número · N | 100 | 0 … 1000000 |
| [**Torque máximo motor**](#field-max-motor-torque)
`max_motor_torque` | número · N m | 100 | 0 … 1000000 |
| [**Frequência mola**](#field-spring-hertz)
`spring_hertz` | número · Hz | 5 | 0 … 120 |
| [**Razão amortecimento**](#field-spring-damping)
`spring_damping` | número | 0.7 | 0 … 10 |
| [**Translação alvo**](#field-spring-target-translation)
`spring_target_translation` | número · m | 0 | -1000 … 1000 |
| [**Ângulo alvo**](#field-spring-target-angle-degrees)
`spring_target_angle_degrees` | número · graus | 0 | -180 … 180 |
| [**Mola linear weld**](#field-linear-hertz)
`linear_hertz` | número · Hz | 0 | 0 … 120 |
| [**Mola angular weld**](#field-angular-hertz)
`angular_hertz` | número · Hz | 0 | 0 … 120 |
| [**Amortecimento linear weld**](#field-linear-damping-ratio)
`linear_damping_ratio` | número | 1 | 0 … 10 |
| [**Amortecimento angular weld**](#field-angular-damping-ratio)
`angular_damping_ratio` | número | 1 | 0 … 10 |
| [**Limites**](#field-limit-enabled)
`limit_enabled` | booleano | falso | verdadeiro \| falso |
| [**Motor**](#field-motor-enabled)
`motor_enabled` | booleano | falso | verdadeiro \| falso |
| [**Mola**](#field-spring-enabled)
`spring_enabled` | booleano | falso | verdadeiro \| falso |
Ângulo referência · reference_angle_degrees
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Ângulo referência**.
**Uso e efeito:** Ângulo de referência relativo da junta 2D em graus.
**Valor:** 0 · **Tipo:** número · **Unidade:** graus · **Domínio:** -180 … 180.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Eixo local A · axis_angle_degrees
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Eixo local A**.
**Uso e efeito:** Direção do eixo da junta 2D em graus.
**Valor:** 0 · **Tipo:** número · **Unidade:** graus · **Domínio:** -180 … 180.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Comprimento repouso · length
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Comprimento repouso**.
**Uso e efeito:** Comprimento de referência da junta Distance.
**Valor:** 1 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.005 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Comprimento mínimo · min_length
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Comprimento mínimo**.
**Uso e efeito:** Comprimento mínimo da junta Distance.
**Valor:** 0.005 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.005 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Comprimento máximo · max_length
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Comprimento máximo**.
**Uso e efeito:** Comprimento máximo da junta Distance.
**Valor:** 100 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.005 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Limite inferior · lower_limit
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Limite inferior**.
**Uso e efeito:** Limite inferior da junta 2D.
**Valor:** -1 · **Tipo:** número · **Domínio:** -178 … 178.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Limite superior · upper_limit
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Limite superior**.
**Uso e efeito:** Limite superior da junta 2D.
**Valor:** 1 · **Tipo:** número · **Domínio:** -178 … 178.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Velocidade motor · motor_speed
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Velocidade motor**.
**Uso e efeito:** Velocidade linear alvo do motor da junta 2D.
**Valor:** 1 · **Tipo:** número · **Unidade:** m/s · **Domínio:** -1000 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Motor angular · motor_angular_speed_degrees
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Motor angular**.
**Uso e efeito:** Velocidade angular alvo do motor 2D em graus/s.
**Valor:** 90 · **Tipo:** número · **Unidade:** graus/s · **Domínio:** -36000 … 36000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Força máxima motor · max_motor_force
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Força máxima motor**.
**Uso e efeito:** Limite de força do motor linear 2D.
**Valor:** 100 · **Tipo:** número · **Unidade:** N · **Domínio:** 0 … 1000000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Torque máximo motor · max_motor_torque
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Torque máximo motor**.
**Uso e efeito:** Limite de torque do motor angular 2D.
**Valor:** 100 · **Tipo:** número · **Unidade:** N m · **Domínio:** 0 … 1000000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Frequência mola · spring_hertz
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Frequência mola**.
**Uso e efeito:** Frequência da mola 2D.
**Valor:** 5 · **Tipo:** número · **Unidade:** Hz · **Domínio:** 0 … 120.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Razão amortecimento · spring_damping
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Razão amortecimento**.
**Uso e efeito:** Amortecimento da mola da junta.
**Valor:** 0.7 · **Tipo:** número · **Domínio:** 0 … 10.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Translação alvo · spring_target_translation
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Translação alvo**.
**Uso e efeito:** Translação alvo da mola 2D.
**Valor:** 0 · **Tipo:** número · **Unidade:** m · **Domínio:** -1000 … 1000.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Ângulo alvo · spring_target_angle_degrees
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Ângulo alvo**.
**Uso e efeito:** Ângulo alvo da mola 2D.
**Valor:** 0 · **Tipo:** número · **Unidade:** graus · **Domínio:** -180 … 180.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Mola linear weld · linear_hertz
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Mola linear weld**.
**Uso e efeito:** Frequência da ligação linear 2D.
**Valor:** 0 · **Tipo:** número · **Unidade:** Hz · **Domínio:** 0 … 120.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Mola angular weld · angular_hertz
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Mola angular weld**.
**Uso e efeito:** Frequência da ligação angular 2D.
**Valor:** 0 · **Tipo:** número · **Unidade:** Hz · **Domínio:** 0 … 120.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Amortecimento linear weld · linear_damping_ratio
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Amortecimento linear weld**.
**Uso e efeito:** Razão de amortecimento linear 2D.
**Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 10.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Amortecimento angular weld · angular_damping_ratio
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Amortecimento angular weld**.
**Uso e efeito:** Razão de amortecimento angular 2D.
**Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 10.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Limites · limit_enabled
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Limites**.
**Uso e efeito:** Ativa os limites configurados da junta 2D.
**Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Motor · motor_enabled
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Motor**.
**Uso e efeito:** Ativa motor da junta 2D.
**Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Mola · spring_enabled
**Onde:** Inspector → **Junta 2D** → **Ajustes** → **Mola**.
**Uso e efeito:** Ativa mola da junta 2D.
**Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
### Conexão
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Ativo**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso |
| [**Conectar ao mundo**](#field-world-anchor)
`world_anchor` | booleano | falso | verdadeiro \| falso |
| [**Colidir conectados**](#field-collide-connected)
`collide_connected` | booleano | falso | verdadeiro \| falso |
| [**Modo**](#field-kind)
`kind` | enumeração | Fixed / Weld | Fixed / Weld \| Revolute \| Prismatic \| Distance |
| [**Corpo conectado**](#field-target)
`target` | referência | Escolher Body2D | astra.physics2d.body · outro objeto |
Ativo · enabled
**Onde:** Inspector → **Junta 2D** → **Conexão** → **Ativo**.
**Uso e efeito:** Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados.
**Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Conectar ao mundo · world_anchor
**Onde:** Inspector → **Junta 2D** → **Conexão** → **Conectar ao mundo**.
**Uso e efeito:** Interpreta a âncora conforme a opção de mundo da junta 2D.
**Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Colidir conectados · collide_connected
**Onde:** Inspector → **Junta 2D** → **Conexão** → **Colidir conectados**.
**Uso e efeito:** Permite colisão entre os corpos conectados.
**Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
Modo · kind
**Onde:** Inspector → **Junta 2D** → **Conexão** → **Modo**.
**Uso e efeito:** Escolhe a variante de luz/junta no domínio indicado; siga os campos e requisitos condicionais.
**Valor:** Fixed / Weld · **Tipo:** enumeração · **Domínio:** Fixed / Weld \| Revolute \| Prismatic \| Distance.
Corpo conectado · target
**Onde:** Inspector → **Junta 2D** → **Conexão** → **Corpo conectado**.
**Uso e efeito:** Referência a objeto fonte/alvo usada por este componente. Atribua pelo seletor; nome sozinho não mantém identidade.
**Valor:** Escolher Body2D · **Tipo:** referência · **Domínio:** astra.physics2d.body · outro objeto.
Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.
## Roadmap deste componente
[Física 2D](/pt-br/snapshot-2026-10-06/roadmap/fisica-2d/). Fechar autoria e cenários de solver/eventos/queries no Android; ampliar formas e juntas somente com consumidores. Física 2D presente não representa renderização Sprite/Tilemap completa.
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 **Junta 2D** 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/6000.0/Documentation/ScriptReference/Joint2D.html). Essa referência não representa paridade funcional.