reckfellENGINE

PhysicsDirectBodyState3D

Предоставляет прямой доступ к физическому телу в PhysicsServer3D.

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

Предоставляет прямой доступ к физическому телу в PhysicsServer3D.

Предоставляет прямой доступ к физическому телу в PhysicsServer3D, позволяя безопасно изменять физические свойства. Этот объект передается через прямой обратный вызов состояния RigidBody3D и предназначен для изменения прямого состояния этого тела. См. RigidBody3D._IntegrateForces.

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

Свойства16

AngularVelocityСвойство
# AngularVelocity
C#
public Vector3 AngularVelocity { get; set; }

Скорость вращения тела в радианах в секунду.

CenterOfMassСвойство
# CenterOfMass
C#
public Vector3 CenterOfMass { get; }

Положение центра масс тела относительно центра тела в глобальной системе координат.

CenterOfMassLocalСвойство
# CenterOfMassLocal
C#
public Vector3 CenterOfMassLocal { get; }

Положение центра масс тела в локальной системе координат тела.

CollisionLayerСвойство
# CollisionLayer
C#
public uint CollisionLayer { get; set; }

Слой столкновений тела.

CollisionMaskСвойство
# CollisionMask
C#
public uint CollisionMask { get; set; }

Маска столкновения тела.

InverseInertiaСвойство
# InverseInertia
C#
public Vector3 InverseInertia { get; }

Величина, обратная инерции тела.

InverseInertiaTensorСвойство
# InverseInertiaTensor
C#
public Basis InverseInertiaTensor { get; }

Обратная величина тензора инерции тела.

InverseMassСвойство
# InverseMass
C#
public float InverseMass { get; }

Величина, обратная массе тела.

LinearVelocityСвойство
# LinearVelocity
C#
public Vector3 LinearVelocity { get; set; }

Линейная скорость тела в единицах в секунду.

PrincipalInertiaAxesСвойство
# PrincipalInertiaAxes
C#
public Basis PrincipalInertiaAxes { get; }
SleepingСвойство
# Sleeping
C#
public bool Sleeping { get; set; }

Если true, это тело в данный момент спит (не активно).

StepСвойство
# Step
C#
public float Step { get; }

Временной шаг (дельта), используемый для симуляции.

TotalAngularDampСвойство
# TotalAngularDamp
C#
public float TotalAngularDamp { get; }

Скорость, при которой тело прекращает вращение, если на него не действуют никакие другие силы.

TotalGravityСвойство
# TotalGravity
C#
public Vector3 TotalGravity { get; }

Суммарный вектор гравитации, действующий в данный момент на это тело.

TotalLinearDampСвойство
# TotalLinearDamp
C#
public float TotalLinearDamp { get; }

Скорость, с которой тело прекращает движение, если на него не действуют никакие другие силы.

TransformСвойство
# Transform
C#
public Transform3D Transform { get; set; }

Матрица трансформации тела.

Методы50

AddConstantCentralForcevoid
# AddConstantCentralForce
C#
public void AddConstantCentralForce(Vector3? force = default);

Добавляет постоянную направленную силу, не влияя на вращение, которая продолжает применяться с течением времени, пока не будет очищена с помощью constant_force = Vector3(0, 0, 0). Это эквивалентно использованию PhysicsDirectBodyState3D.AddConstantForce в центре масс тела.

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

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

AddConstantForcevoid
# AddConstantForce
C#
public void AddConstantForce(Vector3 force, Vector3? position = default);

Добавляет к телу постоянную позиционную силу, которая продолжает применяться с течением времени, пока не будет очищена с помощью constant_force = Vector3(0, 0, 0). position — это смещение от начала координат тела в глобальных координатах.

Параметры
ИмяТипПо умолчанию
forceVector3—
positionVector3?default
position

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

AddConstantTorquevoid
# AddConstantTorque
C#
public void AddConstantTorque(Vector3 torque);

Добавляет постоянную вращательную силу, не влияя на положение, которая продолжает применяться с течением времени, пока не будет очищена с помощью constant_torque = Vector3(0, 0, 0).

Параметры
ИмяТипПо умолчанию
torqueVector3—
ApplyCentralForcevoid
# ApplyCentralForce
C#
public void ApplyCentralForce(Vector3? force = default);

Применяет направленную силу, не влияя на вращение. Сила зависит от времени и должна применяться при каждом обновлении физики. Это эквивалентно использованию PhysicsDirectBodyState3D.ApplyForce в центре масс тела.

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

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

ApplyCentralImpulsevoid
# ApplyCentralImpulse
C#
public void ApplyCentralImpulse(Vector3? impulse = default);

Применяет направленный импульс, не влияя на вращение. Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force"). Это эквивалентно использованию PhysicsDirectBodyState3D.ApplyImpulse в центре масс тела.

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

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

ApplyForcevoid
# ApplyForce
C#
public void ApplyForce(Vector3 force, Vector3? position = default);

Применяет позиционированную силу к телу. Сила зависит от времени и должна применяться при каждом обновлении физики. position — это смещение от начала координат тела в глобальных координатах.

Параметры
ИмяТипПо умолчанию
forceVector3—
positionVector3?default
position

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

ApplyImpulsevoid
# ApplyImpulse
C#
public void ApplyImpulse(Vector3 impulse, Vector3? position = default);

Применяет позиционированный импульс к телу. Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force"). position — это смещение от начала координат тела в глобальных координатах.

Параметры
ИмяТипПо умолчанию
impulseVector3—
positionVector3?default
position

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

ApplyTorquevoid
# ApplyTorque
C#
public void ApplyTorque(Vector3 torque);

Применяет вращательную силу, не влияя на положение. Сила зависит от времени и должна применяться при каждом обновлении физики. Примечание: для работы требуется PhysicsDirectBodyState3D.InverseInertia. Чтобы иметь PhysicsDirectBodyState3D.InverseInertia, активный CollisionShape3D должен быть дочерним элементом узла, или вы можете вручную задать PhysicsDirectBodyState3D.InverseInertia.

Параметры
ИмяТипПо умолчанию
torqueVector3—
ApplyTorqueImpulsevoid
# ApplyTorqueImpulse
C#
public void ApplyTorqueImpulse(Vector3 impulse);

Применяет вращательный импульс к телу, не влияя на положение. Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force"). Примечание: для работы требуется PhysicsDirectBodyState3D.InverseInertia. Чтобы иметь PhysicsDirectBodyState3D.InverseInertia, активный CollisionShape3D должен быть дочерним элементом узла, или вы можете вручную задать PhysicsDirectBodyState3D.InverseInertia.

Параметры
ИмяТипПо умолчанию
impulseVector3—
GetAngularVelocityVector3
# GetAngularVelocity
C#
public Vector3 GetAngularVelocity();
Возвращает Vector3
GetCenterOfMassVector3
# GetCenterOfMass
C#
public Vector3 GetCenterOfMass();
Возвращает Vector3
GetCenterOfMassLocalVector3
# GetCenterOfMassLocal
C#
public Vector3 GetCenterOfMassLocal();
Возвращает Vector3
GetCollisionLayeruint
# GetCollisionLayer
C#
public uint GetCollisionLayer();
Возвращает uint
GetCollisionMaskuint
# GetCollisionMask
C#
public uint GetCollisionMask();
Возвращает uint
GetConstantForceVector3
# GetConstantForce
C#
public Vector3 GetConstantForce();

Возвращает общие постоянные позиционные силы тела, применяемые во время каждого обновления физики. См. PhysicsDirectBodyState3D.AddConstantForce и PhysicsDirectBodyState3D.AddConstantCentralForce.

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

Возвращает общие постоянные вращательные силы тела, применяемые во время каждого обновления физики. См. PhysicsDirectBodyState3D.AddConstantTorque.

Возвращает Vector3
GetContactColliderRid
# GetContactCollider
C#
public Rid GetContactCollider(int contactIdx);

Возвращает Rid коллайдера (collider).

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает Rid
GetContactColliderIdulong
# GetContactColliderId
C#
public ulong GetContactColliderId(int contactIdx);

Возвращает идентификатор объекта коллайдера.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает ulong
GetContactColliderObjectReckfellObject
# GetContactColliderObject
C#
public ReckfellObject GetContactColliderObject(int contactIdx);

Возвращает объект коллайдера.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает ReckfellObject
GetContactColliderPositionVector3
# GetContactColliderPosition
C#
public Vector3 GetContactColliderPosition(int contactIdx);

Возвращает положение точки контакта на коллайдере в глобальной системе координат.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает Vector3
GetContactColliderShapeint
# GetContactColliderShape
C#
public int GetContactColliderShape(int contactIdx);

Возвращает индекс формы коллайдера.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает int
GetContactColliderVelocityAtPositionVector3
# GetContactColliderVelocityAtPosition
C#
public Vector3 GetContactColliderVelocityAtPosition(int contactIdx);

Возвращает вектор линейной скорости в точке контакта коллайдера.

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

Возвращает количество контактов этого тела с другими телами. Примечание: По умолчанию возвращается 0, если тела не настроены на мониторинг контактов. См. RigidBody3D.ContactMonitor.

Возвращает int
GetContactImpulseVector3
# GetContactImpulse
C#
public Vector3 GetContactImpulse(int contactIdx);

Импульс, создаваемый контактом.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает Vector3
GetContactLocalNormalVector3
# GetContactLocalNormal
C#
public Vector3 GetContactLocalNormal(int contactIdx);

Возвращает локальную нормаль в точке контакта.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает Vector3
GetContactLocalPositionVector3
# GetContactLocalPosition
C#
public Vector3 GetContactLocalPosition(int contactIdx);

Возвращает положение точки контакта на теле в глобальной системе координат.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает Vector3
GetContactLocalShapeint
# GetContactLocalShape
C#
public int GetContactLocalShape(int contactIdx);

Возвращает локальный индекс формы столкновения.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает int
GetContactLocalVelocityAtPositionVector3
# GetContactLocalVelocityAtPosition
C#
public Vector3 GetContactLocalVelocityAtPosition(int contactIdx);

Возвращает вектор линейной скорости в точке контакта тела.

Параметры
ИмяТипПо умолчанию
contactIdxint—
Возвращает Vector3
GetInverseInertiaVector3
# GetInverseInertia
C#
public Vector3 GetInverseInertia();
Возвращает Vector3
GetInverseInertiaTensorBasis
# GetInverseInertiaTensor
C#
public Basis GetInverseInertiaTensor();
Возвращает Basis
GetInverseMassfloat
# GetInverseMass
C#
public float GetInverseMass();
Возвращает float
GetLinearVelocityVector3
# GetLinearVelocity
C#
public Vector3 GetLinearVelocity();
Возвращает Vector3
GetPrincipalInertiaAxesBasis
# GetPrincipalInertiaAxes
C#
public Basis GetPrincipalInertiaAxes();
Возвращает Basis
GetSpaceStatePhysicsDirectSpaceState3D
# GetSpaceState
C#
public PhysicsDirectSpaceState3D GetSpaceState();

Возвращает текущее состояние пространства, полезно для запросов.

Возвращает PhysicsDirectSpaceState3D
GetStepfloat
# GetStep
C#
public float GetStep();
Возвращает float
GetTotalAngularDampfloat
# GetTotalAngularDamp
C#
public float GetTotalAngularDamp();
Возвращает float
GetTotalGravityVector3
# GetTotalGravity
C#
public Vector3 GetTotalGravity();
Возвращает Vector3
GetTotalLinearDampfloat
# GetTotalLinearDamp
C#
public float GetTotalLinearDamp();
Возвращает float
GetTransformTransform3D
# GetTransform
C#
public Transform3D GetTransform();
Возвращает Transform3D
GetVelocityAtLocalPositionVector3
# GetVelocityAtLocalPosition
C#
public Vector3 GetVelocityAtLocalPosition(Vector3 localPosition);

Возвращает скорость тела в заданном относительном положении. local_position — смещение относительно начала координат тела в глобальных координатах.

Параметры
ИмяТипПо умолчанию
localPositionVector3—
Возвращает Vector3
IntegrateForcesvoid
# IntegrateForces
C#
public void IntegrateForces();

Обновляет линейную и угловую скорость тела, применяя гравитацию и демпфирование в течение эквивалента одного физического тика.

IsSleepingbool
# IsSleeping
C#
public bool IsSleeping();
Возвращает bool
SetAngularVelocityvoid
# SetAngularVelocity
C#
public void SetAngularVelocity(Vector3 velocity);
Параметры
ИмяТипПо умолчанию
velocityVector3—
SetCollisionLayervoid
# SetCollisionLayer
C#
public void SetCollisionLayer(uint layer);
Параметры
ИмяТипПо умолчанию
layeruint—
SetCollisionMaskvoid
# SetCollisionMask
C#
public void SetCollisionMask(uint mask);
Параметры
ИмяТипПо умолчанию
maskuint—
SetConstantForcevoid
# SetConstantForce
C#
public void SetConstantForce(Vector3 force);

Устанавливает общие постоянные позиционные силы тела, применяемые во время каждого обновления физики. См. PhysicsDirectBodyState3D.AddConstantForce и PhysicsDirectBodyState3D.AddConstantCentralForce.

Параметры
ИмяТипПо умолчанию
forceVector3—
SetConstantTorquevoid
# SetConstantTorque
C#
public void SetConstantTorque(Vector3 torque);

Устанавливает общие постоянные вращательные силы тела, применяемые во время каждого обновления физики. См. PhysicsDirectBodyState3D.AddConstantTorque.

Параметры
ИмяТипПо умолчанию
torqueVector3—
SetLinearVelocityvoid
# SetLinearVelocity
C#
public void SetLinearVelocity(Vector3 velocity);
Параметры
ИмяТипПо умолчанию
velocityVector3—
SetSleepStatevoid
# SetSleepState
C#
public void SetSleepState(bool enabled);
Параметры
ИмяТипПо умолчанию
enabledbool—
SetTransformvoid
# SetTransform
C#
public void SetTransform(Transform3D transform);
Параметры
ИмяТипПо умолчанию
transformTransform3D—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

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

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

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