Pular para o conteúdo
AstraDOCS

IK de dois ossos

Raiz e meio da cadeia levam a ponta ao alvo, com direção da dobra

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

Leva a ponta de uma cadeia de dois ossos (mão, pé, garra) até um alvo, escolhendo a direção da dobra do cotovelo ou joelho.

Com o personagem selecionado, Criar → Personagem → Mãos ao alvo cria o componente na mão e um alvo onde ela está. No estúdio, a ferramenta IK arrasta o alvo e grava chaves. Mova o alvo na cena e dê Play.

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

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

Solver Trigonométrico resolve em um passo; Limb aceita limites do rig. Referência decide se o plano da dobra vem do alvo ou do objeto. O Zero do plano e a Rotação do polo giram o plano sem precisar de um objeto de direção. Ponta segue rotação do alvo alinha a mão ao alvo, com o desvio em graus.

Guia relacionado: IK e constraints · Receitas de Personagem

No Robot Kyle, Mãos ao alvo cria “Alvo IK · Left_Wrist_Joint_01”. Arraste esse alvo até a caixa sobre a mesa: em Play a mão vai até ele e o cotovelo dobra para o lado do objeto Direção da dobra, ou para o lado do plano configurado.

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 dois ossos → 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 dois ossos → 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 dois ossos → 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
Solver
solver
enumeração Pose Pose | Plano rotativo
Referência
reference
enumeração Animação Animação | Pose de repouso

Ângulo do plano · plane_angle

Onde: Inspector → IK de dois ossos → 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 dois ossos → 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 dois ossos → 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 dois ossos → 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 dois ossos → 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.

Solver · solver

Onde: Inspector → IK de dois ossos → Plano → Solver.

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

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

Referência · reference

Onde: Inspector → IK de dois ossos → 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.

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
Direção da dobra
pole
referência Seguir a pose qualquer objeto · fora da subárvore

Desvio da rotação do alvo X · target_offset_x

Onde: Inspector → IK de dois ossos → 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 dois ossos → 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 dois ossos → 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 dois ossos → 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.

Alvo · target

Onde: Inspector → IK de dois ossos → 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.

Direção da dobra · pole

Onde: Inspector → IK de dois ossos → Alvo → Direção da dobra.

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

Valor: Seguir a pose · Tipo: referência · Domínio: qualquer objeto · fora da subárvore.

Objetos, Behaviors e composição. Presente na 0.3.1. Limites por osso vêm do componente Limite de rotação no próprio osso. Sem data para alvos múltiplos por cadeia.

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 dois ossos 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.