--- title: "Astra.Components.ChainIk" version: snapshot-2026-10-16b engineGeneration: astra-current language: C# status: semantic-reference reviewedAt: 2026-10-16b appRelease: "0.3.2-preview.20261016" runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-16b/api/astra-components-chainik/ --- # Astra.Components.ChainIk IK de cadeia: CCD ou FABRIK em N ossos, com iterações e tolerância. Família Lógica · IK. **Namespace:** `Astra.Components` · **Assembly:** `Astra.Scripting` · **Tipo:** Struct :::note[Sobre esta referência] Assinaturas extraídas semanticamente com Roslyn/MSBuild. Isso confirma a superfície do código deste snapshot; não comprova execução no Android. As descrições vêm dos comentários da API. Membros sem explicação ainda exigem revisão editorial. ::: ## Declaração ```csharp readonly struct Astra.Components.ChainIk ``` IK de cadeia: CCD ou FABRIK em N ossos, com iterações e tolerância. Família Lógica · IK. Referência estudada: https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/ChainIKConstraint.html **Interfaces:** `Astra.Components.IComponentFacade`. ## Onde acessar este tipo Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **IK de cadeia**. No Behavior em Play, obtenha a fachada com `Object.GetComponent()`; trate null antes de usar. Para outro objeto, resolva uma ObjectReference e consulte nesse objeto. Criar `new ChainIk(component)` envolve um componente existente; não adiciona um componente à cena. ## Roadmap e uso [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/): o membro presente nesta referência pertence ao contrato atual. O roadmap registra a família; não há promessa/data individual de evolução para cada membro. Membros ainda sem explicação especializada são indicados como revisão editorial pendente. Para ler os campos e recursos pelo caminho do editor, use [mapa de acesso](/pt-br/snapshot-2026-10-06/editor/mapa-de-acesso/). Consulte também [IK de cadeia](/pt-br/snapshot-2026-10-16b/componentes/astra-ik-chain/) para propriedades, valores iniciais, requisitos e edição em Play. ## Membros | Membro | Categoria | |---|---| | [.ctor](#member-f79b11b7b97e15ef) | Method | | [Remove](#member-2ad33995eee4d9cd) | Method | | [Wrap](#member-0ee6eba1ea27a6cf) | Method | | [ChainLength](#member-4f061ddbbb4839dd) | Property | | [Component](#member-9d1ccfac31b0aa9f) | Property | | [Enabled](#member-39286edac05573d9) | Property | | [InstanceId](#member-dd9c715784928308) | Property | | [IsAlive](#member-16e710c44e8a5617) | Property | | [Iterations](#member-646340024d28486b) | Property | | [MatchTargetRotation](#member-7d6516d937fbbf48) | Property | | [Object](#member-20b8f07ff502ec0f) | Property | | [PlaneAngle](#member-23b68ff2daaa934e) | Property | | [PlaneZeroX](#member-2e268ab10f1c727e) | Property | | [PlaneZeroY](#member-fc033ce60c69d0b2) | Property | | [PlaneZeroZ](#member-541de87c2052ecb8) | Property | | [Pole](#member-90dae96aeddfe39f) | Property | | [PoleRotation](#member-779417929ce69eb8) | Property | | [Priority](#member-de5ae84d66f8bbf5) | Property | | [Reference](#member-8f4b4524fc241f17) | Property | | [Solver](#member-56b72b166f819697) | Property | | [Target](#member-a1783f2e0b07302b) | Property | | [TargetOffsetX](#member-649d6ec4e73c33c1) | Property | | [TargetOffsetY](#member-1fdaa0a114f4ea8c) | Property | | [TargetOffsetZ](#member-9ee364e92d3cab5e) | Property | | [Tolerance](#member-ec81b65d65f85d01) | Property | | [TypeId](#member-afa5905140c9094f) | Property | | [Weight](#member-31774caba19c00bf) | Property |

.ctor

```csharp public ChainIk(Astra.Component component) ``` **Caminho:** Inspector → IK de cadeia; ou fachada C# em um Behavior. **Uso:** Constrói o tipo pela assinatura declarada. Um construtor de fachada envolve um componente existente; um record de configuração só tem efeito quando atribuído ao consumidor. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `component` | `Astra.Component` | |

Remove

```csharp public void Remove() ``` Remove a instância pelo ciclo nativo; dependências e ownership podem recusar. **Caminho:** Inspector → IK de cadeia; ou fachada C# em um Behavior. **Uso:** Solicita remoção pelo lifecycle nativo; dependências e regras de Play podem recusar. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Wrap

```csharp public static Astra.Components.ChainIk Wrap(Astra.Component component) ``` **Caminho:** Inspector → IK de cadeia; ou fachada C# em um Behavior. **Uso:** Envolve um Component existente após conferir TypeId; não cria componente. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `component` | `Astra.Component` | |

ChainLength

```csharp public float ChainLength { get; set; } ``` Ossos na cadeia (ossos) Faixa válida: 2 a 32. **Caminho:** Inspector → IK de cadeia → Cadeia; ou fachada C# em um Behavior. **Uso:** **Ossos na cadeia:** Quantos ossos acima deste participam. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Component

```csharp public Astra.Component Component { get; } ``` **Caminho:** Inspector → IK de cadeia; ou fachada C# em um Behavior. **Uso:** Handle genérico da instância, usado para operações de reflexão e recursos. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Enabled

```csharp public bool Enabled { get; set; } ``` Ativo **Caminho:** Inspector → IK de cadeia → Influência; ou fachada C# em um Behavior. **Uso:** **Ativo:** Desligado, o componente fica na cena sem agir. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

InstanceId

```csharp public ulong InstanceId { get; } ``` **Caminho:** Inspector → IK de cadeia; ou fachada C# em um Behavior. **Uso:** Distingue a instância no mesmo objeto; importante para componentes múltiplos. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

IsAlive

```csharp public bool IsAlive { get; } ``` **Caminho:** Inspector → IK de cadeia; ou fachada C# em um Behavior. **Uso:** Validade do handle no mundo/geração atuais. Remoção e novo Play invalidam a referência. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Iterations

```csharp public float Iterations { get; set; } ``` Iterações máximas Faixa válida: 1 a 128. **Caminho:** Inspector → IK de cadeia → Solver; ou fachada C# em um Behavior. **Uso:** **Iterações máximas:** Mais iterações, mais precisão e mais custo por quadro. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

MatchTargetRotation

```csharp public bool MatchTargetRotation { get; set; } ``` Ponta segue rotação do alvo **Caminho:** Inspector → IK de cadeia → Alvo; ou fachada C# em um Behavior. **Uso:** **Ponta segue rotação do alvo:** A ponta copia a rotação do alvo, com o desvio em graus abaixo. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Object

```csharp public Astra.GameObject Object { get; } ``` **Caminho:** Inspector → IK de cadeia; ou fachada C# em um Behavior. **Uso:** Objeto dono deste componente; use para resolver composição. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

PlaneAngle

```csharp public float PlaneAngle { get; set; } ``` Ângulo do plano (°). Gira o plano da dobra em torno do eixo raiz→ponta. Faixa válida: -360 a 360. **Caminho:** Inspector → IK de cadeia → Plano; ou fachada C# em um Behavior. **Uso:** **Ângulo do plano:** Gira o plano da dobra em graus, sem um objeto de direção. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

PlaneZeroX

```csharp public float PlaneZeroX { get; set; } ``` Zero do plano X. Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio. Faixa válida: -1 a 1. **Caminho:** Inspector → IK de cadeia → Plano; ou fachada C# em um Behavior. **Uso:** **Zero do plano X:** Componente da direção que define o zero do plano da dobra. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

PlaneZeroY

```csharp public float PlaneZeroY { get; set; } ``` Zero do plano Y. Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio. Faixa válida: -1 a 1. **Caminho:** Inspector → IK de cadeia → Plano; ou fachada C# em um Behavior. **Uso:** **Zero do plano Y:** Componente da direção que define o zero do plano da dobra. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

PlaneZeroZ

```csharp public float PlaneZeroZ { get; set; } ``` Zero do plano Z. Direção do zero do ângulo no espaço do osso raiz; zerado usa a perpendicular do osso do meio. Faixa válida: -1 a 1. **Caminho:** Inspector → IK de cadeia → Plano; ou fachada C# em um Behavior. **Uso:** **Zero do plano Z:** Componente da direção que define o zero do plano da dobra. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Pole

```csharp public Astra.ObjectReference Pole { get; set; } ``` Direção da dobra **Caminho:** Inspector → IK de cadeia → Plano; ou fachada C# em um Behavior. **Uso:** **Direção da dobra:** Objeto para onde a dobra aponta; vazio usa o plano configurado. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

PoleRotation

```csharp public float PoleRotation { get; set; } ``` Rotação do polo (°). Gira a cadeia resolvida em torno do eixo raiz→alvo. Faixa válida: -360 a 360. **Caminho:** Inspector → IK de cadeia → Plano; ou fachada C# em um Behavior. **Uso:** **Rotação do polo:** Gira o polo em torno do eixo raiz-ponta. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Priority

```csharp public float Priority { get; set; } ``` Prioridade Faixa válida: -100 a 100. **Caminho:** Inspector → IK de cadeia → Influência; ou fachada C# em um Behavior. **Uso:** **Prioridade:** Ordem entre solvers do mesmo osso: o maior roda por último e vence. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Reference

```csharp public Astra.Components.ChainIk.ReferenceOption Reference { get; set; } ``` Referência. De onde a cadeia parte antes de resolver. **Caminho:** Inspector → IK de cadeia → Plano; ou fachada C# em um Behavior. **Uso:** **Referência:** De onde vem o plano da dobra: do alvo ou do próprio objeto. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Solver

```csharp public Astra.Components.ChainIk.SolverOption Solver { get; set; } ``` Solver **Caminho:** Inspector → IK de cadeia → Solver; ou fachada C# em um Behavior. **Uso:** **Solver:** Trigonométrico resolve em um passo; Limb respeita limites do rig; CCD e FABRIK valem para cadeias. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Target

```csharp public Astra.ObjectReference Target { get; set; } ``` Alvo **Caminho:** Inspector → IK de cadeia → Alvo; ou fachada C# em um Behavior. **Uso:** **Alvo:** Objeto da cena que o solver alcança; as receitas criam um alvo nomeado ao lado do personagem. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

TargetOffsetX

```csharp public float TargetOffsetX { get; set; } ``` Desvio da rotação do alvo X (°). Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo). Faixa válida: -360 a 360. **Caminho:** Inspector → IK de cadeia → Alvo; ou fachada C# em um Behavior. **Uso:** **Desvio da rotação do alvo X:** Desvio em graus somado à rotação do alvo quando a ponta a segue. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

TargetOffsetY

```csharp public float TargetOffsetY { get; set; } ``` Desvio da rotação do alvo Y (°). Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo). Faixa válida: -360 a 360. **Caminho:** Inspector → IK de cadeia → Alvo; ou fachada C# em um Behavior. **Uso:** **Desvio da rotação do alvo Y:** Desvio em graus somado à rotação do alvo quando a ponta a segue. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

TargetOffsetZ

```csharp public float TargetOffsetZ { get; set; } ``` Desvio da rotação do alvo Z (°). Rotação somada à do alvo quando a ponta segue a rotação do alvo (eixos do alvo). Faixa válida: -360 a 360. **Caminho:** Inspector → IK de cadeia → Alvo; ou fachada C# em um Behavior. **Uso:** **Desvio da rotação do alvo Z:** Desvio em graus somado à rotação do alvo quando a ponta a segue. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Tolerance

```csharp public float Tolerance { get; set; } ``` Tolerância (m) Faixa válida: 0.00001 a 1. **Caminho:** Inspector → IK de cadeia → Solver; ou fachada C# em um Behavior. **Uso:** **Tolerância:** Distância da ponta ao alvo considerada resolvida, em metros. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

TypeId

```csharp public static string TypeId { get; } ``` **Caminho:** Inspector → IK de cadeia; ou fachada C# em um Behavior. **Uso:** Identificador nativo usado em AddComponent/GetComponent. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Weight

```csharp public float Weight { get; set; } ``` Peso Faixa válida: 0 a 1. **Caminho:** Inspector → IK de cadeia → Influência; ou fachada C# em um Behavior. **Uso:** **Peso:** 0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade. **Roadmap deste membro:** [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.