PhysicsRayQueryParameters3D
Параметры разового лучевого запроса 3D.
From и To — мировые конечные точки одного отрезка. CollisionMask фильтрует Layer кандидатов, CollideWithBodies/CollideWithAreas выбирают категории. Exclude содержит RID физических объектов, а не идентификаторы экземпляров.
Параметры не берутся автоматически у камеры/оружия. Проверьте конечность координат, положительную длину при её вычислении и нужный мир. HitFromInside и ограничения геометрии учитывайте отдельно; разрешение обратных сторон не превращает concave-поверхность в заполненный объём.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
PhysicsRayQueryParameters3DКонструктор
public PhysicsRayQueryParameters3D();Свойства8
CollideWithAreasСвойство
public bool CollideWithAreas { get; set; }Если true, запрос будет учитывать Area3D.
CollideWithBodiesСвойство
public bool CollideWithBodies { get; set; }Если true, запрос будет учитывать PhysicsBody3D.
CollisionMaskСвойство
public uint CollisionMask { get; set; }Слои физики, которые запрос обнаружит (как битовую маску). По умолчанию обнаруживаются все слои столкновений. Для получения дополнительной информации см. Слои и маски столкновений в документации.
ExcludeСвойство
public Reckfell.Collections.Array<Rid> Exclude { get; set; }RID физических объектов, исключённых из запроса. Получайте их у CollisionObject.GetRid; GetInstanceId и ссылки на видимые меши не являются такими RID.
FromСвойство
public Vector3 From { get; set; }Начальная точка запрашиваемого луча в глобальных координатах.
HitBackFacesСвойство
public bool HitBackFaces { get; set; }Если true, запрос будет попадать на задние грани с вогнутыми многоугольными формами с включенной задней гранью или формами карты высот.
HitFromInsideСвойство
public bool HitFromInside { get; set; }Если true, запрос обнаружит попадание при запуске внутри фигур. В этом случае нормаль столкновения будет Vector3(0, 0, 0). Не влияет на вогнутые многоугольные фигуры или фигуры карты высот.
ToСвойство
public Vector3 To { get; set; }Конечная точка запрашиваемого луча в глобальных координатах.
Методы17
CreatePhysicsRayQueryParameters3D
public static PhysicsRayQueryParameters3D Create(Vector3 from, Vector3 to, uint collisionMask = 4294967295, Reckfell.Collections.Array<Rid> exclude = null);Возвращает новый, предварительно настроенный объект PhysicsRayQueryParameters3D. Используйте его для быстрого создания параметров запроса с использованием наиболее распространенных опций.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector3 | — |
to | Vector3 | — |
collisionMask | uint | 4294967295 |
exclude | Reckfell.Collections.Array<Rid> | null |
PhysicsRayQueryParameters3DGetCollisionMaskuint
public uint GetCollisionMask();uintGetExcludeReckfell.Collections.Array<Rid>
public Reckfell.Collections.Array<Rid> GetExclude();Reckfell.Collections.Array<Rid>GetFromVector3
public Vector3 GetFrom();Vector3GetToVector3
public Vector3 GetTo();Vector3IsCollideWithAreasEnabledbool
public bool IsCollideWithAreasEnabled();boolIsCollideWithBodiesEnabledbool
public bool IsCollideWithBodiesEnabled();boolIsHitBackFacesEnabledbool
public bool IsHitBackFacesEnabled();boolIsHitFromInsideEnabledbool
public bool IsHitFromInsideEnabled();boolSetCollideWithAreasvoid
public void SetCollideWithAreas(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetCollideWithBodiesvoid
public void SetCollideWithBodies(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetCollisionMaskvoid
public void SetCollisionMask(uint collisionMask);| Имя | Тип | По умолчанию |
|---|---|---|
collisionMask | uint | — |
SetExcludevoid
public void SetExclude(Reckfell.Collections.Array<Rid> exclude);| Имя | Тип | По умолчанию |
|---|---|---|
exclude | Reckfell.Collections.Array<Rid> | — |
SetFromvoid
public void SetFrom(Vector3 from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector3 | — |
SetHitBackFacesvoid
public void SetHitBackFaces(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetHitFromInsidevoid
public void SetHitFromInside(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetTovoid
public void SetTo(Vector3 to);| Имя | Тип | По умолчанию |
|---|---|---|
to | Vector3 | — |