reckfellENGINE

PhysicsDirectSpaceState2D

Прямые запросы физического мира 2D.

На этой странице
class PhysicsDirectSpaceState2DReckfellSharpНаследует ReckfellObject

PhysicsDirectSpaceState2D предоставляет запросы мира, к которому относится viewport. Получайте его через GetWorld2D().DirectSpaceState у сущности в нужном мире. Выполняйте запрос в подходящей физической фазе; при потоковой симуляции пространство может быть заблокировано.

IntersectRay использует мировые From/To и возвращает пустой Dictionary при промахе. При попадании проверяйте ключи и тип collider. Для последующей отложенной работы учитывайте, что найденный объект может быть удалён. Геометрия, только что перемещённая вне физического шага, не обещает немедленного обновления всех данных мира.

Руководство и пример.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Методы12

CastMotionfloat[]
# CastMotion
C#
public float[] CastMotion(PhysicsShapeQueryParameters2D parameters);

Проверяет, насколько далеко Shape2D может двигаться без столкновений. Все параметры для запроса, включая форму и движение, предоставляются через объект PhysicsShapeQueryParameters2D. Возвращает массив с безопасными и небезопасными пропорциями (от 0 до 1) движения. Безопасная пропорция — это максимальная часть движения, которую можно выполнить без столкновений. Небезопасная пропорция — это минимальная часть расстояния, которое необходимо пройти для столкновения. Если столкновение не обнаружено, будет возвращен результат [1.0, 1.0]. Примечание: Любые Shape2D, с которыми фигура уже сталкивается, например, внутри, будут игнорироваться. Используйте PhysicsDirectSpaceState2D.CollideShape, чтобы определить Shape2D, с которыми фигура уже сталкивается.

Параметры
ИмяТипПо умолчанию
parametersPhysicsShapeQueryParameters2D—
Возвращает float[]
CastMotionIntobool
# CastMotionInto
C#
public bool CastMotionInto(PhysicsShapeQueryParameters2D parameters, PhysicsCastMotionResult2D result);

Проверяет, как далеко Shape2D Все параметры запроса, включая форму и движение, предоставляются через а. PhysicsShapeQueryParameters2D объект. Если запрос удовлетворен, этот метод возвращает true и записывает результаты движения в PhysicsCastMotionResult2D объект передан в result. Если столкновения не происходит, оно возвращается false. Примечание: Любой Shape2Ds Что форма уже вступает в коллизию с, например, внутри, будет проигнорирована. PhysicsDirectSpaceState2D.CollideShapeInto для определения Shape2DС тем, что форма уже вступает в противоречие.

Параметры
ИмяТипПо умолчанию
parametersPhysicsShapeQueryParameters2D—
resultPhysicsCastMotionResult2D—
Возвращает bool
CollideShapeReckfell.Collections.Array<Vector2>
# CollideShape
C#
public Reckfell.Collections.Array<Vector2> CollideShape(PhysicsShapeQueryParameters2D parameters, int maxResults = 32);

Проверяет пересечения формы, заданной через объект PhysicsShapeQueryParameters2D, с пространством. Результирующий массив содержит список точек, где форма пересекает другую. Как и в случае с PhysicsDirectSpaceState2D.IntersectShape, количество возвращаемых результатов может быть ограничено для экономии времени обработки. Возвращаемые точки представляют собой список пар точек контакта. Для каждой пары первая находится в форме, переданной в объект PhysicsShapeQueryParameters2D, вторая находится в столкновенной форме из физического пространства.

Параметры
ИмяТипПо умолчанию
parametersPhysicsShapeQueryParameters2D—
maxResultsint32
Возвращает Reckfell.Collections.Array<Vector2>
CollideShapeIntobool
# CollideShapeInto
C#
public bool CollideShapeInto(PhysicsShapeQueryParameters2D parameters, PhysicsCollideShapeResult2D result);

Проверяет пересечения формы, получаемой через a PhysicsShapeQueryParameters2D Объект, против пространства. При обнаружении перекрестков этот метод возвращает true и записывает точки столкновения в PhysicsCollideShapeResult2D объект передан в result. Если перекрестки не найдены, они возвращаются false. Число возвращенных результатов может быть ограничено с использованием PhysicsCollideShapeResult2D.MaxCollisions, чтобы сократить время обработки.

Параметры
ИмяТипПо умолчанию
parametersPhysicsShapeQueryParameters2D—
resultPhysicsCollideShapeResult2D—
Возвращает bool
GetRestInfoReckfell.Collections.Dictionary
# GetRestInfo
C#
public Reckfell.Collections.Dictionary GetRestInfo(PhysicsShapeQueryParameters2D parameters);

Проверяет пересечения фигуры, заданной через объект PhysicsShapeQueryParameters2D, с пространством. Если она сталкивается с несколькими фигурами, выбирается ближайшая. Возвращаемый объект представляет собой словарь, содержащий следующие поля: collider_id: идентификатор сталкивающегося объекта. linear_velocity: скорость сталкивающегося объекта Vector2. Если объект является Area2D, результатом будет (0, 0). normal: нормаль столкновения фигуры запроса в точке пересечения, направленная от пересекающегося объекта. point: точка пересечения. rid: Rid пересекающегося объекта. shape: индекс фигуры сталкивающейся фигуры. Если фигура ничего не пересекает, то возвращается пустой словарь.

Параметры
ИмяТипПо умолчанию
parametersPhysicsShapeQueryParameters2D—
Возвращает Reckfell.Collections.Dictionary
GetRestInfoIntobool
# GetRestInfoInto
C#
public bool GetRestInfoInto(PhysicsShapeQueryParameters2D parameters, PhysicsGetRestInfoResult2D result);

Проверяет пересечения формы, получаемой через a PhysicsShapeQueryParameters2D Объект, против пространства. Если форма коллидирует с одной или несколькими формами, этот метод возвращается. true и записывает ближайшую информацию о столкновении PhysicsGetRestInfoResult2D объект передан в result. Если столкновения не происходят, они возвращаются false.

Параметры
ИмяТипПо умолчанию
parametersPhysicsShapeQueryParameters2D—
resultPhysicsGetRestInfoResult2D—
Возвращает bool
IntersectPointReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# IntersectPoint
C#
public Reckfell.Collections.Array<Reckfell.Collections.Dictionary> IntersectPoint(PhysicsPointQueryParameters2D parameters, int maxResults = 32);

Проверяет, находится ли точка внутри какой-либо сплошной фигуры. Положение и другие параметры определяются через PhysicsPointQueryParameters2D. Фигуры, внутри которых находится точка, возвращаются в массиве, содержащем словари со следующими полями: collider: сталкивающийся объект. collider_id: идентификатор сталкивающегося объекта. rid: Rid пересекающегося объекта. shape: индекс формы сталкивающейся фигуры. Количество пересечений можно ограничить с помощью параметра max_results, чтобы сократить время обработки. Примечание: ConcavePolygonShape2D и CollisionPolygon2D в режиме построения Segments не являются сплошными фигурами. Поэтому они не будут обнаружены.

Параметры
ИмяТипПо умолчанию
parametersPhysicsPointQueryParameters2D—
maxResultsint32
Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>
IntersectPointIntobool
# IntersectPointInto
C#
public bool IntersectPointInto(PhysicsPointQueryParameters2D parameters, PhysicsIntersectPointResult2D result);

Проверяет, находится ли точка в какой-либо твердой форме. PhysicsPointQueryParameters2D. Если одна или несколько форм пересекают точку, этот метод возвращает true и записывает данные о пересечении PhysicsIntersectPointResult2D объект передан в result. Если перекрестки не найдены, они возвращаются false. Количество перекрестков может быть ограничено с использованием PhysicsIntersectPointResult2D.MaxIntersections, чтобы сократить время обработки. Примечание: ConcavePolygonShape2DS и CollisionPolygon2Ds Segments Строительный режим - это не твердые формы, поэтому они не будут обнаружены.

Параметры
ИмяТипПо умолчанию
parametersPhysicsPointQueryParameters2D—
resultPhysicsIntersectPointResult2D—
Возвращает bool
IntersectRayReckfell.Collections.Dictionary
# IntersectRay
C#
public Reckfell.Collections.Dictionary IntersectRay(PhysicsRayQueryParameters2D parameters);

Проверяет мировой отрезок и возвращает Dictionary: пустой при промахе, данные collider/position/normal и формы при попадании. Перед чтением проверьте результат и тип объекта.

Параметры
ИмяТипПо умолчанию
parametersPhysicsRayQueryParameters2D—
Возвращает Reckfell.Collections.Dictionary
IntersectRayIntobool
# IntersectRayInto
C#
public bool IntersectRayInto(PhysicsRayQueryParameters2D parameters, PhysicsIntersectRayResult2D result);

Пересекает луч в данном пространстве. Расовое положение и другие параметры определяются через PhysicsRayQueryParameters2D. Если луч попадает в форму, этот метод возвращается true и записывает информацию о пересечении PhysicsIntersectRayResult2D объект передан в result. Если ничего не происходит, он возвращается false.

Параметры
ИмяТипПо умолчанию
parametersPhysicsRayQueryParameters2D—
resultPhysicsIntersectRayResult2D—
Возвращает bool
IntersectShapeReckfell.Collections.Array<Reckfell.Collections.Dictionary>
# IntersectShape
C#
public Reckfell.Collections.Array<Reckfell.Collections.Dictionary> IntersectShape(PhysicsShapeQueryParameters2D parameters, int maxResults = 32);

Проверяет пересечения формы, заданной через объект PhysicsShapeQueryParameters2D, с пространством. Пересеченные формы возвращаются в массиве, содержащем словари со следующими полями: collider: сталкивающийся объект. collider_id: идентификатор сталкивающегося объекта. rid: Rid пересекающегося объекта. shape: индекс формы сталкивающейся формы. Количество пересечений можно ограничить параметром max_results, чтобы сократить время обработки.

Параметры
ИмяТипПо умолчанию
parametersPhysicsShapeQueryParameters2D—
maxResultsint32
Возвращает Reckfell.Collections.Array<Reckfell.Collections.Dictionary>
IntersectShapeIntobool
# IntersectShapeInto
C#
public bool IntersectShapeInto(PhysicsShapeQueryParameters2D parameters, PhysicsIntersectShapeResult2D result);

Проверяет пересечения формы, получаемой через a PhysicsShapeQueryParameters2D Объект, против пространства. Если обнаруживается, что одна или несколько форм пересекаются, этот метод возвращает true и записывает данные о пересечении PhysicsIntersectShapeResult2D объект передан в result. Если не обнаруживается пересекающихся форм, она возвращается false. Количество перекрестков может быть ограничено с использованием PhysicsIntersectShapeResult2D.MaxIntersections, чтобы сократить время обработки.

Параметры
ИмяТипПо умолчанию
parametersPhysicsShapeQueryParameters2D—
resultPhysicsIntersectShapeResult2D—
Возвращает bool
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.