Pular para o conteúdo
AstraDOCS

Astra.RayHit

Astra atual · C# · 06 out. 2026Referência de assinaturas

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

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<Astra.RayHit>.

Membro Categoria
.ctor Method
BodyObject Property
Collider Property
ColliderInstance Property
ColliderObject Property
Distance Property
Fraction Property
IsSensor Property
Normal Property
Object Property
Point Property

.ctor

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.

Parâmetro Tipo Contrato
Object Astra.GameObject
ColliderInstance ulong
Point System.Numerics.Vector3
Normal System.Numerics.Vector3?
Distance float
Fraction float
IsSensor bool

BodyObject

public Astra.GameObject BodyObject { get; }

The Body owner, retained by Object for source compatibility.

Collider

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.

ColliderInstance

public ulong ColliderInstance { get; init; }

ColliderObject

public Astra.GameObject? ColliderObject { get; init; }

The authored Collider owner; null when the backend has no shape identity.

Distance

public float Distance { get; init; }

Fraction

public float Fraction { get; init; }

IsSensor

public bool IsSensor { get; init; }

Normal

public System.Numerics.Vector3? Normal { get; init; }

Object

public Astra.GameObject Object { get; init; }

Point

public System.Numerics.Vector3 Point { get; init; }