--- title: "Astra.RayHit" version: snapshot-2026-10-06 engineGeneration: astra-current language: C# status: semantic-reference runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-06/api/astra-rayhit/ --- # Astra.RayHit Um acerto já resolvido: objeto vivo, instância do colisor que respondeu e contato. P:Astra.RayHit.Normal é nulo quando o backend não tem uma normal para oferecer — uma sobreposição parada não tem direção ao longo de quê, e um vetor zero no lugar pareceria um contato de frente. **Namespace:** `Astra` · **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 record struct Astra.RayHit ``` Um acerto já resolvido: objeto vivo, instância do colisor que respondeu e contato. P:Astra.RayHit.Normal é nulo quando o backend não tem uma normal para oferecer — uma sobreposição parada não tem direção ao longo de quê, e um vetor zero no lugar pareceria um contato de frente. **Interfaces:** `System.IEquatable`. ## Onde acessar este tipo No Behavior, use **Physics**, Object.PhysicsBody(), Object.DynamicMotor() ou callbacks Collision/Trigger. Crie corpo/colisor antes; resultados de consulta não adicionam um corpo. ## Roadmap e uso [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/): 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/). ## Membros | Membro | Categoria | |---|---| | [.ctor](#member-577b60f91b37a943) | Method | | [BodyObject](#member-47ccfa40977d7da1) | Property | | [Collider](#member-4ec550f699e74410) | Property | | [ColliderInstance](#member-151be7a78a3a83b4) | Property | | [ColliderObject](#member-db8ac536cf45f84a) | Property | | [Distance](#member-58031998abadddfb) | Property | | [Fraction](#member-cb209ef1929e90fb) | Property | | [IsSensor](#member-6f74ec761464da8a) | Property | | [Normal](#member-81723e0c0b454b8b) | Property | | [Object](#member-693a80b141d715da) | Property | | [Point](#member-8b611c5365fc7712) | Property |

.ctor

```csharp public RayHit(Astra.GameObject Object, ulong ColliderInstance, System.Numerics.Vector3 Point, System.Numerics.Vector3? Normal, float Distance, float Fraction, bool IsSensor) ``` Um acerto já resolvido: objeto vivo, instância do colisor que respondeu e contato. P:Astra.RayHit.Normal é nulo quando o backend não tem uma normal para oferecer — uma sobreposição parada não tem direção ao longo de quê, e um vetor zero no lugar pareceria um contato de frente. **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **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:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência. | Parâmetro | Tipo | Contrato | |---|---|---| | `Object` | `Astra.GameObject` | | | `ColliderInstance` | `ulong` | | | `Point` | `System.Numerics.Vector3` | | | `Normal` | `System.Numerics.Vector3?` | | | `Distance` | `float` | | | `Fraction` | `float` | | | `IsSensor` | `bool` | |

BodyObject

```csharp public Astra.GameObject BodyObject { get; } ``` The Body owner, retained by Object for source compatibility. **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** The Body owner, retained by Object for source compatibility. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Collider

```csharp public Astra.Components.Collider? Collider { get; } ``` Resolve this exact 3D Collider, never another local instance on the Body. Null after removal, object destruction or world expiration. **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** Resolve this exact 3D Collider, never another local instance on the Body. Null after removal, object destruction or world expiration. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ColliderInstance

```csharp public ulong ColliderInstance { get; init; } ``` **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** Campo/propriedade conforme a declaração. Confira get/set/init e o tipo; a interpretação especializada ainda não tem revisão editorial individual neste snapshot. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

ColliderObject

```csharp public Astra.GameObject? ColliderObject { get; init; } ``` The authored Collider owner; null when the backend has no shape identity. **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** The authored Collider owner; null when the backend has no shape identity. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Distance

```csharp public float Distance { get; init; } ``` **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** Campo/propriedade conforme a declaração. Confira get/set/init e o tipo; a interpretação especializada ainda não tem revisão editorial individual neste snapshot. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Fraction

```csharp public float Fraction { get; init; } ``` **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** Campo/propriedade conforme a declaração. Confira get/set/init e o tipo; a interpretação especializada ainda não tem revisão editorial individual neste snapshot. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

IsSensor

```csharp public bool IsSensor { get; init; } ``` **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** Campo/propriedade conforme a declaração. Confira get/set/init e o tipo; a interpretação especializada ainda não tem revisão editorial individual neste snapshot. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Normal

```csharp public System.Numerics.Vector3? Normal { get; init; } ``` **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** Campo/propriedade conforme a declaração. Confira get/set/init e o tipo; a interpretação especializada ainda não tem revisão editorial individual neste snapshot. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Object

```csharp public Astra.GameObject Object { get; init; } ``` **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** Campo/propriedade conforme a declaração. Confira get/set/init e o tipo; a interpretação especializada ainda não tem revisão editorial individual neste snapshot. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.

Point

```csharp public System.Numerics.Vector3 Point { get; init; } ``` **Caminho:** Área de código → Behavior compilado/anexado → acesso descrito em “Onde acessar este tipo”. **Uso:** Campo/propriedade conforme a declaração. Confira get/set/init e o tipo; a interpretação especializada ainda não tem revisão editorial individual neste snapshot. **Roadmap deste membro:** [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Contrato existente neste snapshot; sem tarefa individual/datada registrada nesta referência.