reckfellENGINE

PhysicsServer3D

Серверный интерфейс для низкоуровневого доступа к трехмерной физике.

На этой странице
class PhysicsServer3DReckfellSharp

Серверный интерфейс для низкоуровневого доступа к трехмерной физике.

PhysicsServer3D — сервер, отвечающий за всю трехмерную физику. Он может напрямую создавать и управлять всеми физическими объектами:

  • пространство — это автономный мир для моделирования физики. Оно содержит тела, области и сочленения. Его состояние может быть запрошено для получения информации о столкновениях и пересечениях, и можно изменить несколько параметров моделирования.
  • форма — это геометрическая форма, такая как сфера, параллелепипед, цилиндр или многоугольник. Ее можно использовать для обнаружения столкновений, добавив ее к телу/области, возможно, с дополнительным преобразованием относительно начала координат тела/области. Тела/области могут иметь несколько (преобразованных) форм, добавленных к ним, и одна форма может быть добавлена к телам/областям несколько раз с различными локальными преобразованиями.
  • тело — это физический объект, который может находиться в статическом, кинематическом или жестком режиме. Его состояние (такое как положение и скорость) можно запрашивать и обновлять. Обратный вызов интеграции силы может быть установлен для настройки физики тела.
  • область - это область в пространстве, которая может использоваться для обнаружения тел и областей, входящих и выходящих из нее. Обратный вызов мониторинга тела может быть установлен для сообщения о входе/выходе форм тела, и аналогичным образом может быть установлен обратный вызов мониторинга области. Гравитация и демпфирование могут быть переопределены в области путем установки параметров области.
  • соединение - это ограничение, либо между двумя телами, либо на одном теле относительно точки. Такие параметры, как смещение сочленения и остаточная длина пружинного соединения, могут быть скорректированы. Физические объекты в PhysicsServer3D могут быть созданы и изменены независимо; они не должны быть привязаны к узлам в дереве сцены. Примечание: Все узлы 3D-физики используют физический сервер внутренне. Добавление физического узла в дерево сцены приведет к созданию соответствующего физического объекта на физическом сервере. Узел твердого тела регистрирует обратный вызов, который обновляет преобразование узла с преобразованием соответствующего объекта тела на физическом сервере (каждое обновление физики). Узел области регистрирует обратный вызов, чтобы информировать узел области о перекрытиях с соответствующим объектом области на физическом сервере. Узел raycast запрашивает прямое состояние соответствующего пространства на физическом сервере.

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

Свойства1

SingletonСвойство
# Singleton
C#
public static PhysicsServer3DInstance Singleton { get; }

Методы177

AreaAddShapevoid
# AreaAddShape
C#
public static void AreaAddShape(Rid area, Rid shape, Transform3D? transform = default, bool disabled = false);

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

Параметры
ИмяТипПо умолчанию
areaRid—
shapeRid—
transformTransform3D?default
disabledboolfalse
transform

Если параметр не имеет значения, то значение по умолчанию: Transform3D.Identity.

AreaAttachObjectInstanceIdvoid
# AreaAttachObjectInstanceId
C#
public static void AreaAttachObjectInstanceId(Rid area, ulong id);

Назначает область потомку ReckfellObject, чтобы она могла существовать в дереве узлов.

Параметры
ИмяТипПо умолчанию
areaRid—
idulong—
AreaClearShapesvoid
# AreaClearShapes
C#
public static void AreaClearShapes(Rid area);

Удаляет все фигуры из области. Фигуры не удаляются, поэтому их можно переназначить позже.

Параметры
ИмяТипПо умолчанию
areaRid—
AreaCreateRid
# AreaCreate
C#
public static Rid AreaCreate();

Создает объект 3D-области на физическом сервере и возвращает Rid, который его идентифицирует. Настройки по умолчанию для созданной области включают слой столкновений и маску, установленные на 1, и monitorable, установленные на false. Используйте PhysicsServer3D.AreaAddShape, чтобы добавить к нему формы, используйте PhysicsServer3D.AreaSetTransform, чтобы задать его преобразование, и используйте PhysicsServer3D.AreaSetSpace, чтобы добавить область в пространство. Если вы хотите, чтобы область была обнаруживаемой, используйте PhysicsServer3D.AreaSetMonitorable.

Возвращает Rid
AreaGetCollisionLayeruint
# AreaGetCollisionLayer
C#
public static uint AreaGetCollisionLayer(Rid area);

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

Параметры
ИмяТипПо умолчанию
areaRid—
Возвращает uint
AreaGetCollisionMaskuint
# AreaGetCollisionMask
C#
public static uint AreaGetCollisionMask(Rid area);

Возвращает физический слой или слои, с которыми может контактировать область.

Параметры
ИмяТипПо умолчанию
areaRid—
Возвращает uint
AreaGetObjectInstanceIdulong
# AreaGetObjectInstanceId
C#
public static ulong AreaGetObjectInstanceId(Rid area);

Получает идентификатор экземпляра объекта, которому назначена область.

Параметры
ИмяТипПо умолчанию
areaRid—
Возвращает ulong
AreaGetParamVariant
# AreaGetParam
C#
public static Variant AreaGetParam(Rid area, PhysicsServer3D.AreaParameter param);

Возвращает значение параметра области. Список доступных параметров находится в константах PhysicsServer3D.AreaParameter.

Параметры
ИмяТипПо умолчанию
areaRid—
paramPhysicsServer3D.AreaParameter—
Возвращает Variant
AreaGetShapeRid
# AreaGetShape
C#
public static Rid AreaGetShape(Rid area, int shapeIdx);

Возвращает Rid n-й формы области.

Параметры
ИмяТипПо умолчанию
areaRid—
shapeIdxint—
Возвращает Rid
AreaGetShapeCountint
# AreaGetShapeCount
C#
public static int AreaGetShapeCount(Rid area);

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

Параметры
ИмяТипПо умолчанию
areaRid—
Возвращает int
AreaGetShapeTransformTransform3D
# AreaGetShapeTransform
C#
public static Transform3D AreaGetShapeTransform(Rid area, int shapeIdx);

Возвращает матрицу преобразования фигуры внутри области.

Параметры
ИмяТипПо умолчанию
areaRid—
shapeIdxint—
Возвращает Transform3D
AreaGetSpaceRid
# AreaGetSpace
C#
public static Rid AreaGetSpace(Rid area);

Возвращает пространство, назначенное области.

Параметры
ИмяТипПо умолчанию
areaRid—
Возвращает Rid
AreaGetTransformTransform3D
# AreaGetTransform
C#
public static Transform3D AreaGetTransform(Rid area);

Возвращает матрицу преобразования для области.

Параметры
ИмяТипПо умолчанию
areaRid—
Возвращает Transform3D
AreaRemoveShapevoid
# AreaRemoveShape
C#
public static void AreaRemoveShape(Rid area, int shapeIdx);

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

Параметры
ИмяТипПо умолчанию
areaRid—
shapeIdxint—
AreaSetAreaMonitorCallbackvoid
# AreaSetAreaMonitorCallback
C#
public static void AreaSetAreaMonitorCallback(Rid area, Callable callback);

Устанавливает обратный вызов монитора области. Этот обратный вызов будет вызван, когда любая другая (форма) области входит или выходит из (формы) заданной области, и должен принимать следующие пять параметров:

  1. целое число status: либо PhysicsServer3D.AreaBodyStatus.Added или PhysicsServer3D.AreaBodyStatus.Removed в зависимости от того, вошла или вышла из области форма другой области,
  2. Rid area_rid: Rid другой области, которая вошла или вышла из области,
  3. целое число instance_id: ObjectID, прикрепленный к другой области,
  4. целое число area_shape_idx: индекс формы другой области, которая вошла или вышла из области,
  5. целое число self_shape_idx: индекс формы области, в которую вошла или вышла другая область. Подсчитывая (или отслеживая) входящие и выходящие фигуры, можно определить, входит ли область (со всеми ее фигурами) в первый раз или выходит в последний раз.
Параметры
ИмяТипПо умолчанию
areaRid—
callbackCallable—
AreaSetCollisionLayervoid
# AreaSetCollisionLayer
C#
public static void AreaSetCollisionLayer(Rid area, uint layer);

Назначает область одному или нескольким физическим слоям.

Параметры
ИмяТипПо умолчанию
areaRid—
layeruint—
AreaSetCollisionMaskvoid
# AreaSetCollisionMask
C#
public static void AreaSetCollisionMask(Rid area, uint mask);

Устанавливает, какие физические слои будет отслеживать область.

Параметры
ИмяТипПо умолчанию
areaRid—
maskuint—
AreaSetMonitorCallbackvoid
# AreaSetMonitorCallback
C#
public static void AreaSetMonitorCallback(Rid area, Callable callback);

Устанавливает обратный вызов монитора тела области. Этот обратный вызов будет вызван, когда любое другое (форма) тело входит или выходит (форма) из заданной области, и должен принимать следующие пять параметров:

  1. целое число status: либо PhysicsServer3D.AreaBodyStatus.Added или PhysicsServer3D.AreaBodyStatus.Removed в зависимости от того, вошла или вышла из области другая форма тела,
  2. Rid body_rid: Rid тела, которое вошло или вышло из области,
  3. целое число instance_id: ObjectID, прикрепленный к телу,
  4. целое число body_shape_idx: индекс формы тела, которое вошло или вышло из области,
  5. целое число self_shape_idx: индекс формы области, в которую тело вошло или вышло. Подсчитывая (или отслеживая) входящие и выходящие формы, можно определить, входит ли тело (со всеми его формами) в первый раз или выходит в последний раз.
Параметры
ИмяТипПо умолчанию
areaRid—
callbackCallable—
AreaSetMonitorablevoid
# AreaSetMonitorable
C#
public static void AreaSetMonitorable(Rid area, bool monitorable);
Параметры
ИмяТипПо умолчанию
areaRid—
monitorablebool—
AreaSetParamvoid
# AreaSetParam
C#
public static void AreaSetParam(Rid area, PhysicsServer3D.AreaParameter param, Variant value);

Устанавливает значение параметра области. Список доступных параметров находится в константах PhysicsServer3D.AreaParameter.

Параметры
ИмяТипПо умолчанию
areaRid—
paramPhysicsServer3D.AreaParameter—
valueVariant—
AreaSetRayPickablevoid
# AreaSetRayPickable
C#
public static void AreaSetRayPickable(Rid area, bool enable);

Позволяет выбирать объекты с помощью лучей.

Параметры
ИмяТипПо умолчанию
areaRid—
enablebool—
AreaSetShapevoid
# AreaSetShape
C#
public static void AreaSetShape(Rid area, int shapeIdx, Rid shape);

Заменяет заданную форму области другой. Старая форма выбирается по ее индексу, новая — по ее Rid.

Параметры
ИмяТипПо умолчанию
areaRid—
shapeIdxint—
shapeRid—
AreaSetShapeDisabledvoid
# AreaSetShapeDisabled
C#
public static void AreaSetShapeDisabled(Rid area, int shapeIdx, bool disabled);
Параметры
ИмяТипПо умолчанию
areaRid—
shapeIdxint—
disabledbool—
AreaSetShapeTransformvoid
# AreaSetShapeTransform
C#
public static void AreaSetShapeTransform(Rid area, int shapeIdx, Transform3D transform);

Задает матрицу преобразования для формы области.

Параметры
ИмяТипПо умолчанию
areaRid—
shapeIdxint—
transformTransform3D—
AreaSetSpacevoid
# AreaSetSpace
C#
public static void AreaSetSpace(Rid area, Rid space);

Назначает пространство области.

Параметры
ИмяТипПо умолчанию
areaRid—
spaceRid—
AreaSetTransformvoid
# AreaSetTransform
C#
public static void AreaSetTransform(Rid area, Transform3D transform);

Задает матрицу преобразования для области.

Параметры
ИмяТипПо умолчанию
areaRid—
transformTransform3D—
BodyAddCollisionExceptionvoid
# BodyAddCollisionException
C#
public static void BodyAddCollisionException(Rid body, Rid exceptedBody);

Добавляет тело в список тел, освобожденных от столкновений.

Параметры
ИмяТипПо умолчанию
bodyRid—
exceptedBodyRid—
BodyAddConstantCentralForcevoid
# BodyAddConstantCentralForce
C#
public static void BodyAddConstantCentralForce(Rid body, Vector3 force);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
forceVector3—
BodyAddConstantForcevoid
# BodyAddConstantForce
C#
public static void BodyAddConstantForce(Rid body, Vector3 force, Vector3? position = default);

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

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

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

BodyAddConstantTorquevoid
# BodyAddConstantTorque
C#
public static void BodyAddConstantTorque(Rid body, Vector3 torque);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
torqueVector3—
BodyAddShapevoid
# BodyAddShape
C#
public static void BodyAddShape(Rid body, Rid shape, Transform3D? transform = default, bool disabled = false);

Добавляет форму к телу вместе с матрицей преобразования. Формы обычно ссылаются по их индексу, поэтому следует отслеживать, какая форма имеет заданный индекс.

Параметры
ИмяТипПо умолчанию
bodyRid—
shapeRid—
transformTransform3D?default
disabledboolfalse
transform

Если параметр не имеет значения, то значение по умолчанию: Transform3D.Identity.

BodyApplyCentralForcevoid
# BodyApplyCentralForce
C#
public static void BodyApplyCentralForce(Rid body, Vector3 force);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
forceVector3—
BodyApplyCentralImpulsevoid
# BodyApplyCentralImpulse
C#
public static void BodyApplyCentralImpulse(Rid body, Vector3 impulse);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
impulseVector3—
BodyApplyForcevoid
# BodyApplyForce
C#
public static void BodyApplyForce(Rid body, Vector3 force, Vector3? position = default);

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

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

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

BodyApplyImpulsevoid
# BodyApplyImpulse
C#
public static void BodyApplyImpulse(Rid body, Vector3 impulse, Vector3? position = default);

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

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

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

BodyApplyTorquevoid
# BodyApplyTorque
C#
public static void BodyApplyTorque(Rid body, Vector3 torque);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
torqueVector3—
BodyApplyTorqueImpulsevoid
# BodyApplyTorqueImpulse
C#
public static void BodyApplyTorqueImpulse(Rid body, Vector3 impulse);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
impulseVector3—
BodyAttachObjectInstanceIdvoid
# BodyAttachObjectInstanceId
C#
public static void BodyAttachObjectInstanceId(Rid body, ulong id);

Назначает область потомку ReckfellObject, чтобы она могла существовать в дереве узлов.

Параметры
ИмяТипПо умолчанию
bodyRid—
idulong—
BodyClearShapesvoid
# BodyClearShapes
C#
public static void BodyClearShapes(Rid body);

Удаляет все формы из тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
BodyCreateRid
# BodyCreate
C#
public static Rid BodyCreate();

Создает объект 3D-тела на физическом сервере и возвращает Rid, который его идентифицирует. Настройки по умолчанию для созданной области включают слой столкновения и маску, установленные на 1, и режим тела, установленный на PhysicsServer3D.BodyMode.Rigid. Используйте PhysicsServer3D.BodyAddShape, чтобы добавить к нему формы, используйте PhysicsServer3D.BodySetState, чтобы задать его преобразование, и используйте PhysicsServer3D.BodySetSpace, чтобы добавить тело в пространство.

Возвращает Rid
BodyGetCollisionLayeruint
# BodyGetCollisionLayer
C#
public static uint BodyGetCollisionLayer(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает uint
BodyGetCollisionMaskuint
# BodyGetCollisionMask
C#
public static uint BodyGetCollisionMask(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает uint
BodyGetCollisionPriorityfloat
# BodyGetCollisionPriority
C#
public static float BodyGetCollisionPriority(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает float
BodyGetConstantForceVector3
# BodyGetConstantForce
C#
public static Vector3 BodyGetConstantForce(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает Vector3
BodyGetConstantTorqueVector3
# BodyGetConstantTorque
C#
public static Vector3 BodyGetConstantTorque(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает Vector3
BodyGetDirectStatePhysicsDirectBodyState3D
# BodyGetDirectState
C#
public static PhysicsDirectBodyState3D BodyGetDirectState(Rid body);

Возвращает PhysicsDirectBodyState3D тела. Возвращает null, если тело уничтожено или удалено из физического пространства.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает PhysicsDirectBodyState3D
BodyGetMaxContactsReportedint
# BodyGetMaxContactsReported
C#
public static int BodyGetMaxContactsReported(Rid body);

Возвращает максимальное количество контактов, которые могут быть сообщены. См. PhysicsServer3D.BodySetMaxContactsReported.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает int
BodyGetModePhysicsServer3D.BodyMode
# BodyGetMode
C#
public static PhysicsServer3D.BodyMode BodyGetMode(Rid body);

Возвращает режим тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает PhysicsServer3D.BodyMode
BodyGetObjectInstanceIdulong
# BodyGetObjectInstanceId
C#
public static ulong BodyGetObjectInstanceId(Rid body);

Получает идентификатор экземпляра объекта, которому назначена область.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает ulong
BodyGetParamVariant
# BodyGetParam
C#
public static Variant BodyGetParam(Rid body, PhysicsServer3D.BodyParameter param);

Возвращает значение параметра тела. Список доступных параметров находится в константах PhysicsServer3D.BodyParameter.

Параметры
ИмяТипПо умолчанию
bodyRid—
paramPhysicsServer3D.BodyParameter—
Возвращает Variant
BodyGetShapeRid
# BodyGetShape
C#
public static Rid BodyGetShape(Rid body, int shapeIdx);

Возвращает Rid n-й формы тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
shapeIdxint—
Возвращает Rid
BodyGetShapeCountint
# BodyGetShapeCount
C#
public static int BodyGetShapeCount(Rid body);

Возвращает количество фигур, назначенных телу.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает int
BodyGetShapeTransformTransform3D
# BodyGetShapeTransform
C#
public static Transform3D BodyGetShapeTransform(Rid body, int shapeIdx);

Возвращает матрицу преобразования формы тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
shapeIdxint—
Возвращает Transform3D
BodyGetSpaceRid
# BodyGetSpace
C#
public static Rid BodyGetSpace(Rid body);

Возвращает Rid пространства, назначенного телу.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает Rid
BodyGetStateVariant
# BodyGetState
C#
public static Variant BodyGetState(Rid body, PhysicsServer3D.BodyState state);

Возвращает состояние тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
statePhysicsServer3D.BodyState—
Возвращает Variant
BodyIsAxisLockedbool
# BodyIsAxisLocked
C#
public static bool BodyIsAxisLocked(Rid body, PhysicsServer3D.BodyAxis axis);
Параметры
ИмяТипПо умолчанию
bodyRid—
axisPhysicsServer3D.BodyAxis—
Возвращает bool
BodyIsContinuousCollisionDetectionEnabledbool
# BodyIsContinuousCollisionDetectionEnabled
C#
public static bool BodyIsContinuousCollisionDetectionEnabled(Rid body);

Если true, включен режим непрерывного обнаружения столкновений.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает bool
BodyIsOmittingForceIntegrationbool
# BodyIsOmittingForceIntegration
C#
public static bool BodyIsOmittingForceIntegration(Rid body);

Возвращает true, если тело пропускает стандартную интеграцию силы. См. PhysicsServer3D.BodySetOmitForceIntegration.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает bool
BodyRemoveCollisionExceptionvoid
# BodyRemoveCollisionException
C#
public static void BodyRemoveCollisionException(Rid body, Rid exceptedBody);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
exceptedBodyRid—
BodyRemoveShapevoid
# BodyRemoveShape
C#
public static void BodyRemoveShape(Rid body, int shapeIdx);

Удаляет форму из тела. Сама форма не удаляется, поэтому ее можно использовать повторно.

Параметры
ИмяТипПо умолчанию
bodyRid—
shapeIdxint—
BodyResetMassPropertiesvoid
# BodyResetMassProperties
C#
public static void BodyResetMassProperties(Rid body);

Восстанавливает инерцию и центр масс по умолчанию на основе форм, чтобы отменить любые пользовательские значения, ранее установленные с помощью PhysicsServer3D.BodySetParam.

Параметры
ИмяТипПо умолчанию
bodyRid—
BodySetAxisLockvoid
# BodySetAxisLock
C#
public static void BodySetAxisLock(Rid body, PhysicsServer3D.BodyAxis axis, bool @lock);
Параметры
ИмяТипПо умолчанию
bodyRid—
axisPhysicsServer3D.BodyAxis—
lockbool—
BodySetAxisVelocityvoid
# BodySetAxisVelocity
C#
public static void BodySetAxisVelocity(Rid body, Vector3 axisVelocity);

Устанавливает скорость оси. Скорость в данной векторной оси будет установлена как заданная длина вектора. Это полезно для поведения прыжка.

Параметры
ИмяТипПо умолчанию
bodyRid—
axisVelocityVector3—
BodySetCollisionLayervoid
# BodySetCollisionLayer
C#
public static void BodySetCollisionLayer(Rid body, uint layer);

Устанавливает физический слой или слои, к которым принадлежит тело.

Параметры
ИмяТипПо умолчанию
bodyRid—
layeruint—
BodySetCollisionMaskvoid
# BodySetCollisionMask
C#
public static void BodySetCollisionMask(Rid body, uint mask);

Устанавливает физический слой или слои, с которыми может сталкиваться тело.

Параметры
ИмяТипПо умолчанию
bodyRid—
maskuint—
BodySetCollisionPriorityvoid
# BodySetCollisionPriority
C#
public static void BodySetCollisionPriority(Rid body, float priority);

Устанавливает приоритет столкновения тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
priorityfloat—
BodySetConstantForcevoid
# BodySetConstantForce
C#
public static void BodySetConstantForce(Rid body, Vector3 force);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
forceVector3—
BodySetConstantTorquevoid
# BodySetConstantTorque
C#
public static void BodySetConstantTorque(Rid body, Vector3 torque);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
torqueVector3—
BodySetEnableContinuousCollisionDetectionvoid
# BodySetEnableContinuousCollisionDetection
C#
public static void BodySetEnableContinuousCollisionDetection(Rid body, bool enable);

Если true, режим непрерывного обнаружения столкновений включен. Непрерывное обнаружение столкновений пытается предсказать, где движущееся тело столкнется, вместо того, чтобы перемещать его и корректировать его движение в случае столкновения.

Параметры
ИмяТипПо умолчанию
bodyRid—
enablebool—
BodySetForceIntegrationCallbackvoid
# BodySetForceIntegrationCallback
C#
public static void BodySetForceIntegrationCallback(Rid body, Callable callable, Variant userdata = default);

Устанавливает функцию вызова интегрирования усилия в организм для callable. Использовать пустоту Callable ([Код пропусков]Callable() ", чтобы очистить заказный ответ. Функция callable будет называться каждый физика клещ до стандартной интеграции сил (см. PhysicsServer3D.BodySetOmitForceIntegrationОн может использоваться, например, для обновления линейной и угловой скорости тела на основе контакта с другими телами. Если userdata нет null, функция callable должны измеряться следующие два параметра:

  1. state: a PhysicsDirectBodyState3D, используемые для извлечения и изменения состояния тела,
  2. Variant; its value will be the В этот метод ввели данные пользователя. Если userdataэтоnullТогда callableдолжен взять толькоstate` параметр.
Параметры
ИмяТипПо умолчанию
bodyRid—
callableCallable—
userdataVariantdefault
BodySetMaxContactsReportedvoid
# BodySetMaxContactsReported
C#
public static void BodySetMaxContactsReported(Rid body, int amount);

Устанавливает максимальное количество контактов для отчета. Органы могут вести журнал контактов с другими органами. Это включается путем установки максимального количества сообщаемых контактов на число больше 0.

Параметры
ИмяТипПо умолчанию
bodyRid—
amountint—
BodySetModevoid
# BodySetMode
C#
public static void BodySetMode(Rid body, PhysicsServer3D.BodyMode mode);

Устанавливает режим тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
modePhysicsServer3D.BodyMode—
BodySetOmitForceIntegrationvoid
# BodySetOmitForceIntegration
C#
public static void BodySetOmitForceIntegration(Rid body, bool enable);

Устанавливает, будет ли тело пропускать стандартную интеграцию силы. Если enable равно true, тело не будет автоматически использовать приложенные силы, крутящие моменты и демпфирование для обновления линейной и угловой скорости тела. В этом случае PhysicsServer3D.BodySetForceIntegrationCallback можно использовать для ручного обновления линейной и угловой скорости. Этот метод вызывается, когда задано свойство RigidBody3D.CustomIntegrator.

Параметры
ИмяТипПо умолчанию
bodyRid—
enablebool—
BodySetParamvoid
# BodySetParam
C#
public static void BodySetParam(Rid body, PhysicsServer3D.BodyParameter param, Variant value);

Устанавливает параметр тела. Список доступных параметров находится в константах PhysicsServer3D.BodyParameter.

Параметры
ИмяТипПо умолчанию
bodyRid—
paramPhysicsServer3D.BodyParameter—
valueVariant—
BodySetRayPickablevoid
# BodySetRayPickable
C#
public static void BodySetRayPickable(Rid body, bool enable);

Устанавливает возможность выбора тела лучами, если установлен enable.

Параметры
ИмяТипПо умолчанию
bodyRid—
enablebool—
BodySetShapevoid
# BodySetShape
C#
public static void BodySetShape(Rid body, int shapeIdx, Rid shape);

Заменяет заданную форму тела другой. Старая форма выбирается по ее индексу, новая — по ее Rid.

Параметры
ИмяТипПо умолчанию
bodyRid—
shapeIdxint—
shapeRid—
BodySetShapeDisabledvoid
# BodySetShapeDisabled
C#
public static void BodySetShapeDisabled(Rid body, int shapeIdx, bool disabled);
Параметры
ИмяТипПо умолчанию
bodyRid—
shapeIdxint—
disabledbool—
BodySetShapeTransformvoid
# BodySetShapeTransform
C#
public static void BodySetShapeTransform(Rid body, int shapeIdx, Transform3D transform);

Задает матрицу преобразования для формы тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
shapeIdxint—
transformTransform3D—
BodySetSpacevoid
# BodySetSpace
C#
public static void BodySetSpace(Rid body, Rid space);

Назначает пространство телу (см. PhysicsServer3D.SpaceCreate).

Параметры
ИмяТипПо умолчанию
bodyRid—
spaceRid—
BodySetStatevoid
# BodySetState
C#
public static void BodySetState(Rid body, PhysicsServer3D.BodyState state, Variant value);

Устанавливает состояние тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
statePhysicsServer3D.BodyState—
valueVariant—
BodySetStateSyncCallbackvoid
# BodySetStateSyncCallback
C#
public static void BodySetStateSyncCallback(Rid body, Callable callable);

Устанавливает функцию синхронизации вызова тела callable. Использовать пустоту Callable ([Код пропусков]Callable() чтобы освободить ответный звонок. Функция callable будет называться каждой физической рамой, если предположить, что тело было активным во время предыдущей физики, и может быть использовано для получения последнего состояния с сервера физики. Функция callable должны иметь следующие параметры:

  1. state: a PhysicsDirectBodyState3D, использовал для восстановления состояния тела.
Параметры
ИмяТипПо умолчанию
bodyRid—
callableCallable—
BodyTestMotionbool
# BodyTestMotion
C#
public static bool BodyTestMotion(Rid body, PhysicsTestMotionParameters3D parameters, PhysicsTestMotionResult3D result = null);

Возвращает true, если столкновение возникнет в результате движения по вектору движения из заданной точки в пространстве. PhysicsTestMotionParameters3D передается для установки параметров движения. PhysicsTestMotionResult3D может быть передан для возврата дополнительной информации.

Параметры
ИмяТипПо умолчанию
bodyRid—
parametersPhysicsTestMotionParameters3D—
resultPhysicsTestMotionResult3Dnull
Возвращает bool
BoxShapeCreateRid
# BoxShapeCreate
C#
public static Rid BoxShapeCreate();

Создает 3D форму параллелепипеда на физическом сервере и возвращает Rid, который ее идентифицирует. Используйте PhysicsServer3D.ShapeSetData для установки половинных границ параллелепипеда.

Возвращает Rid
CapsuleShapeCreateRid
# CapsuleShapeCreate
C#
public static Rid CapsuleShapeCreate();

Создает 3D капсулообразную форму на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для установки высоты и радиуса капсулы.

Возвращает Rid
ConcavePolygonShapeCreateRid
# ConcavePolygonShapeCreate
C#
public static Rid ConcavePolygonShapeCreate();

Создает 3D вогнутую многоугольную фигуру на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для задания треугольников вогнутого многоугольника.

Возвращает Rid
ConeTwistJointGetParamfloat
# ConeTwistJointGetParam
C#
public static float ConeTwistJointGetParam(Rid joint, PhysicsServer3D.ConeTwistJointParam param);

Получает параметр конусного скручивающего соединения (сустав).

Параметры
ИмяТипПо умолчанию
jointRid—
paramPhysicsServer3D.ConeTwistJointParam—
Возвращает float
ConeTwistJointSetParamvoid
# ConeTwistJointSetParam
C#
public static void ConeTwistJointSetParam(Rid joint, PhysicsServer3D.ConeTwistJointParam param, float value);

Устанавливает параметр конусного скручивания (сустав).

##выпущенный_полигон_шап_создание

Параметры
ИмяТипПо умолчанию
jointRid—
paramPhysicsServer3D.ConeTwistJointParam—
valuefloat—
ConvexPolygonShapeCreateRid
# ConvexPolygonShapeCreate
C#
public static Rid ConvexPolygonShapeCreate();

Создает 3D выпуклую многоугольную фигуру на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для установки точек выпуклого многоугольника.

Возвращает Rid
CustomShapeCreateRid
# CustomShapeCreate
C#
public static Rid CustomShapeCreate();

Создаёт заказную форму на сервере физики и возвращает Rid идентифицирует его. PhysicsServer3D.ShapeSetData чтобы установить данные о форме. Примечание: Обычные формы не поддерживаются встроенными серверами физики, поэтому назвав этот метод всегда вызывает ошибку при использовании физики Reckfell или физики Джолта. Серверы обычной физики, созданные как ReckfellExtensions, могут поддерживать заказную форму.

Возвращает Rid
CylinderShapeCreateRid
# CylinderShapeCreate
C#
public static Rid CylinderShapeCreate();

Создает 3D цилиндрическую форму на физическом сервере и возвращает Rid, который ее идентифицирует. Используйте PhysicsServer3D.ShapeSetData для установки высоты и радиуса цилиндра.

Возвращает Rid
FreeRidvoid
# FreeRid
C#
public static void FreeRid(Rid rid);

Уничтожает любой из объектов, созданных PhysicsServer3D. Если переданный Rid не является одним из объектов, которые могут быть созданы PhysicsServer3D, на консоль будет отправлена ошибка.

Параметры
ИмяТипПо умолчанию
ridRid—
Generic6DofJointGetAngularTargetRotationQuaternion
# Generic6DofJointGetAngularTargetRotation
C#
public static Quaternion Generic6DofJointGetAngularTargetRotation(Rid joint);

Возвращает целевую угловую ориентацию общего 6DOF сустава в качестве кватериона тела и пространства, описывающего желаемую ориентацию кузова В по отношению к телу А. Примечание: Другие 3D физики возвращают кватерион личности.

Параметры
ИмяТипПо умолчанию
jointRid—
Возвращает Quaternion
Generic6DofJointGetFlagbool
# Generic6DofJointGetFlag
C#
public static bool Generic6DofJointGetFlag(Rid joint, Vector3.Axis axis, PhysicsServer3D.G6DofJointAxisFlag flag);

Возвращает значение универсального флага соединения 6DOF.

Параметры
ИмяТипПо умолчанию
jointRid—
axisVector3.Axis—
flagPhysicsServer3D.G6DofJointAxisFlag—
Возвращает bool
Generic6DofJointGetParamfloat
# Generic6DofJointGetParam
C#
public static float Generic6DofJointGetParam(Rid joint, Vector3.Axis axis, PhysicsServer3D.G6DofJointAxisParam param);

Возвращает значение универсального параметра соединения 6DOF.

Параметры
ИмяТипПо умолчанию
jointRid—
axisVector3.Axis—
paramPhysicsServer3D.G6DofJointAxisParam—
Возвращает float
Generic6DofJointSetAngularTargetRotationvoid
# Generic6DofJointSetAngularTargetRotation
C#
public static void Generic6DofJointSetAngularTargetRotation(Rid joint, Quaternion targetRotation);

Устанавливает целевую угловую ориентацию общего сустава 6DOF в качестве кватериона тела и пространства, описывающего желаемую ориентацию кузова В по отношению к кузову А. Примечание: Другие 3D физики могут игнорировать это значение.

Параметры
ИмяТипПо умолчанию
jointRid—
targetRotationQuaternion—
Generic6DofJointSetFlagvoid
# Generic6DofJointSetFlag
C#
public static void Generic6DofJointSetFlag(Rid joint, Vector3.Axis axis, PhysicsServer3D.G6DofJointAxisFlag flag, bool enable);

Устанавливает значение заданного универсального флага соединения 6DOF.

Параметры
ИмяТипПо умолчанию
jointRid—
axisVector3.Axis—
flagPhysicsServer3D.G6DofJointAxisFlag—
enablebool—
Generic6DofJointSetParamvoid
# Generic6DofJointSetParam
C#
public static void Generic6DofJointSetParam(Rid joint, Vector3.Axis axis, PhysicsServer3D.G6DofJointAxisParam param, float value);

Устанавливает значение заданного универсального параметра соединения 6DOF.

Параметры
ИмяТипПо умолчанию
jointRid—
axisVector3.Axis—
paramPhysicsServer3D.G6DofJointAxisParam—
valuefloat—
GetProcessInfoint
# GetProcessInfo
C#
public static int GetProcessInfo(PhysicsServer3D.ProcessInfo processInfo);

Возвращает значение состояния физического движка, заданное process_info.

Параметры
ИмяТипПо умолчанию
processInfoPhysicsServer3D.ProcessInfo—
Возвращает int
HeightmapShapeCreateRid
# HeightmapShapeCreate
C#
public static Rid HeightmapShapeCreate();

Создает 3D карту высот на физическом сервере и возвращает Rid, который ее идентифицирует. Используйте PhysicsServer3D.ShapeSetData для установки данных карты высот.

Возвращает Rid
HingeJointGetFlagbool
# HingeJointGetFlag
C#
public static bool HingeJointGetFlag(Rid joint, PhysicsServer3D.HingeJointFlag flag);

Получает флаг шарнирного соединения.

Параметры
ИмяТипПо умолчанию
jointRid—
flagPhysicsServer3D.HingeJointFlag—
Возвращает bool
HingeJointGetParamfloat
# HingeJointGetParam
C#
public static float HingeJointGetParam(Rid joint, PhysicsServer3D.HingeJointParam param);

Получает параметр шарнирного соединения.

Параметры
ИмяТипПо умолчанию
jointRid—
paramPhysicsServer3D.HingeJointParam—
Возвращает float
HingeJointSetFlagvoid
# HingeJointSetFlag
C#
public static void HingeJointSetFlag(Rid joint, PhysicsServer3D.HingeJointFlag flag, bool enabled);

Устанавливает флаг шарнирного соединения.

Параметры
ИмяТипПо умолчанию
jointRid—
flagPhysicsServer3D.HingeJointFlag—
enabledbool—
HingeJointSetParamvoid
# HingeJointSetParam
C#
public static void HingeJointSetParam(Rid joint, PhysicsServer3D.HingeJointParam param, float value);

Устанавливает параметр шарнирного соединения.

Параметры
ИмяТипПо умолчанию
jointRid—
paramPhysicsServer3D.HingeJointParam—
valuefloat—
JointClearvoid
# JointClear
C#
public static void JointClear(Rid joint);
Параметры
ИмяТипПо умолчанию
jointRid—
JointCreateRid
# JointCreate
C#
public static Rid JointCreate();
Возвращает Rid
JointDisableCollisionsBetweenBodiesvoid
# JointDisableCollisionsBetweenBodies
C#
public static void JointDisableCollisionsBetweenBodies(Rid joint, bool disable);

Устанавливает, будут ли тела, прикрепленные к Joint3D, сталкиваться друг с другом.

Параметры
ИмяТипПо умолчанию
jointRid—
disablebool—
JointGetSolverPriorityint
# JointGetSolverPriority
C#
public static int JointGetSolverPriority(Rid joint);

Получает значение приоритета Joint3D. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот метод всегда возвращает 1 при использовании Физика джольта, поскольку он не поддерживает приоритет решателя соединений.

Параметры
ИмяТипПо умолчанию
jointRid—
Возвращает int
JointGetTypePhysicsServer3D.JointType
# JointGetType
C#
public static PhysicsServer3D.JointType JointGetType(Rid joint);

Возвращает тип Joint3D.

Параметры
ИмяТипПо умолчанию
jointRid—
Возвращает PhysicsServer3D.JointType
JointIsDisabledCollisionsBetweenBodiesbool
# JointIsDisabledCollisionsBetweenBodies
C#
public static bool JointIsDisabledCollisionsBetweenBodies(Rid joint);

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

Параметры
ИмяТипПо умолчанию
jointRid—
Возвращает bool
JointMakeConeTwistvoid
# JointMakeConeTwist
C#
public static void JointMakeConeTwist(Rid joint, Rid bodyA, Transform3D localRefA, Rid bodyB, Transform3D localRefB);
Параметры
ИмяТипПо умолчанию
jointRid—
bodyARid—
localRefATransform3D—
bodyBRid—
localRefBTransform3D—
JointMakeGeneric6Dofvoid
# JointMakeGeneric6Dof
C#
public static void JointMakeGeneric6Dof(Rid joint, Rid bodyA, Transform3D localRefA, Rid bodyB, Transform3D localRefB);

Сделайте шарнир универсальным с шестью степенями свободы (6DOF). Используйте PhysicsServer3D.Generic6DofJointSetFlag и PhysicsServer3D.Generic6DofJointSetParam для установки флагов и параметров шарнира соответственно.

Параметры
ИмяТипПо умолчанию
jointRid—
bodyARid—
localRefATransform3D—
bodyBRid—
localRefBTransform3D—
JointMakeHingevoid
# JointMakeHinge
C#
public static void JointMakeHinge(Rid joint, Rid bodyA, Transform3D hingeA, Rid bodyB, Transform3D hingeB);
Параметры
ИмяТипПо умолчанию
jointRid—
bodyARid—
hingeATransform3D—
bodyBRid—
hingeBTransform3D—
JointMakePinvoid
# JointMakePin
C#
public static void JointMakePin(Rid joint, Rid bodyA, Vector3 localA, Rid bodyB, Vector3 localB);
Параметры
ИмяТипПо умолчанию
jointRid—
bodyARid—
localAVector3—
bodyBRid—
localBVector3—
JointMakeSlidervoid
# JointMakeSlider
C#
public static void JointMakeSlider(Rid joint, Rid bodyA, Transform3D localRefA, Rid bodyB, Transform3D localRefB);
Параметры
ИмяТипПо умолчанию
jointRid—
bodyARid—
localRefATransform3D—
bodyBRid—
localRefBTransform3D—
JointSetSolverPriorityvoid
# JointSetSolverPriority
C#
public static void JointSetSolverPriority(Rid joint, int priority);

Устанавливает значение приоритета Joint3D. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот метод не работает при использовании Физика джольта, поскольку он не поддерживает приоритет решателя соединений.

Параметры
ИмяТипПо умолчанию
jointRid—
priorityint—
PinJointGetLocalAVector3
# PinJointGetLocalA
C#
public static Vector3 PinJointGetLocalA(Rid joint);

Возвращает положение сустава в локальном пространстве тела a сустава.

Параметры
ИмяТипПо умолчанию
jointRid—
Возвращает Vector3
PinJointGetLocalBVector3
# PinJointGetLocalB
C#
public static Vector3 PinJointGetLocalB(Rid joint);

Возвращает положение сочленения в локальном пространстве тела b сочленения.

Параметры
ИмяТипПо умолчанию
jointRid—
Возвращает Vector3
PinJointGetParamfloat
# PinJointGetParam
C#
public static float PinJointGetParam(Rid joint, PhysicsServer3D.PinJointParam param);

Получает параметр штифтового соединения (сустав).

Параметры
ИмяТипПо умолчанию
jointRid—
paramPhysicsServer3D.PinJointParam—
Возвращает float
PinJointSetLocalAvoid
# PinJointSetLocalA
C#
public static void PinJointSetLocalA(Rid joint, Vector3 localA);

Устанавливает положение сустава в локальном пространстве тела a сустава.

Параметры
ИмяТипПо умолчанию
jointRid—
localAVector3—
PinJointSetLocalBvoid
# PinJointSetLocalB
C#
public static void PinJointSetLocalB(Rid joint, Vector3 localB);

Устанавливает положение сустава в локальном пространстве тела b сустава.

Параметры
ИмяТипПо умолчанию
jointRid—
localBVector3—
PinJointSetParamvoid
# PinJointSetParam
C#
public static void PinJointSetParam(Rid joint, PhysicsServer3D.PinJointParam param, float value);

Устанавливает параметр штифтового соединения.

Параметры
ИмяТипПо умолчанию
jointRid—
paramPhysicsServer3D.PinJointParam—
valuefloat—
SeparationRayShapeCreateRid
# SeparationRayShapeCreate
C#
public static Rid SeparationRayShapeCreate();

Создает 3D форму разделительного луча на физическом сервере и возвращает Rid, который ее идентифицирует. Используйте PhysicsServer3D.ShapeSetData для установки свойств length и slide_on_slope формы.

Возвращает Rid
SetActivevoid
# SetActive
C#
public static void SetActive(bool active);

Активирует или деактивирует 3D физический движок.

Параметры
ИмяТипПо умолчанию
activebool—
ShapeGetDataVariant
# ShapeGetData
C#
public static Variant ShapeGetData(Rid shape);

Возвращает данные о форме, которые определяют её конфигурацию, например, полуграницы прямоугольника или треугольники вогнутой (тримешной) фигуры. Точный формат этих данных в каждом случае см. в PhysicsServer3D.ShapeSetData.

Параметры
ИмяТипПо умолчанию
shapeRid—
Возвращает Variant
ShapeGetMarginfloat
# ShapeGetMargin
C#
public static float ShapeGetMargin(Rid shape);

Возвращает границу столкновения для формы. Примечание: Это не используется в Физика " Reckfell ", поэтому всегда будет возвращать 0.

Параметры
ИмяТипПо умолчанию
shapeRid—
Возвращает float
ShapeGetTypePhysicsServer3D.ShapeType
# ShapeGetType
C#
public static PhysicsServer3D.ShapeType ShapeGetType(Rid shape);

Возвращает тип фигуры.

Параметры
ИмяТипПо умолчанию
shapeRid—
Возвращает PhysicsServer3D.ShapeType
ShapeSetDatavoid
# ShapeSetData
C#
public static void ShapeSetData(Rid shape, Variant data);

Устанавливает данные о форме, которые настраивают форму. data который будет передан, зависит от типа формы (см. PhysicsServer3D.ShapeGetType):

Параметры
ИмяТипПо умолчанию
shapeRid—
dataVariant—
ShapeSetMarginvoid
# ShapeSetMargin
C#
public static void ShapeSetMargin(Rid shape, float margin);

Устанавливает границу столкновения для формы. Примечание: Это не используется в Физика " Reckfell ".

Параметры
ИмяТипПо умолчанию
shapeRid—
marginfloat—
SliderJointGetParamfloat
# SliderJointGetParam
C#
public static float SliderJointGetParam(Rid joint, PhysicsServer3D.SliderJointParam param);

Получает параметр скользящего соединения.

Параметры
ИмяТипПо умолчанию
jointRid—
paramPhysicsServer3D.SliderJointParam—
Возвращает float
SliderJointSetParamvoid
# SliderJointSetParam
C#
public static void SliderJointSetParam(Rid joint, PhysicsServer3D.SliderJointParam param, float value);

Получает параметр скользящего соединения.

Параметры
ИмяТипПо умолчанию
jointRid—
paramPhysicsServer3D.SliderJointParam—
valuefloat—
SoftBodyAddCollisionExceptionvoid
# SoftBodyAddCollisionException
C#
public static void SoftBodyAddCollisionException(Rid body, Rid bodyB);

Добавляет указанное тело в список тел, освобожденных от столкновений.

Параметры
ИмяТипПо умолчанию
bodyRid—
bodyBRid—
SoftBodyApplyCentralForcevoid
# SoftBodyApplyCentralForce
C#
public static void SoftBodyApplyCentralForce(Rid body, Vector3 force);

Распределяет и применяет силу ко всем точкам. Сила зависит от времени и должна применяться при каждом обновлении физики.

Параметры
ИмяТипПо умолчанию
bodyRid—
forceVector3—
SoftBodyApplyCentralImpulsevoid
# SoftBodyApplyCentralImpulse
C#
public static void SoftBodyApplyCentralImpulse(Rid body, Vector3 impulse);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
impulseVector3—
SoftBodyApplyPointForcevoid
# SoftBodyApplyPointForce
C#
public static void SoftBodyApplyPointForce(Rid body, int pointIndex, Vector3 force);

Прикладывает силу к точке. Сила зависит от времени и должна применяться при каждом обновлении физики.

Параметры
ИмяТипПо умолчанию
bodyRid—
pointIndexint—
forceVector3—
SoftBodyApplyPointImpulsevoid
# SoftBodyApplyPointImpulse
C#
public static void SoftBodyApplyPointImpulse(Rid body, int pointIndex, Vector3 impulse);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
pointIndexint—
impulseVector3—
SoftBodyCreateRid
# SoftBodyCreate
C#
public static Rid SoftBodyCreate();

Создает новое мягкое тело и возвращает его внутренний Rid.

Возвращает Rid
SoftBodyGetBoundsAabb
# SoftBodyGetBounds
C#
public static Aabb SoftBodyGetBounds(Rid body);

Возвращает границы заданного мягкого тела в глобальных координатах.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает Aabb
SoftBodyGetCollisionLayeruint
# SoftBodyGetCollisionLayer
C#
public static uint SoftBodyGetCollisionLayer(Rid body);

Возвращает физический слой или слои, к которым принадлежит заданное мягкое тело.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает uint
SoftBodyGetCollisionMaskuint
# SoftBodyGetCollisionMask
C#
public static uint SoftBodyGetCollisionMask(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает uint
SoftBodyGetDampingCoefficientfloat
# SoftBodyGetDampingCoefficient
C#
public static float SoftBodyGetDampingCoefficient(Rid body);

Возвращает коэффициент затухания заданного мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает float
SoftBodyGetDragCoefficientfloat
# SoftBodyGetDragCoefficient
C#
public static float SoftBodyGetDragCoefficient(Rid body);

Возвращает коэффициент сопротивления заданного мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает float
SoftBodyGetLinearStiffnessfloat
# SoftBodyGetLinearStiffness
C#
public static float SoftBodyGetLinearStiffness(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает float
SoftBodyGetPointGlobalPositionVector3
# SoftBodyGetPointGlobalPosition
C#
public static Vector3 SoftBodyGetPointGlobalPosition(Rid body, int pointIndex);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
pointIndexint—
Возвращает Vector3
SoftBodyGetPressureCoefficientfloat
# SoftBodyGetPressureCoefficient
C#
public static float SoftBodyGetPressureCoefficient(Rid body);

Возвращает коэффициент давления заданного мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает float
SoftBodyGetShrinkingFactorfloat
# SoftBodyGetShrinkingFactor
C#
public static float SoftBodyGetShrinkingFactor(Rid body);

Возвращает коэффициент сжатия заданного мягкого тела (мягкого тела).

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает float
SoftBodyGetSimulationPrecisionint
# SoftBodyGetSimulationPrecision
C#
public static int SoftBodyGetSimulationPrecision(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает int
SoftBodyGetSpaceRid
# SoftBodyGetSpace
C#
public static Rid SoftBodyGetSpace(Rid body);

Возвращает Rid пространства, назначенного данному мягкому телу.

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает Rid
SoftBodyGetStateVariant
# SoftBodyGetState
C#
public static Variant SoftBodyGetState(Rid body, PhysicsServer3D.BodyState state);

Возвращает заданное состояние мягкого тела. Примечание: Реализация физики Reckfell по умолчанию не поддерживает PhysicsServer3D.BodyState.LinearVelocity, PhysicsServer3D.BodyState.AngularVelocity, PhysicsServer3D.BodyState.Sleeping или PhysicsServer3D.BodyState.CanSleep.

Параметры
ИмяТипПо умолчанию
bodyRid—
statePhysicsServer3D.BodyState—
Возвращает Variant
SoftBodyGetTotalMassfloat
# SoftBodyGetTotalMass
C#
public static float SoftBodyGetTotalMass(Rid body);

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

Параметры
ИмяТипПо умолчанию
bodyRid—
Возвращает float
SoftBodyIsPointPinnedbool
# SoftBodyIsPointPinned
C#
public static bool SoftBodyIsPointPinned(Rid body, int pointIndex);

Возвращает, закреплённую ли заданную точку мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
pointIndexint—
Возвращает bool
SoftBodyMovePointvoid
# SoftBodyMovePoint
C#
public static void SoftBodyMovePoint(Rid body, int pointIndex, Vector3 globalPosition);

Перемещает заданную точку мягкого тела в положение в глобальных координатах.

Параметры
ИмяТипПо умолчанию
bodyRid—
pointIndexint—
globalPositionVector3—
SoftBodyPinPointvoid
# SoftBodyPinPoint
C#
public static void SoftBodyPinPoint(Rid body, int pointIndex, bool pin);

Прикрепляет или открепляет заданную точку мягкого тела на основе значения pin. Примечание: Прикрепление точки фактически делает ее кинематической, предотвращая воздействие на нее сил, но вы все равно можете перемещать ее с помощью PhysicsServer3D.SoftBodyMovePoint.

Параметры
ИмяТипПо умолчанию
bodyRid—
pointIndexint—
pinbool—
SoftBodyRemoveAllPinnedPointsvoid
# SoftBodyRemoveAllPinnedPoints
C#
public static void SoftBodyRemoveAllPinnedPoints(Rid body);

Открепляет все точки заданного мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
SoftBodyRemoveCollisionExceptionvoid
# SoftBodyRemoveCollisionException
C#
public static void SoftBodyRemoveCollisionException(Rid body, Rid bodyB);

Удаляет указанное тело из списка тел, освобожденных от столкновений.

Параметры
ИмяТипПо умолчанию
bodyRid—
bodyBRid—
SoftBodySetCollisionLayervoid
# SoftBodySetCollisionLayer
C#
public static void SoftBodySetCollisionLayer(Rid body, uint layer);

Устанавливает физический слой или слои, к которым принадлежит заданное мягкое тело.

Параметры
ИмяТипПо умолчанию
bodyRid—
layeruint—
SoftBodySetCollisionMaskvoid
# SoftBodySetCollisionMask
C#
public static void SoftBodySetCollisionMask(Rid body, uint mask);

Устанавливает физический слой или слои, с которыми может сталкиваться заданное мягкое тело.

Параметры
ИмяТипПо умолчанию
bodyRid—
maskuint—
SoftBodySetDampingCoefficientvoid
# SoftBodySetDampingCoefficient
C#
public static void SoftBodySetDampingCoefficient(Rid body, float dampingCoefficient);

Устанавливает коэффициент затухания данного мягкого тела. Более высокие значения будут замедлять тело более заметно при приложении сил.

Параметры
ИмяТипПо умолчанию
bodyRid—
dampingCoefficientfloat—
SoftBodySetDragCoefficientvoid
# SoftBodySetDragCoefficient
C#
public static void SoftBodySetDragCoefficient(Rid body, float dragCoefficient);

Устанавливает коэффициент сопротивления данного мягкого тела. Более высокие значения увеличивают сопротивление воздуха этого тела. Примечание: Это значение в настоящее время не используется в стандартной реализации физики Reckfell.

Параметры
ИмяТипПо умолчанию
bodyRid—
dragCoefficientfloat—
SoftBodySetLinearStiffnessvoid
# SoftBodySetLinearStiffness
C#
public static void SoftBodySetLinearStiffness(Rid body, float stiffness);

Устанавливает линейную жесткость заданного мягкого тела. Более высокие значения приведут к более жесткому телу, а более низкие значения увеличат способность тела изгибаться. Значение может быть между 0.0 и 1.0 (включительно).

Параметры
ИмяТипПо умолчанию
bodyRid—
stiffnessfloat—
SoftBodySetMeshvoid
# SoftBodySetMesh
C#
public static void SoftBodySetMesh(Rid body, Rid mesh);

Устанавливает сетку заданного мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
meshRid—
SoftBodySetPressureCoefficientvoid
# SoftBodySetPressureCoefficient
C#
public static void SoftBodySetPressureCoefficient(Rid body, float pressureCoefficient);

Устанавливает коэффициент давления данного мягкого тела. Имитирует нарастание давления изнутри этого тела. Более высокие значения увеличивают силу этого эффекта.

Параметры
ИмяТипПо умолчанию
bodyRid—
pressureCoefficientfloat—
SoftBodySetRayPickablevoid
# SoftBodySetRayPickable
C#
public static void SoftBodySetRayPickable(Rid body, bool enable);

Устанавливает, будет ли заданное мягкое тело доступно для выбора при использовании выбора объекта.

Параметры
ИмяТипПо умолчанию
bodyRid—
enablebool—
SoftBodySetShrinkingFactorvoid
# SoftBodySetShrinkingFactor
C#
public static void SoftBodySetShrinkingFactor(Rid body, float shrinkingFactor);

Устанавливает коэффициент сжатия заданного мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
shrinkingFactorfloat—
SoftBodySetSimulationPrecisionvoid
# SoftBodySetSimulationPrecision
C#
public static void SoftBodySetSimulationPrecision(Rid body, int simulationPrecision);

Устанавливает точность моделирования данного мягкого тела. Увеличение этого значения улучшит результирующее моделирование, но может повлиять на производительность. Используйте с осторожностью.

Параметры
ИмяТипПо умолчанию
bodyRid—
simulationPrecisionint—
SoftBodySetSpacevoid
# SoftBodySetSpace
C#
public static void SoftBodySetSpace(Rid body, Rid space);

Назначает пространство данному мягкому телу (см. PhysicsServer3D.SpaceCreate).

Параметры
ИмяТипПо умолчанию
bodyRid—
spaceRid—
SoftBodySetStatevoid
# SoftBodySetState
C#
public static void SoftBodySetState(Rid body, PhysicsServer3D.BodyState state, Variant variant);

Устанавливает заданное состояние тела для заданного тела. Примечание: Реализация физики Reckfell по умолчанию не поддерживает PhysicsServer3D.BodyState.LinearVelocity, PhysicsServer3D.BodyState.AngularVelocity, PhysicsServer3D.BodyState.Sleeping или PhysicsServer3D.BodyState.CanSleep.

Параметры
ИмяТипПо умолчанию
bodyRid—
statePhysicsServer3D.BodyState—
variantVariant—
SoftBodySetTotalMassvoid
# SoftBodySetTotalMass
C#
public static void SoftBodySetTotalMass(Rid body, float totalMass);

Устанавливает общую массу для данного мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
totalMassfloat—
SoftBodySetTransformvoid
# SoftBodySetTransform
C#
public static void SoftBodySetTransform(Rid body, Transform3D transform);

Устанавливает глобальное преобразование заданного мягкого тела.

Параметры
ИмяТипПо умолчанию
bodyRid—
transformTransform3D—
SoftBodyUpdateRenderingServervoid
# SoftBodyUpdateRenderingServer
C#
public static void SoftBodyUpdateRenderingServer(Rid body, PhysicsServer3DRenderingServerHandler renderingServerHandler);

Запрашивает, чтобы физический сервер обновлял сервер рендеринга последними позициями точек заданного мягкого тела через интерфейс rendering_server_handler.

Параметры
ИмяТипПо умолчанию
bodyRid—
renderingServerHandlerPhysicsServer3DRenderingServerHandler—
SpaceCreateRid
# SpaceCreate
C#
public static Rid SpaceCreate();

Создает пространство. Пространство — это набор параметров для физического движка, которые можно назначить области или телу. Его можно назначить области с помощью PhysicsServer3D.AreaSetSpace или телу с помощью PhysicsServer3D.BodySetSpace.

Возвращает Rid
SpaceGetDirectStatePhysicsDirectSpaceState3D
# SpaceGetDirectState
C#
public static PhysicsDirectSpaceState3D SpaceGetDirectState(Rid space);

Возвращает состояние пространства, PhysicsDirectSpaceState3D. Этот объект можно использовать для создания запросов на столкновение/пересечение.

Параметры
ИмяТипПо умолчанию
spaceRid—
Возвращает PhysicsDirectSpaceState3D
SpaceGetParamfloat
# SpaceGetParam
C#
public static float SpaceGetParam(Rid space, PhysicsServer3D.SpaceParameter param);

Возвращает значение параметра пространства.

Параметры
ИмяТипПо умолчанию
spaceRid—
paramPhysicsServer3D.SpaceParameter—
Возвращает float
SpaceIsActivebool
# SpaceIsActive
C#
public static bool SpaceIsActive(Rid space);

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

Параметры
ИмяТипПо умолчанию
spaceRid—
Возвращает bool
SpaceSetActivevoid
# SpaceSetActive
C#
public static void SpaceSetActive(Rid space, bool active);

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

Параметры
ИмяТипПо умолчанию
spaceRid—
activebool—
SpaceSetParamvoid
# SpaceSetParam
C#
public static void SpaceSetParam(Rid space, PhysicsServer3D.SpaceParameter param, float value);

Устанавливает значение для параметра пространства. Список доступных параметров находится в константах PhysicsServer3D.SpaceParameter.

Параметры
ИмяТипПо умолчанию
spaceRid—
paramPhysicsServer3D.SpaceParameter—
valuefloat—
SphereShapeCreateRid
# SphereShapeCreate
C#
public static Rid SphereShapeCreate();

Создает 3D сферическую форму на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для установки радиуса сферы.

Возвращает Rid
WorldBoundaryShapeCreateRid
# WorldBoundaryShapeCreate
C#
public static Rid WorldBoundaryShapeCreate();

Создает 3D форму границы мира на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для установки свойств направления нормали и расстояния формы.

Возвращает Rid

PhysicsServer3D.AreaBodyStatus

ЗначениеОписание
Added = 0

Значение первого параметра и функция обратного вызова области получает, когда объект входит в одну из ее фигур.

Removed = 1

Значение первого параметра и функция обратного вызова области получает, когда объект выходит из одной из своих фигур.

PhysicsServer3D.AreaParameter

ЗначениеОписание
AngularDamp = 8

Константа для установки/получения углового коэффициента затухания области.

AngularDampOverrideMode = 7

Константа для установки/получения режима переопределения углового демпфирования в области. См. PhysicsServer3D.AreaSpaceOverrideMode для возможных значений.

Gravity = 1

Константа для установки/получения силы гравитации в определенной области.

GravityIsPoint = 3

Константа для установки/получения информации о том, является ли вектор силы тяжести области направлением или центральной точкой.

GravityOverrideMode = 0

Константа для установки/получения режима переопределения гравитации в области. См. PhysicsServer3D.AreaSpaceOverrideMode для возможных значений.

GravityPointUnitDistance = 4

Постоянно устанавливать/получать расстояние, на котором сила тяжести равна гравитации, контролируемой PhysicsServer3D.AreaParameter.GravityНапример, на планете радиусом 100 метров с поверхностной гравитацией 4,0 м/с2 установить гравитация до 4,0 м/с2, а единичное расстояние - до 100,0. Гравитация будет выпадать в соответствии с нормой обратного квадрата, и в этом случае на расстоянии 200 метров от центра гравитация будет составлять 1,0 м/с2 (дважды расстояние, 1/4-я гравитационная сила), на 50 метрах она будет составлять 16,0 м/с2 (полная дистанция, 4× гравитация) и т.д. Вышеизложенное справедливо только в том случае, если единичное расстояние является положительным числом.

GravityVector = 2

Константа для установки/получения вектора/центра гравитации в области.

LinearDamp = 6

Константа для установки/получения линейного коэффициента затухания области.

LinearDampOverrideMode = 5

Константа для установки/получения режима переопределения линейного затухания в области. См. PhysicsServer3D.AreaSpaceOverrideMode для возможных значений.

Priority = 9

Константа для установки/получения приоритета (порядка обработки) области.

WindAttenuationFactor = 13

Константа для установки/получения экспоненциальной скорости, с которой сила ветра уменьшается с расстоянием от источника.

WindDirection = 12

Константа для установки/получения трехмерного вектора, определяющего направление, в котором дует ветер в определенной местности.

WindForceMagnitude = 10

Константа для установки/получения величины силы ветра, специфичной для области. Эта сила ветра применяется только к узлам SoftBody3D. Другие физические тела в настоящее время не подвержены влиянию ветра.

WindSource = 11

Константа для установки/получения трехмерного вектора, определяющего начало координат, откуда дует ветер в определенной области.

PhysicsServer3D.AreaSpaceOverrideMode

ЗначениеОписание
Combine = 1

Эта область добавляет свои значения гравитации/влажности к тому, что было рассчитано до сих пор. Таким образом, многие перекрывающиеся области могут объединить свою физику, чтобы создать интересные эффекты.

CombineReplace = 2

Эта область добавляет свои значения гравитации/влажности ко всему, что было рассчитано до сих пор. Затем перестает учитывать остальные области, даже область по умолчанию.

Disabled = 0

Эта область не влияет на гравитацию/влажность. Это, как правило, области, которые существуют только для обнаружения столкновений и объектов, входящих или выходящих из них.

Replace = 3

Эта область заменяет любую гравитацию/влажность, даже заданную по умолчанию, и прекращает учитывать остальные области.

ReplaceCombine = 4

Эта область заменяет все рассчитанные до сих пор значения гравитации/влажности, но продолжает рассчитывать остальные области, вплоть до области по умолчанию.

PhysicsServer3D.BodyAxis

PhysicsServer3D.BodyDampMode

ЗначениеОписание
Combine = 0

Значение демпфирования тела добавляется к любому значению, заданному в областях, или к значению по умолчанию.

Replace = 1

Значение демпфирования тела заменяет любое значение, заданное в областях, или значение по умолчанию.

PhysicsServer3D.BodyMode

ЗначениеОписание
Kinematic = 1

Константа для кинематических тел. В этом режиме тело может перемещаться только пользовательским кодом и сталкиваться с другими телами на своем пути.

Rigid = 2

Постоянная для твердых тел. В этом режиме тело может толкаться другими телами и к нему могут быть приложены силы.

RigidLinear = 3

Постоянная для линейных твердых тел. В этом режиме тело не может вращаться, и только его линейная скорость подвержена влиянию внешних сил.

Static = 0

Константа для статических тел. В этом режиме тело может перемещаться только пользовательским кодом и не сталкивается с другими телами на своем пути при перемещении.

PhysicsServer3D.BodyParameter

ЗначениеОписание
AngularDamp = 9

Константа для установки/получения коэффициента углового затухания тела.

AngularDampMode = 7

Константа для установки/получения режима углового демпфирования тела. См. PhysicsServer3D.BodyDampMode для возможных значений.

Bounce = 0

Константа для установки/получения коэффициента упругости тела.

CenterOfMass = 4

Константа для установки/получения положения центра масс тела в локальной системе координат тела.

Friction = 1

Постоянная величина, устанавливающая/получающая трение тела.

GravityScale = 5

Константа для установки/получения множителя силы тяжести тела.

Inertia = 3

Константа для задания/получения инерции тела.

LinearDamp = 8

Константа для установки/получения линейного коэффициента затухания тела.

LinearDampMode = 6

Константа для установки/получения линейного режима демпфирования тела. См. PhysicsServer3D.BodyDampMode для возможных значений.

Mass = 2

Константа для установки/получения массы тела.

Max = 10

Представляет размер перечисления PhysicsServer3D.BodyParameter.

PhysicsServer3D.BodyState

ЗначениеОписание
AngularVelocity = 2

Константа для установки/получения текущей угловой скорости тела.

CanSleep = 4

Константа для установки/получения информации о том, может ли тело спать.

LinearVelocity = 1

Константа для установки/получения текущей линейной скорости тела.

Sleeping = 3

Постоянно, чтобы заснуть/разбудить тело или узнать, спит ли оно.

Transform = 0

Константа для установки/получения текущей матрицы преобразования тела.

PhysicsServer3D.ConeTwistJointParam

ЗначениеОписание
Bias = 2

Скорость, с которой будет происходить раскачивание или поворот. Чем выше значение, тем быстрее. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

Relaxation = 4

Определяет скорость синхронизации разницы скоростей качания и вращения с обеих сторон. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

Softness = 3

Если значение параметра Joint3D слишком низкое, для поворота сустава потребуется больше усилий. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

SwingSpan = 0

Поворот — это вращение из стороны в сторону вокруг оси, перпендикулярной оси скручивания. Размах поворота определяет, какая часть вращения не будет скорректирована вдоль оси поворота. Может быть определен как люфт в ConeTwistJoint3D. Если он меньше 0,05, это поведение блокируется.

TwistSpan = 1

Скручивание — это вращение вокруг оси скручивания; это значение определяет, насколько сильно может скручиваться сустав. Скручивание блокируется, если оно меньше 0,05.

PhysicsServer3D.G6DofJointAxisFlag

ЗначениеОписание
EnableAngularLimit = 1

Если установлено, возможно вращательное движение.

EnableAngularMotor = 4

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

EnableAngularSpring = 2
EnableLinearLimit = 0

Если установлено, то линейное движение возможно в заданных пределах.

EnableLinearMotor = 5

Если установлено, на этой оси имеется линейный двигатель, который нацеливается на определенную скорость.

EnableLinearSpring = 3
EnableMotor = 4

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

Max = 6

Представляет размер перечисления PhysicsServer3D.G6DofJointAxisFlag.

PhysicsServer3D.G6DofJointAxisParam

ЗначениеОписание
AngularDamping = 13

Величина вращательного демпфирования относительно осей. Чем ниже значение, тем сильнее демпфирование. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularDriveTorqueLimit = 23

Максимальный крутящий момент, который может быть установлен на суставе вокруг этой угловой оси. Используется как пружинным приводом, так и угловым двигателем; заменяется PhysicsServer3D.G6DofJointAxisParam.AngularMotorForceLimit когда начнётся. Примечание: Другие 3D физики могут игнорировать это значение.

AngularErp = 16

При коррекции пересечения пределов вращения относительно осей этот коэффициент допустимой погрешности определяет, насколько замедляется коррекция. Чем ниже значение, тем медленнее. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularForceLimit = 15

Максимальная сила, которая может возникнуть при вращении вокруг осей. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularLimitSoftness = 12

Множитель, который умножается на все повороты относительно осей. Примечание: Поддерживается только при использовании Физика " Reckfell " 3D. Этот параметр игнорируется при использовании Физика джольта.

AngularLowerLimit = 10

Минимальное вращение в отрицательном направлении для освобождения и вращения вокруг осей.

AngularMotorForceLimit = 18

Максимальное ускорение двигателя по осям.

AngularMotorTargetVelocity = 17

Целевая скорость двигателя по осям.

AngularRestitution = 14

Величина восстановления вращения относительно осей. Чем ниже значение, тем больше восстановление. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularSpringDamping = 20
AngularSpringEquilibriumPoint = 21
AngularSpringStiffness = 19
AngularUpperLimit = 11

Минимальное вращение в положительном направлении для освобождения и вращения вокруг осей.

LinearDamping = 4

Величина затухания, происходящего при линейном перемещении вдоль осей. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearDriveForceLimit = 22

Максимальная сила, прилагаемая к суставу вдоль этой линейной оси. Используется как пружинный привод, так и линейный двигатель; заменяется PhysicsServer3D.G6DofJointAxisParam.LinearMotorForceLimit когда начнётся. Примечание: Другие 3D физики могут игнорировать это значение.

LinearLimitSoftness = 2

Коэффициент, применяемый к движению по осям. Чем ниже значение, тем медленнее движение. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearLowerLimit = 0

Минимальная разница между осями точек поворота.

LinearMotorForceLimit = 6

Максимальная сила, которую может приложить линейный двигатель, пытаясь достичь целевой скорости.

LinearMotorTargetVelocity = 5

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

LinearRestitution = 3

Величина восстановления при движении по осям. Чем ниже значение, тем больше энергии скорости теряется. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearSpringDamping = 8
LinearSpringEquilibriumPoint = 9
LinearSpringStiffness = 7
LinearUpperLimit = 1

Максимальная разница между осями точек поворота.

Max = 24

Представляет размер перечисления PhysicsServer3D.G6DofJointAxisParam.

PhysicsServer3D.HingeJointFlag

ЗначениеОписание
EnableMotor = 1

Если true, двигатель вращает шарнир.

UseLimit = 0

Если true, шарнир имеет максимальное и минимальное вращение.

PhysicsServer3D.HingeJointParam

ЗначениеОписание
Bias = 0

Скорость, с которой два тела притягиваются друг к другу при движении в разных направлениях. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LimitBias = 3

Скорость, с которой корректируется вращение вокруг оси, перпендикулярной шарниру. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LimitLower = 2

Минимальное вращение вокруг Шарнира.

LimitRelaxation = 5

Чем ниже это значение, тем сильнее замедляется вращение. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LimitSoftness = 4

Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LimitUpper = 1

Максимальный угол поворота Шарнира.

MotorMaxImpulse = 7

Максимальное ускорение двигателя.

MotorTargetVelocity = 6

Целевая скорость двигателя.

PhysicsServer3D.JointType

ЗначениеОписание
ConeTwist = 3

Joint3D — это ConeTwistJoint3D.

Hinge = 1

Joint3D — это HingeJoint3D.

Max = 5

Представляет размер перечисления PhysicsServer3D.JointType.

Pin = 0

Joint3D — это PinJoint3D.

СОВМЕСТНЫЙ ТИПЕ

Slider = 2

Joint3D — это SliderJoint3D.

Type6Dof = 4

Joint3D — это Generic6DofJoint3D.

PhysicsServer3D.PinJointParam

ЗначениеОписание
Bias = 0

Сила, с которой закрепленные объекты пытаются оставаться в позиционном отношении друг к другу. Чем выше значение, тем сильнее сила. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

Damping = 1

Сила, с которой закрепленные объекты пытаются сохранить свою скорость относительно друг друга. Чем выше значение, тем сильнее сила. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

ImpulseClamp = 2

Если значение больше 0, это максимальное значение импульса, который Joint3D прикладывает к своим концам. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

PhysicsServer3D.ProcessInfo

ЗначениеОписание
ActiveObjects = 0

Константа для получения количества объектов, которые не спят.

CollisionPairs = 1

Константа для получения количества возможных столкновений.

IslandCount = 2

Константа для получения количества областей пространства, где может произойти столкновение.

PhysicsServer3D.ShapeType

ЗначениеОписание
Box = 3

Константа для создания прямоугольной формы (используется ресурсом BoxShape3D).

Capsule = 4

Константа для создания формы капсулы (используется ресурсом CapsuleShape3D).

ConcavePolygon = 7

Константа для создания вогнутой многоугольной (тримеш) формы (используется ресурсом ConcavePolygonShape3D).

ConvexPolygon = 6

Константа для создания выпуклой многоугольной фигуры (используется ресурсом ConvexPolygonShape3D).

Custom = 10

Константа, используемая внутри для создания пользовательской формы. Любая попытка создать подобную форму приводит к ошибке при использовании Физика " Reckfell " или Физика джольта.

Cylinder = 5

Константа для создания цилиндрической формы (используется ресурсом CylinderShape3D).

Heightmap = 8

Константа для создания формы карты высот (используется ресурсом HeightMapShape3D).

SeparationRay = 1

Константа для создания формы разделительного луча (используется ресурсом SeparationRayShape3D).

SoftBody = 9

Константа, используемая внутри для создания мягкой формы тела. Любая попытка создать подобную форму приводит к ошибке.

Sphere = 2

Константа для создания сферической формы (используется ресурсом SphereShape3D).

WorldBoundary = 0

Константа для создания формы границы мира (используется ресурсом WorldBoundaryShape3D).

PhysicsServer3D.SliderJointParam

ЗначениеОписание
AngularLimitDamping = 15

Величина затухания вращения при превышении предела. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularLimitLower = 12

Нижний предел вращения ползунка. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularLimitRestitution = 14

Величина восстановления вращения при превышении предела. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularLimitSoftness = 13

Коэффициент, применяемый ко всем вращениям после превышения предела. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularLimitUpper = 11

Верхний предел вращения ползунка. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularMotionDamping = 18

Величина затухания вращения в пределах допустимых значений. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

СЛЕДУЮЩАЯ СЛЕДУЮЩАЯ СРЕДА

AngularMotionRestitution = 17

Величина восстановления вращения в пределах допустимых значений. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularMotionSoftness = 16

Коэффициент, применяемый ко всем вращениям в пределах допустимых значений. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularOrthogonalDamping = 21

Величина демпфирования вращения относительно осей, ортогональных ползунку. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularOrthogonalRestitution = 20

Величина восстановления вращения относительно осей, ортогональных ползунку. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

AngularOrthogonalSoftness = 19

Коэффициент, применяемый ко всем вращениям относительно осей, ортогональных ползунку. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearLimitDamping = 4

Величина демпфирования после превышения пределов, заданных ползунком. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearLimitLower = 1

Минимальная разница между точками поворота по оси X до наступления амортизации.

LinearLimitRestitution = 3

Величина восстановления после превышения пределов. Чем ниже значение, тем больше энергии скорости теряется. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearLimitSoftness = 2

Коэффициент, применяемый к перемещению вдоль оси ползунка после превышения предельных значений. Чем ниже значение, тем медленнее движение. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearLimitUpper = 0

Максимальная разница между точками поворота по оси X до наступления амортизации.

LinearMotionDamping = 7

Величина демпфирования в пределах диапазона ползунка. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearMotionRestitution = 6

Величина восстановления в пределах диапазона ползунка. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearMotionSoftness = 5

Коэффициент, применяемый к перемещению вдоль оси ползунка, пока ползунок находится в пределах допустимых значений. Чем меньше значение, тем медленнее перемещение. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearOrthogonalDamping = 10

Величина демпфирования при движении вдоль осей, перпендикулярных ползунку. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearOrthogonalRestitution = 9

Величина восстановления при движении вдоль осей, перпендикулярных ползунку. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

LinearOrthogonalSoftness = 8

Коэффициент, применяемый к перемещению вдоль осей, перпендикулярных ползунку. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

Max = 22

Представляет размер перечисления PhysicsServer3D.SliderJointParam.

PhysicsServer3D.SpaceParameter

ЗначениеОписание
BodyAngularVelocitySleepThreshold = 5

Константа для установки/получения пороговой угловой скорости активности. Тело, помеченное как потенциально неактивное как по линейной, так и по угловой скорости, будет переведено в спящий режим по истечении заданного времени. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

BodyLinearVelocitySleepThreshold = 4

Константа для установки/получения пороговой линейной скорости активности. Тело, помеченное как потенциально неактивное как по линейной, так и по угловой скорости, будет переведено в спящий режим по истечении заданного времени. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта.

BodyTimeToSleep = 6

Константа для установки/получения максимального времени активности. Тело, отмеченное как потенциально неактивное как для линейной, так и для угловой скорости, будет переведено в спящий режим по истечении этого времени.

ContactDefaultBias = 3

Константа для установки/получения смещения решателя по умолчанию для всех физических контактов. Смещение решателя — это фактор, контролирующий, насколько два объекта «отскакивают» после наложения, чтобы избежать их оставления в этом состоянии из-за числовой неточности.

ContactMaxAllowedPenetration = 2

Константа для установки/получения максимального расстояния, на которое одна фигура может проникнуть в другую, прежде чем это будет считаться столкновением.

ContactMaxSeparation = 1

Константа для установки/получения максимального расстояния между фигурами, на котором они могут находиться, прежде чем они будут считаться разделенными и контакт будет отменен.

ContactRecycleRadius = 0

Константа для установки/получения максимального расстояния, которое должна пройти пара тел, прежде чем их статус столкновения придется пересчитывать.

SolverIterations = 7

Константа для установки/получения количества итераций решателя для контактов и ограничений. Чем больше количество итераций, тем точнее будут столкновения и ограничения. Однако большее количество итераций требует большей мощности ЦП, что может снизить производительность.

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

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

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

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