KinematicCollision2D
Результат проверенного движения тела 2D.
KinematicCollision2D содержит данные контакта: collider, нормаль, пройденный путь и остаток. После MoveAndCollide сначала проверьте результат на null. После MoveAndSlide берите результаты через GetSlideCollisionCount/GetSlideCollision.
GetTravel и GetRemainder не взаимозаменяемы: остаток нужен для продолжения ещё не выполненного движения. Не прикладывайте исходное перемещение повторно. При последующей отложенной обработке проверяйте существование collider; контакт не удерживает игровой объект от удаления.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Конструкторы1
KinematicCollision2DКонструктор
public KinematicCollision2D();Методы13
GetAnglefloat
public float GetAngle(Vector2? upDirection = default);Возвращает угол столкновения в соответствии с up_direction, который по умолчанию равен Vector2.Up. Это значение всегда положительно.
| Имя | Тип | По умолчанию |
|---|---|---|
upDirection | Vector2? | default |
upDirectionЕсли параметр не имеет значения, то значение по умолчанию: new Vector2(0.0f, -1.0f).
floatGetColliderReckfellObject
public ReckfellObject GetCollider();Возвращает прикрепленный ReckfellObject сталкивающегося тела.
ReckfellObjectGetColliderIdulong
public ulong GetColliderId();Возвращает уникальный идентификатор экземпляра прикрепленного ReckfellObject сталкивающегося тела. См. ReckfellObject.GetInstanceId.
ulongGetColliderRidRid
public Rid GetColliderRid();Возвращает Rid сталкивающегося тела, используемый PhysicsServer2D.
RidGetColliderShapeReckfellObject
public ReckfellObject GetColliderShape();Возвращает форму сталкивающегося тела.
ReckfellObjectGetColliderShapeIndexint
public int GetColliderShapeIndex();Возвращает индекс формы сталкивающегося тела. См. CollisionObject2D.
intGetColliderVelocityVector2
public Vector2 GetColliderVelocity();Возвращает скорость сталкивающегося тела.
Vector2GetDepthfloat
public float GetDepth();Возвращает длину перекрытия сталкивающегося тела вдоль нормали столкновения.
floatGetLocalShapeReckfellObject
public ReckfellObject GetLocalShape();Возвращает форму столкновения движущегося объекта.
ReckfellObjectGetNormalVector2
public Vector2 GetNormal();Возвращает нормаль формы сталкивающегося тела в точке столкновения.
Vector2GetPositionVector2
public Vector2 GetPosition();Возвращает точку столкновения в глобальных координатах.
Vector2GetRemainderVector2
public Vector2 GetRemainder();Остаток заданного перемещения после контакта. При отражении преобразуйте и скорость, и этот остаток; повтор исходного отрезка увеличил бы пройденный путь.
Vector2GetTravelVector2
public Vector2 GetTravel();Возвращает путь движущегося объекта до столкновения.
Vector2