Pular para o conteúdo
AstraDOCS

IK de cadeia

CCD ou FABRIK em N ossos, com iterações e tolerância

Família: Lógica · Grupo: IK · Identificador: astra.ik.chain · Payload: 4

Resolve uma cadeia de N ossos (braço mecânico, cauda, tentáculo) até um alvo por CCD ou FABRIK.

Adicione ao último osso da cadeia, escolha o Comprimento da cadeia e o Solver; aponte o Alvo. O modelo de cena Braço mecânico com IK de cadeia mostra o arranjo pronto.

Hierarquia → selecione o objeto → Inspector → Adicionar componente → Lógica / IK → IK de cadeia.

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

CCD converge osso a osso a partir da ponta; FABRIK alterna ida e volta e distribui melhor a curva. Iterações e Tolerância trocam precisão por custo. Direção da dobra, Zero do plano e Rotação do polo valem como no IK de dois ossos.

Guia relacionado: IK e constraints

Braço de quatro segmentos: Comprimento 4, FABRIK, 12 iterações, tolerância .001 m. Mova o alvo: a garra chega em um quadro e a base respeita o Limite de rotação dela.

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 4

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
Peso
weight
número 1 0 … 1
Prioridade
priority
número 0 -100 … 100
Ativo
enabled
booleano verdadeiro verdadeiro | falso

Peso · weight

Onde: Inspector → IK de cadeia → Influência → Peso.

Uso e efeito: 0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade.

Valor: 1 · Tipo: número · Domínio: 0 … 1.

Aceita tween numérico via contrato de propriedade.

Prioridade · priority

Onde: Inspector → IK de cadeia → Influência → Prioridade.

Uso e efeito: Ordem entre solvers do mesmo osso: o maior roda por último e vence.

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

Aceita tween numérico via contrato de propriedade.

Ativo · enabled

Onde: Inspector → IK de cadeia → Influência → Ativo.

Uso e efeito: Desligado, o componente fica na cena sem agir.

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

Propriedade Tipo / unidade Padrão Domínio
Ângulo do plano
plane_angle
número · ° 0 -360 … 360
Rotação do polo
pole_rotation
número · ° 0 -360 … 360
Zero do plano X
plane_zero_x
número 0 -1 … 1
Zero do plano Y
plane_zero_y
número 0 -1 … 1
Zero do plano Z
plane_zero_z
número 0 -1 … 1
Referência
reference
enumeração Animação Animação | Pose de repouso
Direção da dobra
pole
referência Ângulo do plano qualquer objeto · fora da subárvore

Ângulo do plano · plane_angle

Onde: Inspector → IK de cadeia → Plano → Ângulo do plano.

Uso e efeito: Gira o plano da dobra em graus, sem um objeto de direção.

Valor: 0 · Tipo: número · Unidade: ° · Domínio: -360 … 360.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade.

Rotação do polo · pole_rotation

Onde: Inspector → IK de cadeia → Plano → Rotação do polo.

Uso e efeito: Gira o polo em torno do eixo raiz-ponta.

Valor: 0 · Tipo: número · Unidade: ° · Domínio: -360 … 360.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade.

Zero do plano X · plane_zero_x

Onde: Inspector → IK de cadeia → Plano → Zero do plano X.

Uso e efeito: Componente da direção que define o zero do plano da dobra.

Valor: 0 · Tipo: número · Domínio: -1 … 1.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Zero do plano Y · plane_zero_y

Onde: Inspector → IK de cadeia → Plano → Zero do plano Y.

Uso e efeito: Componente da direção que define o zero do plano da dobra.

Valor: 0 · Tipo: número · Domínio: -1 … 1.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Zero do plano Z · plane_zero_z

Onde: Inspector → IK de cadeia → Plano → Zero do plano Z.

Uso e efeito: Componente da direção que define o zero do plano da dobra.

Valor: 0 · Tipo: número · Domínio: -1 … 1.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Referência · reference

Onde: Inspector → IK de cadeia → Plano → Referência.

Uso e efeito: De onde vem o plano da dobra: do alvo ou do próprio objeto.

Valor: Animação · Tipo: enumeração · Domínio: Animação | Pose de repouso.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Direção da dobra · pole

Onde: Inspector → IK de cadeia → Plano → Direção da dobra.

Uso e efeito: Objeto para onde a dobra aponta; vazio usa o plano configurado.

Valor: Ângulo do plano · Tipo: referência · Domínio: qualquer objeto · fora da subárvore.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Propriedade Tipo / unidade Padrão Domínio
Ossos na cadeia
chain_length
número · ossos 3 2 … 32

Ossos na cadeia · chain_length

Onde: Inspector → IK de cadeia → Cadeia → Ossos na cadeia.

Uso e efeito: Quantos ossos acima deste participam.

Valor: 3 · Tipo: número · Unidade: ossos · Domínio: 2 … 32.

Aceita tween numérico via contrato de propriedade.

Propriedade Tipo / unidade Padrão Domínio
Iterações máximas
iterations
número 12 1 … 128
Tolerância
tolerance
número · m 0.001 0.00001 … 1
Solver
solver
enumeração FABRIK CCD | FABRIK | Plano rotativo

Iterações máximas · iterations

Onde: Inspector → IK de cadeia → Solver → Iterações máximas.

Uso e efeito: Mais iterações, mais precisão e mais custo por quadro.

Valor: 12 · Tipo: número · Domínio: 1 … 128.

Aceita tween numérico via contrato de propriedade.

Tolerância · tolerance

Onde: Inspector → IK de cadeia → Solver → Tolerância.

Uso e efeito: Distância da ponta ao alvo considerada resolvida, em metros.

Valor: 0.001 · Tipo: número · Unidade: m · Domínio: 0.00001 … 1.

Aceita tween numérico via contrato de propriedade.

Solver · solver

Onde: Inspector → IK de cadeia → Solver → Solver.

Uso e efeito: Trigonométrico resolve em um passo; Limb respeita limites do rig; CCD e FABRIK valem para cadeias.

Valor: FABRIK · Tipo: enumeração · Domínio: CCD | FABRIK | Plano rotativo.

Propriedade Tipo / unidade Padrão Domínio
Desvio da rotação do alvo X
target_offset_x
número · ° 0 -360 … 360
Desvio da rotação do alvo Y
target_offset_y
número · ° 0 -360 … 360
Desvio da rotação do alvo Z
target_offset_z
número · ° 0 -360 … 360
Ponta segue rotação do alvo
match_target_rotation
booleano falso verdadeiro | falso
Alvo
target
referência Escolher alvo qualquer objeto · fora da subárvore

Desvio da rotação do alvo X · target_offset_x

Onde: Inspector → IK de cadeia → Alvo → Desvio da rotação do alvo X.

Uso e efeito: Desvio em graus somado à rotação do alvo quando a ponta a segue.

Valor: 0 · Tipo: número · Unidade: ° · Domínio: -360 … 360.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade.

Desvio da rotação do alvo Y · target_offset_y

Onde: Inspector → IK de cadeia → Alvo → Desvio da rotação do alvo Y.

Uso e efeito: Desvio em graus somado à rotação do alvo quando a ponta a segue.

Valor: 0 · Tipo: número · Unidade: ° · Domínio: -360 … 360.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade.

Desvio da rotação do alvo Z · target_offset_z

Onde: Inspector → IK de cadeia → Alvo → Desvio da rotação do alvo Z.

Uso e efeito: Desvio em graus somado à rotação do alvo quando a ponta a segue.

Valor: 0 · Tipo: número · Unidade: ° · Domínio: -360 … 360.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade.

Ponta segue rotação do alvo · match_target_rotation

Onde: Inspector → IK de cadeia → Alvo → Ponta segue rotação do alvo.

Uso e efeito: A ponta copia a rotação do alvo, com o desvio em graus abaixo.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Alvo · target

Onde: Inspector → IK de cadeia → Alvo → Alvo.

Uso e efeito: Objeto da cena que o solver alcança; as receitas criam um alvo nomeado ao lado do personagem.

Valor: Escolher alvo · Tipo: referência · Domínio: qualquer objeto · fora da subárvore.

Objetos, Behaviors e composição. Presente na 0.3.1. Sem alvos intermediários nem pesos por osso. 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.

  1. Crie IK de cadeia 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.