Braço de mola
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
Para que usar
Seção intitulada “Para que usar”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.
Criar e configurar
Seção intitulada “Criar e configurar”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
Exemplo de uso
Seção intitulada “Exemplo de uso”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.
Dependências
Seção intitulada “Dependências”Nenhuma regra adicional declarada no schema deste componente.
Conflitos
Seção intitulada “Conflitos”Nenhuma regra adicional declarada no schema deste componente.
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.
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Comprimentolength |
número · m | 3 | 0.001 … 1000 |
Margemmargin |
número · m | 0.1 | 0 … 10 |
Raio da esferaradius |
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.
Consulta
Seção intitulada “Consulta”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Ativoenabled |
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 corpoexclude_self |
booleano | verdadeiro | verdadeiro | falso |
Incluir sensoresinclude_sensors |
booleano | falso | verdadeiro | falso |
Incluir estáticosinclude_static |
booleano | verdadeiro | verdadeiro | falso |
Incluir dinâmicosinclude_dynamic |
booleano | verdadeiro | verdadeiro | falso |
Camadalayer |
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.
Roadmap deste componente
Seção intitulada “Roadmap deste componente”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.
Conferir na sua cena
Seção intitulada “Conferir na sua cena”- Crie Braço de mola 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 |
|---|---|---|---|
Comprimento atual · hit_length |
Distância livre do último quadro, já descontada a margem | Nenhum | número |