Pular para o conteúdo
AstraDOCS

Braço de mola

Astra 0.2.3-preview.20261007Conferido em fonteReferência revisada · 07 out. 2026

Afasta os filhos até a primeira colisão, como câmera em terceira pessoa

Família: Física 3D · Grupo: Consultas · Identificador: astra.physics.spring_arm · Payload: 1

Retrata filhos ao longo de um braço quando há obstáculos. Use para sustentar uma câmera filha sem atravessar uma parede física.

Crie o braço em um objeto e coloque a câmera como filha. Comprimento segue +Z local; a orientação do braço decide o lado. Use margem para manter distância da superfície e raio maior que zero para varredura esférica.

Hierarquia → selecione o objeto → Inspector → Adicionar componente → Física 3D / Consultas → Braço de mola.

O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é Astra.Components.SpringArm.

Raio zero usa consulta por linha. Não controla automaticamente lente, mira ou prioridade de câmera. A câmera virtual com Evitar obstáculos é outro fluxo: não empilhe ambos sem resolver quem escreve a pose.

Guia relacionado: Montagem de câmera filha

Use comprimento 4 m, margem .1 m e raio .2 m. Aproxime o braço de uma parede com collider em Play e confira a distância efetiva dos filhos. Se outro controlador escreve a pose da câmera, retire esse conflito antes de interpretar o resultado.

Nenhuma regra adicional declarada no schema deste componente.

Nenhuma regra adicional declarada no schema deste componente.

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.

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.

Propriedade Tipo / unidade Padrão Domínio
Comprimento
length
número · m 3 0.001 … 1000
Margem
margin
número · m 0.1 0 … 10
Raio da esfera
radius
número · m 0 0 … 100

Comprimento · length

Onde: Inspector → Braço de mola → Braço → Comprimento.

Uso e efeito: Comprimento desejado em metros no eixo +Z local. Obstáculos reduzem a distância efetiva dos filhos.

Valor: 3 · Tipo: número · Unidade: m · Domínio: 0.001 … 1000.

Margem · margin

Onde: Inspector → Braço de mola → Braço → Margem.

Uso e efeito: Margem em metros descontada no acerto, para conservar afastamento do obstáculo.

Valor: 0.1 · Tipo: número · Unidade: m · Domínio: 0 … 10.

Raio da esfera · radius

Onde: Inspector → Braço de mola → Braço → Raio da esfera.

Uso e efeito: Raio em metros do volume varrido. Zero usa linha; maior considera um volume esférico e ajuda em quinas.

Valor: 0 · Tipo: número · Unidade: m · Domínio: 0 … 100.

Propriedade Tipo / unidade Padrão Domínio
Ativo
enabled
booleano verdadeiro verdadeiro | falso

Ativo · enabled

Onde: Inspector → Braço de mola → Consulta → Ativo.

Uso e efeito: Desligado não consulta e mantém o último resultado como vazio

Valor: verdadeiro · Tipo: booleano · Domínio: verdadeiro | falso.

Propriedade Tipo / unidade Padrão Domínio
Ignorar o próprio corpo
exclude_self
booleano verdadeiro verdadeiro | falso
Incluir sensores
include_sensors
booleano falso verdadeiro | falso
Incluir estáticos
include_static
booleano verdadeiro verdadeiro | falso
Incluir dinâmicos
include_dynamic
booleano verdadeiro verdadeiro | falso
Camada
layer
enumeração Todas Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31

Ignorar o próprio corpo · exclude_self

Onde: Inspector → Braço de mola → Filtro → Ignorar o próprio corpo.

Uso e efeito: Exclui o primeiro Corpo físico encontrado neste objeto ou subindo por seus ancestrais. Use para não atingir o jogador que sustenta a consulta; sem esse corpo ancestral, não há exclusão automática de todos os colliders do ramo.

Valor: verdadeiro · Tipo: booleano · Domínio: verdadeiro | falso.

Incluir sensores · include_sensors

Onde: Inspector → Braço de mola → Filtro → Incluir sensores.

Uso e efeito: Inclui formas sensoras no resultado. Desligado evita tratar volumes de trigger como paredes.

Valor: falso · Tipo: booleano · Domínio: verdadeiro | falso.

Incluir estáticos · include_static

Onde: Inspector → Braço de mola → Filtro → Incluir estáticos.

Uso e efeito: Inclui corpos estáticos, como chão e paredes. Desligar pode explicar ausência de acerto.

Valor: verdadeiro · Tipo: booleano · Domínio: verdadeiro | falso.

Incluir dinâmicos · include_dynamic

Onde: Inspector → Braço de mola → Filtro → Incluir dinâmicos.

Uso e efeito: Inclui corpos dinâmicos no resultado; não aplica força nem impede movimento por conta própria.

Valor: verdadeiro · Tipo: booleano · Domínio: verdadeiro | falso.

Camada · layer

Onde: Inspector → Braço de mola → Filtro → Camada.

Uso e efeito: Todas aceita camadas do projeto; escolher uma limita a consulta. A camada da malha visual não cria forma física.

Valor: Todas · Tipo: enumeração · Domínio: Todas | Camada 0 | Camada 1 | Camada 2 | Camada 3 | Camada 4 | Camada 5 | Camada 6 | Camada 7 | Camada 8 | Camada 9 | Camada 10 | Camada 11 | Camada 12 | Camada 13 | Camada 14 | Camada 15 | Camada 16 | Camada 17 | Camada 18 | Camada 19 | Camada 20 | Camada 21 | Camada 22 | Camada 23 | Camada 24 | Camada 25 | Camada 26 | Camada 27 | Camada 28 | Camada 29 | Camada 30 | Camada 31.

Física 3D e motores. Retração física do braço presente na prévia. Desoclusão universal, composição e estabilidade em qualquer cena não são declaradas. Sem data de expansão.

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.

  1. Crie Braço de mola 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.

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.

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
Comprimento atual · hit_length Distância livre do último quadro, já descontada a margem Nenhum número

Assinaturas da fachada SpringArm