--- title: "Astra.Components.TwoBoneIk" 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-twoboneik/ --- # Astra.Components.TwoBoneIk IK de dois ossos: Raiz e meio da cadeia levam a ponta ao alvo, com direção da dobra. 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.TwoBoneIk ``` IK de dois ossos: Raiz e meio da cadeia levam a ponta ao alvo, com direção da dobra. Família Lógica · IK. Referência estudada: https://docs.unity3d.com/Packages/com.unity.animation.rigging@1.2/manual/constraints/TwoBoneIKConstraint.html **Interfaces:** `Astra.Components.IComponentFacade`. ## Onde acessar este tipo Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **IK de dois ossos**. 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 TwoBoneIk(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 dois ossos](/pt-br/snapshot-2026-10-16b/componentes/astra-ik-two-bone/) para propriedades, valores iniciais, requisitos e edição em Play. ## Membros | Membro | Categoria | |---|---| | [.ctor](#member-18e2dc76e8448ea8) | Method | | [Remove](#member-277ba5128ac8e40b) | Method | | [Wrap](#member-b2dc13a9f39b3691) | Method | | [Component](#member-5b868a9bfe9451d9) | Property | | [Enabled](#member-deb32113c93f0329) | Property | | [InstanceId](#member-de3df13979efc36e) | Property | | [IsAlive](#member-6eacbc72909283c7) | Property | | [MatchTargetRotation](#member-402bace3e4c25bf9) | Property | | [Object](#member-a1ef224fb454a418) | Property | | [PlaneAngle](#member-a9c7714c3ae03493) | Property | | [PlaneZeroX](#member-6af81bc8f508a83a) | Property | | [PlaneZeroY](#member-7271c77950aa6e4c) | Property | | [PlaneZeroZ](#member-15a77ef0253c62bf) | Property | | [Pole](#member-11968b6c73b571a1) | Property | | [PoleRotation](#member-14efcb94716847a9) | Property | | [Priority](#member-8a3d9e0f961e3419) | Property | | [Reference](#member-1a05f9092ac6e19a) | Property | | [Solver](#member-e88a780739841072) | Property | | [Target](#member-5ad2f68d96158e24) | Property | | [TargetOffsetX](#member-e25d29176f0cd424) | Property | | [TargetOffsetY](#member-77769323123aa681) | Property | | [TargetOffsetZ](#member-fbee6719f1159200) | Property | | [TypeId](#member-abb3ead10928b096) | Property | | [Weight](#member-de60f02ab20a8a8c) | Property |

.ctor

```csharp public TwoBoneIk(Astra.Component component) ``` **Caminho:** Inspector → IK de dois ossos; 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 dois ossos; 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.TwoBoneIk Wrap(Astra.Component component) ``` **Caminho:** Inspector → IK de dois ossos; 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` | |

Component

```csharp public Astra.Component Component { get; } ``` **Caminho:** Inspector → IK de dois ossos; 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 dois ossos → 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 dois ossos; 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 dois ossos; 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.

MatchTargetRotation

```csharp public bool MatchTargetRotation { get; set; } ``` Ponta segue rotação do alvo **Caminho:** Inspector → IK de dois ossos → 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 dois ossos; 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; o zero é perpendicular ao osso do meio no repouso. Faixa válida: -360 a 360. **Caminho:** Inspector → IK de dois ossos → 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 dois ossos → 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 dois ossos → 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 dois ossos → 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 dois ossos → Alvo; 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 (sem Direção da dobra). Faixa válida: -360 a 360. **Caminho:** Inspector → IK de dois ossos → 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 dois ossos → 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.TwoBoneIk.ReferenceOption Reference { get; set; } ``` Referência. De onde a cadeia parte antes de resolver. **Caminho:** Inspector → IK de dois ossos → 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.TwoBoneIk.SolverOption Solver { get; set; } ``` Solver **Caminho:** Inspector → IK de dois ossos → Plano; 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 dois ossos → 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 dois ossos → 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 dois ossos → 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 dois ossos → 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.

TypeId

```csharp public static string TypeId { get; } ``` **Caminho:** Inspector → IK de dois ossos; 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 dois ossos → 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.