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
Declaração
Seção intitulada “Declaração”readonly record struct Astra.RayHitUm 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>.
Membros
Seção intitulada “Membros”| 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; }