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
Para que usar
Seção intitulada “Para que usar”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.
Criar e configurar
Seção intitulada “Criar e configurar”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
Exemplo de uso
Seção intitulada “Exemplo de uso”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.
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 | 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.
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.
Influência
Seção intitulada “Influência”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Pesoweight |
número | 1 | 0 … 1 |
Prioridadepriority |
número | 0 | -100 … 100 |
Ativoenabled |
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 planoplane_angle |
número · ° | 0 | -360 … 360 |
Rotação do polopole_rotation |
número · ° | 0 | -360 … 360 |
Zero do plano Xplane_zero_x |
número | 0 | -1 … 1 |
Zero do plano Yplane_zero_y |
número | 0 | -1 … 1 |
Zero do plano Zplane_zero_z |
número | 0 | -1 … 1 |
Referênciareference |
enumeração | Animação | Animação | Pose de repouso |
Direção da dobrapole |
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 cadeiachain_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áximasiterations |
número | 12 | 1 … 128 |
Tolerânciatolerance |
número · m | 0.001 | 0.00001 … 1 |
Solversolver |
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 Xtarget_offset_x |
número · ° | 0 | -360 … 360 |
Desvio da rotação do alvo Ytarget_offset_y |
número · ° | 0 | -360 … 360 |
Desvio da rotação do alvo Ztarget_offset_z |
número · ° | 0 | -360 … 360 |
Ponta segue rotação do alvomatch_target_rotation |
booleano | falso | verdadeiro | falso |
Alvotarget |
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.
Roadmap deste componente
Seção intitulada “Roadmap deste componente”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.
Conferir na sua cena
Seção intitulada “Conferir na sua cena”- Crie IK de cadeia 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.