reckfellENGINE

KinematicCollision3D

Результат проверенного движения тела 3D.

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

KinematicCollision3D содержит данные контакта: collider, нормаль, пройденный путь и остаток. После MoveAndCollide сначала проверьте результат на null. После MoveAndSlide берите результаты через GetSlideCollisionCount/GetSlideCollision.

GetTravel и GetRemainder не взаимозаменяемы: остаток нужен для продолжения ещё не выполненного движения. Не прикладывайте исходное перемещение повторно. При последующей отложенной обработке проверяйте существование collider; контакт не удерживает игровой объект от удаления.

Рабочие примеры.

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

Конструкторы1

KinematicCollision3DКонструктор
# KinematicCollision3D
C#
public KinematicCollision3D();

Методы14

GetAnglefloat
# GetAngle
C#
public float GetAngle(int collisionIndex = 0, Vector3? upDirection = default);

Возвращает угол столкновения в соответствии с up_direction, который по умолчанию равен Vector3.Up. Это значение всегда положительно.

Параметры
ИмяТипПо умолчанию
collisionIndexint0
upDirectionVector3?default
upDirection

Если параметр не имеет значения, то значение по умолчанию: new Vector3(0.0f, 1.0f, 0.0f).

Возвращает float
GetColliderReckfellObject
# GetCollider
C#
public ReckfellObject GetCollider(int collisionIndex = 0);

Возвращает прикрепленный к сталкивающемуся телу ReckfellObject с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает ReckfellObject
GetColliderIdulong
# GetColliderId
C#
public ulong GetColliderId(int collisionIndex = 0);

Возвращает уникальный идентификатор экземпляра ReckfellObject, прикрепленного к сталкивающемуся телу, с учетом индекса столкновения (по умолчанию — самое глубокое столкновение). См. ReckfellObject.GetInstanceId.

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает ulong
GetColliderRidRid
# GetColliderRid
C#
public Rid GetColliderRid(int collisionIndex = 0);

Возвращает Rid сталкивающегося тела, используемый PhysicsServer3D, с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает Rid
GetColliderShapeReckfellObject
# GetColliderShape
C#
public ReckfellObject GetColliderShape(int collisionIndex = 0);

Возвращает форму сталкивающегося тела с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает ReckfellObject
GetColliderShapeIndexint
# GetColliderShapeIndex
C#
public int GetColliderShapeIndex(int collisionIndex = 0);

Возвращает индекс формы сталкивающегося тела, заданный индексом столкновения (по умолчанию — самое глубокое столкновение). См. CollisionObject3D.

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает int
GetColliderVelocityVector3
# GetColliderVelocity
C#
public Vector3 GetColliderVelocity(int collisionIndex = 0);

Возвращает скорость сталкивающегося тела по индексу столкновения (по умолчанию — самое глубокое столкновение).

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает Vector3
GetCollisionCountint
# GetCollisionCount
C#
public int GetCollisionCount();

Возвращает количество обнаруженных столкновений.

Возвращает int
GetDepthfloat
# GetDepth
C#
public float GetDepth();

Возвращает длину перекрытия сталкивающегося тела вдоль нормали столкновения.

Возвращает float
GetLocalShapeReckfellObject
# GetLocalShape
C#
public ReckfellObject GetLocalShape(int collisionIndex = 0);

Возвращает форму столкновения движущегося объекта с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает ReckfellObject
GetNormalVector3
# GetNormal
C#
public Vector3 GetNormal(int collisionIndex = 0);

Возвращает нормаль формы сталкивающегося тела в точке столкновения с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает Vector3
GetPositionVector3
# GetPosition
C#
public Vector3 GetPosition(int collisionIndex = 0);

Возвращает точку столкновения в глобальных координатах с учетом индекса столкновения (по умолчанию — самое глубокое столкновение).

Параметры
ИмяТипПо умолчанию
collisionIndexint0
Возвращает Vector3
GetRemainderVector3
# GetRemainder
C#
public Vector3 GetRemainder();

Остаток заданного перемещения после контакта. При отражении преобразуйте и скорость, и этот остаток; повтор исходного отрезка увеличил бы пройденный путь.

Возвращает Vector3
GetTravelVector3
# GetTravel
C#
public Vector3 GetTravel();

Возвращает путь движущегося объекта до столкновения.

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

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

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

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