--- title: "Astra.Components.PenetrationAvoidance" 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-penetrationavoidance/ --- # Astra.Components.PenetrationAvoidance Evitar penetração: Para o alvo do IK na superfície do colisor. 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.PenetrationAvoidance ``` Evitar penetração: Para o alvo do IK na superfície do colisor. Família Lógica · IK. Referência estudada: https://docs.godotengine.org/en/4.5/classes/class_skeletonmodifier3d.html **Interfaces:** `Astra.Components.IComponentFacade`. ## Onde acessar este tipo Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Lógica** / **IK** → **Evitar penetração**. 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 PenetrationAvoidance(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 [Evitar penetração](/pt-br/snapshot-2026-10-16b/componentes/astra-ik-penetration-avoidance/) para propriedades, valores iniciais, requisitos e edição em Play. ## Membros | Membro | Categoria | |---|---| | [.ctor](#member-174ab8b2a7127104) | Method | | [Remove](#member-7adfc9eb2463ab82) | Method | | [Wrap](#member-1e1eb3aae09ab025) | Method | | [Component](#member-61ff08a9f643600e) | Property | | [Enabled](#member-260258706226ed7a) | Property | | [InstanceId](#member-72280ebce0a96f5f) | Property | | [IsAlive](#member-bb8c0e320b013ce1) | Property | | [Object](#member-041b9732431b9cf1) | Property | | [Radius](#member-42d6aa23cef9ffb2) | Property | | [TypeId](#member-77c98cb73cf81cb8) | Property |

.ctor

```csharp public PenetrationAvoidance(Astra.Component component) ``` **Caminho:** Inspector → Evitar penetração; 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 → Evitar penetração; 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.PenetrationAvoidance Wrap(Astra.Component component) ``` **Caminho:** Inspector → Evitar penetração; 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 → Evitar penetração; 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 → Evitar penetração → Colisão; 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 → Evitar penetração; 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 → Evitar penetração; 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.

Object

```csharp public Astra.GameObject Object { get; } ``` **Caminho:** Inspector → Evitar penetração; 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.

Radius

```csharp public float Radius { get; set; } ``` Folga da superfície (m) Faixa válida: 0 a 1. **Caminho:** Inspector → Evitar penetração → Colisão; ou fachada C# em um Behavior. **Uso:** **Folga da superfície:** Raio ao redor do osso que não pode entrar em colisores. **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 → Evitar penetração; 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.