PhysicsRayQueryParameters2D
Параметры разового лучевого запроса 2D.
From и To — мировые конечные точки одного отрезка. CollisionMask фильтрует Layer кандидатов, CollideWithBodies/CollideWithAreas выбирают категории. Exclude содержит RID физических объектов, а не идентификаторы экземпляров.
Параметры не берутся автоматически у камеры/оружия. Проверьте конечность координат, положительную длину при её вычислении и нужный мир. HitFromInside и ограничения геометрии учитывайте отдельно; разрешение обратных сторон не превращает concave-поверхность в заполненный объём.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
PhysicsRayQueryParameters2DКонструктор
public PhysicsRayQueryParameters2D();Свойства7
CollideWithAreasСвойство
public bool CollideWithAreas { get; set; }Если true, запрос будет учитывать Area2D.
CollideWithBodiesСвойство
public bool CollideWithBodies { get; set; }Если true, запрос будет учитывать PhysicsBody2D.
CollisionMaskСвойство
public uint CollisionMask { get; set; }Слои физики, которые запрос обнаружит (как битовую маску). По умолчанию обнаруживаются все слои столкновений. Для получения дополнительной информации см. Слои и маски столкновений в документации.
ExcludeСвойство
public Reckfell.Collections.Array<Rid> Exclude { get; set; }RID физических объектов, исключённых из запроса. Получайте их у CollisionObject.GetRid; GetInstanceId и ссылки на видимые меши не являются такими RID.
FromСвойство
public Vector2 From { get; set; }Начальная точка запрашиваемого луча в глобальных координатах.
HitFromInsideСвойство
public bool HitFromInside { get; set; }Если true, запрос обнаружит попадание при запуске внутри фигур. В этом случае нормаль столкновения будет Vector2(0, 0). Не влияет на вогнутые полигоны фигур.
ToСвойство
public Vector2 To { get; set; }Конечная точка запрашиваемого луча в глобальных координатах.
Методы15
CreatePhysicsRayQueryParameters2D
public static PhysicsRayQueryParameters2D Create(Vector2 from, Vector2 to, uint collisionMask = 4294967295, Reckfell.Collections.Array<Rid> exclude = null);Возвращает новый, предварительно настроенный объект PhysicsRayQueryParameters2D. Используйте его для быстрого создания параметров запроса с использованием наиболее распространенных опций.
| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2 | — |
to | Vector2 | — |
collisionMask | uint | 4294967295 |
exclude | Reckfell.Collections.Array<Rid> | null |
PhysicsRayQueryParameters2DGetCollisionMaskuint
public uint GetCollisionMask();uintGetExcludeReckfell.Collections.Array<Rid>
public Reckfell.Collections.Array<Rid> GetExclude();Reckfell.Collections.Array<Rid>GetFromVector2
public Vector2 GetFrom();Vector2GetToVector2
public Vector2 GetTo();Vector2IsCollideWithAreasEnabledbool
public bool IsCollideWithAreasEnabled();boolIsCollideWithBodiesEnabledbool
public bool IsCollideWithBodiesEnabled();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(Vector2 from);| Имя | Тип | По умолчанию |
|---|---|---|
from | Vector2 | — |
SetHitFromInsidevoid
public void SetHitFromInside(bool enable);| Имя | Тип | По умолчанию |
|---|---|---|
enable | bool | — |
SetTovoid
public void SetTo(Vector2 to);| Имя | Тип | По умолчанию |
|---|---|---|
to | Vector2 | — |