PhysicsServer3D
Серверный интерфейс для низкоуровневого доступа к трехмерной физике.
Серверный интерфейс для низкоуровневого доступа к трехмерной физике.
PhysicsServer3D — сервер, отвечающий за всю трехмерную физику. Он может напрямую создавать и управлять всеми физическими объектами:
- пространство — это автономный мир для моделирования физики. Оно содержит тела, области и сочленения. Его состояние может быть запрошено для получения информации о столкновениях и пересечениях, и можно изменить несколько параметров моделирования.
- форма — это геометрическая форма, такая как сфера, параллелепипед, цилиндр или многоугольник. Ее можно использовать для обнаружения столкновений, добавив ее к телу/области, возможно, с дополнительным преобразованием относительно начала координат тела/области. Тела/области могут иметь несколько (преобразованных) форм, добавленных к ним, и одна форма может быть добавлена к телам/областям несколько раз с различными локальными преобразованиями.
- тело — это физический объект, который может находиться в статическом, кинематическом или жестком режиме. Его состояние (такое как положение и скорость) можно запрашивать и обновлять. Обратный вызов интеграции силы может быть установлен для настройки физики тела.
- область - это область в пространстве, которая может использоваться для обнаружения тел и областей, входящих и выходящих из нее. Обратный вызов мониторинга тела может быть установлен для сообщения о входе/выходе форм тела, и аналогичным образом может быть установлен обратный вызов мониторинга области. Гравитация и демпфирование могут быть переопределены в области путем установки параметров области.
- соединение - это ограничение, либо между двумя телами, либо на одном теле относительно точки. Такие параметры, как смещение сочленения и остаточная длина пружинного соединения, могут быть скорректированы.
Физические объекты в
PhysicsServer3Dмогут быть созданы и изменены независимо; они не должны быть привязаны к узлам в дереве сцены. Примечание: Все узлы 3D-физики используют физический сервер внутренне. Добавление физического узла в дерево сцены приведет к созданию соответствующего физического объекта на физическом сервере. Узел твердого тела регистрирует обратный вызов, который обновляет преобразование узла с преобразованием соответствующего объекта тела на физическом сервере (каждое обновление физики). Узел области регистрирует обратный вызов, чтобы информировать узел области о перекрытиях с соответствующим объектом области на физическом сервере. Узел raycast запрашивает прямое состояние соответствующего пространства на физическом сервере.
Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.
Свойства1
SingletonСвойство
public static PhysicsServer3DInstance Singleton { get; }Методы177
AreaAddShapevoid
public static void AreaAddShape(Rid area, Rid shape, Transform3D? transform = default, bool disabled = false);Добавляет форму к области вместе с матрицей преобразования. Формы обычно ссылаются по индексу, поэтому следует отслеживать, какая форма имеет заданный индекс.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
shape | Rid | — |
transform | Transform3D? | default |
disabled | bool | false |
transformЕсли параметр не имеет значения, то значение по умолчанию: Transform3D.Identity.
AreaAttachObjectInstanceIdvoid
public static void AreaAttachObjectInstanceId(Rid area, ulong id);Назначает область потомку ReckfellObject, чтобы она могла существовать в дереве узлов.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
id | ulong | — |
AreaClearShapesvoid
public static void AreaClearShapes(Rid area);Удаляет все фигуры из области. Фигуры не удаляются, поэтому их можно переназначить позже.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
AreaCreateRid
public static Rid AreaCreate();Создает объект 3D-области на физическом сервере и возвращает Rid, который его идентифицирует. Настройки по умолчанию для созданной области включают слой столкновений и маску, установленные на 1, и monitorable, установленные на false.
Используйте PhysicsServer3D.AreaAddShape, чтобы добавить к нему формы, используйте PhysicsServer3D.AreaSetTransform, чтобы задать его преобразование, и используйте PhysicsServer3D.AreaSetSpace, чтобы добавить область в пространство. Если вы хотите, чтобы область была обнаруживаемой, используйте PhysicsServer3D.AreaSetMonitorable.
RidAreaGetCollisionLayeruint
public static uint AreaGetCollisionLayer(Rid area);Возвращает физический слой или слои, к которым принадлежит область.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
uintAreaGetCollisionMaskuint
public static uint AreaGetCollisionMask(Rid area);Возвращает физический слой или слои, с которыми может контактировать область.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
uintAreaGetObjectInstanceIdulong
public static ulong AreaGetObjectInstanceId(Rid area);Получает идентификатор экземпляра объекта, которому назначена область.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
ulongAreaGetParamVariant
public static Variant AreaGetParam(Rid area, PhysicsServer3D.AreaParameter param);Возвращает значение параметра области. Список доступных параметров находится в константах PhysicsServer3D.AreaParameter.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
param | PhysicsServer3D.AreaParameter | — |
VariantAreaGetShapeRid
public static Rid AreaGetShape(Rid area, int shapeIdx);Возвращает Rid n-й формы области.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
shapeIdx | int | — |
RidAreaGetShapeCountint
public static int AreaGetShapeCount(Rid area);Возвращает количество фигур, назначенных области.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
intAreaGetShapeTransformTransform3D
public static Transform3D AreaGetShapeTransform(Rid area, int shapeIdx);Возвращает матрицу преобразования фигуры внутри области.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
shapeIdx | int | — |
Transform3DAreaGetSpaceRid
public static Rid AreaGetSpace(Rid area);Возвращает пространство, назначенное области.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
RidAreaGetTransformTransform3D
public static Transform3D AreaGetTransform(Rid area);Возвращает матрицу преобразования для области.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
Transform3DAreaRemoveShapevoid
public static void AreaRemoveShape(Rid area, int shapeIdx);Удаляет фигуру из области. Она не удаляет фигуру, поэтому ее можно назначить повторно позже.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
shapeIdx | int | — |
AreaSetAreaMonitorCallbackvoid
public static void AreaSetAreaMonitorCallback(Rid area, Callable callback);Устанавливает обратный вызов монитора области. Этот обратный вызов будет вызван, когда любая другая (форма) области входит или выходит из (формы) заданной области, и должен принимать следующие пять параметров:
- целое число
status: либоPhysicsServer3D.AreaBodyStatus.AddedилиPhysicsServer3D.AreaBodyStatus.Removedв зависимости от того, вошла или вышла из области форма другой области, Ridarea_rid:Ridдругой области, которая вошла или вышла из области,- целое число
instance_id:ObjectID, прикрепленный к другой области, - целое число
area_shape_idx: индекс формы другой области, которая вошла или вышла из области, - целое число
self_shape_idx: индекс формы области, в которую вошла или вышла другая область. Подсчитывая (или отслеживая) входящие и выходящие фигуры, можно определить, входит ли область (со всеми ее фигурами) в первый раз или выходит в последний раз.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
callback | Callable | — |
AreaSetCollisionLayervoid
public static void AreaSetCollisionLayer(Rid area, uint layer);Назначает область одному или нескольким физическим слоям.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
layer | uint | — |
AreaSetCollisionMaskvoid
public static void AreaSetCollisionMask(Rid area, uint mask);Устанавливает, какие физические слои будет отслеживать область.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
mask | uint | — |
AreaSetMonitorCallbackvoid
public static void AreaSetMonitorCallback(Rid area, Callable callback);Устанавливает обратный вызов монитора тела области. Этот обратный вызов будет вызван, когда любое другое (форма) тело входит или выходит (форма) из заданной области, и должен принимать следующие пять параметров:
- целое число
status: либоPhysicsServer3D.AreaBodyStatus.AddedилиPhysicsServer3D.AreaBodyStatus.Removedв зависимости от того, вошла или вышла из области другая форма тела, Ridbody_rid:Ridтела, которое вошло или вышло из области,- целое число
instance_id:ObjectID, прикрепленный к телу, - целое число
body_shape_idx: индекс формы тела, которое вошло или вышло из области, - целое число
self_shape_idx: индекс формы области, в которую тело вошло или вышло. Подсчитывая (или отслеживая) входящие и выходящие формы, можно определить, входит ли тело (со всеми его формами) в первый раз или выходит в последний раз.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
callback | Callable | — |
AreaSetMonitorablevoid
public static void AreaSetMonitorable(Rid area, bool monitorable);| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
monitorable | bool | — |
AreaSetParamvoid
public static void AreaSetParam(Rid area, PhysicsServer3D.AreaParameter param, Variant value);Устанавливает значение параметра области. Список доступных параметров находится в константах PhysicsServer3D.AreaParameter.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
param | PhysicsServer3D.AreaParameter | — |
value | Variant | — |
AreaSetRayPickablevoid
public static void AreaSetRayPickable(Rid area, bool enable);Позволяет выбирать объекты с помощью лучей.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
enable | bool | — |
AreaSetShapevoid
public static void AreaSetShape(Rid area, int shapeIdx, Rid shape);Заменяет заданную форму области другой. Старая форма выбирается по ее индексу, новая — по ее Rid.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
shapeIdx | int | — |
shape | Rid | — |
AreaSetShapeDisabledvoid
public static void AreaSetShapeDisabled(Rid area, int shapeIdx, bool disabled);| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
shapeIdx | int | — |
disabled | bool | — |
AreaSetShapeTransformvoid
public static void AreaSetShapeTransform(Rid area, int shapeIdx, Transform3D transform);Задает матрицу преобразования для формы области.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
shapeIdx | int | — |
transform | Transform3D | — |
AreaSetSpacevoid
public static void AreaSetSpace(Rid area, Rid space);Назначает пространство области.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
space | Rid | — |
AreaSetTransformvoid
public static void AreaSetTransform(Rid area, Transform3D transform);Задает матрицу преобразования для области.
| Имя | Тип | По умолчанию |
|---|---|---|
area | Rid | — |
transform | Transform3D | — |
BodyAddCollisionExceptionvoid
public static void BodyAddCollisionException(Rid body, Rid exceptedBody);Добавляет тело в список тел, освобожденных от столкновений.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
exceptedBody | Rid | — |
BodyAddConstantCentralForcevoid
public static void BodyAddConstantCentralForce(Rid body, Vector3 force);Добавляет постоянную направленную силу, не влияя на вращение, которая продолжает применяться с течением времени, пока не будет очищена с помощью body_set_constant_force(body, Vector3(0, 0, 0)).
Это эквивалентно использованию PhysicsServer3D.BodyAddConstantForce в центре масс тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
force | Vector3 | — |
BodyAddConstantForcevoid
public static void BodyAddConstantForce(Rid body, Vector3 force, Vector3? position = default);Добавляет к телу постоянную позиционную силу, которая продолжает применяться с течением времени, пока не будет очищена с помощью body_set_constant_force(body, Vector3(0, 0, 0)).
position — это смещение от начала координат тела в глобальных координатах.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
force | Vector3 | — |
position | Vector3? | default |
positionЕсли параметр не имеет значения, то значение по умолчанию: new Vector3(0.0f, 0.0f, 0.0f).
BodyAddConstantTorquevoid
public static void BodyAddConstantTorque(Rid body, Vector3 torque);Добавляет постоянную вращательную силу, не влияя на положение, которая продолжает применяться с течением времени, пока не будет очищена с помощью body_set_constant_torque(body, Vector3(0, 0, 0)).
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
torque | Vector3 | — |
BodyAddShapevoid
public static void BodyAddShape(Rid body, Rid shape, Transform3D? transform = default, bool disabled = false);Добавляет форму к телу вместе с матрицей преобразования. Формы обычно ссылаются по их индексу, поэтому следует отслеживать, какая форма имеет заданный индекс.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
shape | Rid | — |
transform | Transform3D? | default |
disabled | bool | false |
transformЕсли параметр не имеет значения, то значение по умолчанию: Transform3D.Identity.
BodyApplyCentralForcevoid
public static void BodyApplyCentralForce(Rid body, Vector3 force);Применяет направленную силу, не влияя на вращение. Сила зависит от времени и должна применяться при каждом обновлении физики.
Это эквивалентно использованию PhysicsServer3D.BodyApplyForce в центре масс тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
force | Vector3 | — |
BodyApplyCentralImpulsevoid
public static void BodyApplyCentralImpulse(Rid body, Vector3 impulse);Применяет направленный импульс, не влияя на вращение.
Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force").
Это эквивалентно использованию PhysicsServer3D.BodyApplyImpulse в центре масс тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
impulse | Vector3 | — |
BodyApplyForcevoid
public static void BodyApplyForce(Rid body, Vector3 force, Vector3? position = default);Применяет позиционированную силу к телу. Сила зависит от времени и должна применяться при каждом обновлении физики.
position — это смещение от начала координат тела в глобальных координатах.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
force | Vector3 | — |
position | Vector3? | default |
positionЕсли параметр не имеет значения, то значение по умолчанию: new Vector3(0.0f, 0.0f, 0.0f).
BodyApplyImpulsevoid
public static void BodyApplyImpulse(Rid body, Vector3 impulse, Vector3? position = default);Применяет позиционированный импульс к телу.
Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force").
position — это смещение от начала координат тела в глобальных координатах.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
impulse | Vector3 | — |
position | Vector3? | default |
positionЕсли параметр не имеет значения, то значение по умолчанию: new Vector3(0.0f, 0.0f, 0.0f).
BodyApplyTorquevoid
public static void BodyApplyTorque(Rid body, Vector3 torque);Применяет вращательную силу, не влияя на положение. Сила зависит от времени и должна применяться при каждом обновлении физики.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
torque | Vector3 | — |
BodyApplyTorqueImpulsevoid
public static void BodyApplyTorqueImpulse(Rid body, Vector3 impulse);Применяет вращательный импульс к телу, не влияя на положение. Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force").
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
impulse | Vector3 | — |
BodyAttachObjectInstanceIdvoid
public static void BodyAttachObjectInstanceId(Rid body, ulong id);Назначает область потомку ReckfellObject, чтобы она могла существовать в дереве узлов.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
id | ulong | — |
BodyClearShapesvoid
public static void BodyClearShapes(Rid body);Удаляет все формы из тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
BodyCreateRid
public static Rid BodyCreate();Создает объект 3D-тела на физическом сервере и возвращает Rid, который его идентифицирует. Настройки по умолчанию для созданной области включают слой столкновения и маску, установленные на 1, и режим тела, установленный на PhysicsServer3D.BodyMode.Rigid.
Используйте PhysicsServer3D.BodyAddShape, чтобы добавить к нему формы, используйте PhysicsServer3D.BodySetState, чтобы задать его преобразование, и используйте PhysicsServer3D.BodySetSpace, чтобы добавить тело в пространство.
RidBodyGetCollisionLayeruint
public static uint BodyGetCollisionLayer(Rid body);Возвращает физический слой или слои, к которым принадлежит тело.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
uintBodyGetCollisionMaskuint
public static uint BodyGetCollisionMask(Rid body);Возвращает физический слой или слои, с которыми может сталкиваться тело.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
uintBodyGetCollisionPriorityfloat
public static float BodyGetCollisionPriority(Rid body);Возвращает приоритет столкновения тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
floatBodyGetConstantForceVector3
public static Vector3 BodyGetConstantForce(Rid body);Возвращает общие постоянные позиционные силы тела, применяемые во время каждого обновления физики.
См. PhysicsServer3D.BodyAddConstantForce и PhysicsServer3D.BodyAddConstantCentralForce.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
Vector3BodyGetConstantTorqueVector3
public static Vector3 BodyGetConstantTorque(Rid body);Возвращает общие постоянные вращательные силы тела, применяемые во время каждого обновления физики.
См. PhysicsServer3D.BodyAddConstantTorque.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
Vector3BodyGetDirectStatePhysicsDirectBodyState3D
public static PhysicsDirectBodyState3D BodyGetDirectState(Rid body);Возвращает PhysicsDirectBodyState3D тела. Возвращает null, если тело уничтожено или удалено из физического пространства.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
PhysicsDirectBodyState3DBodyGetMaxContactsReportedint
public static int BodyGetMaxContactsReported(Rid body);Возвращает максимальное количество контактов, которые могут быть сообщены. См. PhysicsServer3D.BodySetMaxContactsReported.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
intBodyGetModePhysicsServer3D.BodyMode
public static PhysicsServer3D.BodyMode BodyGetMode(Rid body);Возвращает режим тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
PhysicsServer3D.BodyModeBodyGetObjectInstanceIdulong
public static ulong BodyGetObjectInstanceId(Rid body);Получает идентификатор экземпляра объекта, которому назначена область.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
ulongBodyGetParamVariant
public static Variant BodyGetParam(Rid body, PhysicsServer3D.BodyParameter param);Возвращает значение параметра тела. Список доступных параметров находится в константах PhysicsServer3D.BodyParameter.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
param | PhysicsServer3D.BodyParameter | — |
VariantBodyGetShapeRid
public static Rid BodyGetShape(Rid body, int shapeIdx);Возвращает Rid n-й формы тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
shapeIdx | int | — |
RidBodyGetShapeCountint
public static int BodyGetShapeCount(Rid body);Возвращает количество фигур, назначенных телу.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
intBodyGetShapeTransformTransform3D
public static Transform3D BodyGetShapeTransform(Rid body, int shapeIdx);Возвращает матрицу преобразования формы тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
shapeIdx | int | — |
Transform3DBodyGetSpaceRid
public static Rid BodyGetSpace(Rid body);Возвращает Rid пространства, назначенного телу.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
RidBodyGetStateVariant
public static Variant BodyGetState(Rid body, PhysicsServer3D.BodyState state);Возвращает состояние тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
state | PhysicsServer3D.BodyState | — |
VariantBodyIsAxisLockedbool
public static bool BodyIsAxisLocked(Rid body, PhysicsServer3D.BodyAxis axis);| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
axis | PhysicsServer3D.BodyAxis | — |
boolBodyIsContinuousCollisionDetectionEnabledbool
public static bool BodyIsContinuousCollisionDetectionEnabled(Rid body);Если true, включен режим непрерывного обнаружения столкновений.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
boolBodyIsOmittingForceIntegrationbool
public static bool BodyIsOmittingForceIntegration(Rid body);Возвращает true, если тело пропускает стандартную интеграцию силы. См. PhysicsServer3D.BodySetOmitForceIntegration.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
boolBodyRemoveCollisionExceptionvoid
public static void BodyRemoveCollisionException(Rid body, Rid exceptedBody);Удаляет тело из списка тел, освобожденных от столкновений. Непрерывное обнаружение столкновений пытается предсказать, где движущееся тело столкнется, вместо того, чтобы перемещать его и корректировать его движение в случае столкновения.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
exceptedBody | Rid | — |
BodyRemoveShapevoid
public static void BodyRemoveShape(Rid body, int shapeIdx);Удаляет форму из тела. Сама форма не удаляется, поэтому ее можно использовать повторно.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
shapeIdx | int | — |
BodyResetMassPropertiesvoid
public static void BodyResetMassProperties(Rid body);Восстанавливает инерцию и центр масс по умолчанию на основе форм, чтобы отменить любые пользовательские значения, ранее установленные с помощью PhysicsServer3D.BodySetParam.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
BodySetAxisLockvoid
public static void BodySetAxisLock(Rid body, PhysicsServer3D.BodyAxis axis, bool @lock);| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
axis | PhysicsServer3D.BodyAxis | — |
lock | bool | — |
BodySetAxisVelocityvoid
public static void BodySetAxisVelocity(Rid body, Vector3 axisVelocity);Устанавливает скорость оси. Скорость в данной векторной оси будет установлена как заданная длина вектора. Это полезно для поведения прыжка.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
axisVelocity | Vector3 | — |
BodySetCollisionLayervoid
public static void BodySetCollisionLayer(Rid body, uint layer);Устанавливает физический слой или слои, к которым принадлежит тело.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
layer | uint | — |
BodySetCollisionMaskvoid
public static void BodySetCollisionMask(Rid body, uint mask);Устанавливает физический слой или слои, с которыми может сталкиваться тело.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
mask | uint | — |
BodySetCollisionPriorityvoid
public static void BodySetCollisionPriority(Rid body, float priority);Устанавливает приоритет столкновения тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
priority | float | — |
BodySetConstantForcevoid
public static void BodySetConstantForce(Rid body, Vector3 force);Устанавливает общие постоянные позиционные силы тела, применяемые во время каждого обновления физики.
См. PhysicsServer3D.BodyAddConstantForce и PhysicsServer3D.BodyAddConstantCentralForce.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
force | Vector3 | — |
BodySetConstantTorquevoid
public static void BodySetConstantTorque(Rid body, Vector3 torque);Устанавливает общие постоянные вращательные силы тела, применяемые во время каждого обновления физики.
См. PhysicsServer3D.BodyAddConstantTorque.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
torque | Vector3 | — |
BodySetEnableContinuousCollisionDetectionvoid
public static void BodySetEnableContinuousCollisionDetection(Rid body, bool enable);Если true, режим непрерывного обнаружения столкновений включен.
Непрерывное обнаружение столкновений пытается предсказать, где движущееся тело столкнется, вместо того, чтобы перемещать его и корректировать его движение в случае столкновения.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
enable | bool | — |
BodySetForceIntegrationCallbackvoid
public static void BodySetForceIntegrationCallback(Rid body, Callable callable, Variant userdata = default);Устанавливает функцию вызова интегрирования усилия в организм для callable. Использовать пустоту Callable ([Код пропусков]Callable() ", чтобы очистить заказный ответ.
Функция callable будет называться каждый физика клещ до стандартной интеграции сил (см. PhysicsServer3D.BodySetOmitForceIntegrationОн может использоваться, например, для обновления линейной и угловой скорости тела на основе контакта с другими телами.
Если userdata нет null, функция callable должны измеряться следующие два параметра:
state: aPhysicsDirectBodyState3D, используемые для извлечения и изменения состояния тела,Variant; its value will be theВ этот метод ввели данные пользователя. ЕслиuserdataэтоnullТогдаcallableдолжен взять толькоstate` параметр.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
callable | Callable | — |
userdata | Variant | default |
BodySetMaxContactsReportedvoid
public static void BodySetMaxContactsReported(Rid body, int amount);Устанавливает максимальное количество контактов для отчета. Органы могут вести журнал контактов с другими органами. Это включается путем установки максимального количества сообщаемых контактов на число больше 0.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
amount | int | — |
BodySetModevoid
public static void BodySetMode(Rid body, PhysicsServer3D.BodyMode mode);Устанавливает режим тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
mode | PhysicsServer3D.BodyMode | — |
BodySetOmitForceIntegrationvoid
public static void BodySetOmitForceIntegration(Rid body, bool enable);Устанавливает, будет ли тело пропускать стандартную интеграцию силы. Если enable равно true, тело не будет автоматически использовать приложенные силы, крутящие моменты и демпфирование для обновления линейной и угловой скорости тела. В этом случае PhysicsServer3D.BodySetForceIntegrationCallback можно использовать для ручного обновления линейной и угловой скорости.
Этот метод вызывается, когда задано свойство RigidBody3D.CustomIntegrator.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
enable | bool | — |
BodySetParamvoid
public static void BodySetParam(Rid body, PhysicsServer3D.BodyParameter param, Variant value);Устанавливает параметр тела. Список доступных параметров находится в константах PhysicsServer3D.BodyParameter.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
param | PhysicsServer3D.BodyParameter | — |
value | Variant | — |
BodySetRayPickablevoid
public static void BodySetRayPickable(Rid body, bool enable);Устанавливает возможность выбора тела лучами, если установлен enable.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
enable | bool | — |
BodySetShapevoid
public static void BodySetShape(Rid body, int shapeIdx, Rid shape);Заменяет заданную форму тела другой. Старая форма выбирается по ее индексу, новая — по ее Rid.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
shapeIdx | int | — |
shape | Rid | — |
BodySetShapeDisabledvoid
public static void BodySetShapeDisabled(Rid body, int shapeIdx, bool disabled);| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
shapeIdx | int | — |
disabled | bool | — |
BodySetShapeTransformvoid
public static void BodySetShapeTransform(Rid body, int shapeIdx, Transform3D transform);Задает матрицу преобразования для формы тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
shapeIdx | int | — |
transform | Transform3D | — |
BodySetSpacevoid
public static void BodySetSpace(Rid body, Rid space);Назначает пространство телу (см. PhysicsServer3D.SpaceCreate).
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
space | Rid | — |
BodySetStatevoid
public static void BodySetState(Rid body, PhysicsServer3D.BodyState state, Variant value);Устанавливает состояние тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
state | PhysicsServer3D.BodyState | — |
value | Variant | — |
BodySetStateSyncCallbackvoid
public static void BodySetStateSyncCallback(Rid body, Callable callable);Устанавливает функцию синхронизации вызова тела callable. Использовать пустоту Callable ([Код пропусков]Callable() чтобы освободить ответный звонок.
Функция callable будет называться каждой физической рамой, если предположить, что тело было активным во время предыдущей физики, и может быть использовано для получения последнего состояния с сервера физики.
Функция callable должны иметь следующие параметры:
state: aPhysicsDirectBodyState3D, использовал для восстановления состояния тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
callable | Callable | — |
BodyTestMotionbool
public static bool BodyTestMotion(Rid body, PhysicsTestMotionParameters3D parameters, PhysicsTestMotionResult3D result = null);Возвращает true, если столкновение возникнет в результате движения по вектору движения из заданной точки в пространстве. PhysicsTestMotionParameters3D передается для установки параметров движения. PhysicsTestMotionResult3D может быть передан для возврата дополнительной информации.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
parameters | PhysicsTestMotionParameters3D | — |
result | PhysicsTestMotionResult3D | null |
boolBoxShapeCreateRid
public static Rid BoxShapeCreate();Создает 3D форму параллелепипеда на физическом сервере и возвращает Rid, который ее идентифицирует. Используйте PhysicsServer3D.ShapeSetData для установки половинных границ параллелепипеда.
RidCapsuleShapeCreateRid
public static Rid CapsuleShapeCreate();Создает 3D капсулообразную форму на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для установки высоты и радиуса капсулы.
RidConcavePolygonShapeCreateRid
public static Rid ConcavePolygonShapeCreate();Создает 3D вогнутую многоугольную фигуру на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для задания треугольников вогнутого многоугольника.
RidConeTwistJointGetParamfloat
public static float ConeTwistJointGetParam(Rid joint, PhysicsServer3D.ConeTwistJointParam param);Получает параметр конусного скручивающего соединения (сустав).
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
param | PhysicsServer3D.ConeTwistJointParam | — |
floatConeTwistJointSetParamvoid
public static void ConeTwistJointSetParam(Rid joint, PhysicsServer3D.ConeTwistJointParam param, float value);Устанавливает параметр конусного скручивания (сустав).
##выпущенный_полигон_шап_создание
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
param | PhysicsServer3D.ConeTwistJointParam | — |
value | float | — |
ConvexPolygonShapeCreateRid
public static Rid ConvexPolygonShapeCreate();Создает 3D выпуклую многоугольную фигуру на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для установки точек выпуклого многоугольника.
RidCustomShapeCreateRid
public static Rid CustomShapeCreate();Создаёт заказную форму на сервере физики и возвращает Rid идентифицирует его. PhysicsServer3D.ShapeSetData чтобы установить данные о форме.
Примечание: Обычные формы не поддерживаются встроенными серверами физики, поэтому назвав этот метод всегда вызывает ошибку при использовании физики Reckfell или физики Джолта. Серверы обычной физики, созданные как ReckfellExtensions, могут поддерживать заказную форму.
RidCylinderShapeCreateRid
public static Rid CylinderShapeCreate();Создает 3D цилиндрическую форму на физическом сервере и возвращает Rid, который ее идентифицирует. Используйте PhysicsServer3D.ShapeSetData для установки высоты и радиуса цилиндра.
RidFreeRidvoid
Generic6DofJointGetAngularTargetRotationQuaternion
public static Quaternion Generic6DofJointGetAngularTargetRotation(Rid joint);Возвращает целевую угловую ориентацию общего 6DOF сустава в качестве кватериона тела и пространства, описывающего желаемую ориентацию кузова В по отношению к телу А. Примечание: Другие 3D физики возвращают кватерион личности.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
QuaternionGeneric6DofJointGetFlagbool
public static bool Generic6DofJointGetFlag(Rid joint, Vector3.Axis axis, PhysicsServer3D.G6DofJointAxisFlag flag);Возвращает значение универсального флага соединения 6DOF.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
axis | Vector3.Axis | — |
flag | PhysicsServer3D.G6DofJointAxisFlag | — |
boolGeneric6DofJointGetParamfloat
public static float Generic6DofJointGetParam(Rid joint, Vector3.Axis axis, PhysicsServer3D.G6DofJointAxisParam param);Возвращает значение универсального параметра соединения 6DOF.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
axis | Vector3.Axis | — |
param | PhysicsServer3D.G6DofJointAxisParam | — |
floatGeneric6DofJointSetAngularTargetRotationvoid
public static void Generic6DofJointSetAngularTargetRotation(Rid joint, Quaternion targetRotation);Устанавливает целевую угловую ориентацию общего сустава 6DOF в качестве кватериона тела и пространства, описывающего желаемую ориентацию кузова В по отношению к кузову А. Примечание: Другие 3D физики могут игнорировать это значение.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
targetRotation | Quaternion | — |
Generic6DofJointSetFlagvoid
public static void Generic6DofJointSetFlag(Rid joint, Vector3.Axis axis, PhysicsServer3D.G6DofJointAxisFlag flag, bool enable);Устанавливает значение заданного универсального флага соединения 6DOF.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
axis | Vector3.Axis | — |
flag | PhysicsServer3D.G6DofJointAxisFlag | — |
enable | bool | — |
Generic6DofJointSetParamvoid
public static void Generic6DofJointSetParam(Rid joint, Vector3.Axis axis, PhysicsServer3D.G6DofJointAxisParam param, float value);Устанавливает значение заданного универсального параметра соединения 6DOF.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
axis | Vector3.Axis | — |
param | PhysicsServer3D.G6DofJointAxisParam | — |
value | float | — |
GetProcessInfoint
public static int GetProcessInfo(PhysicsServer3D.ProcessInfo processInfo);Возвращает значение состояния физического движка, заданное process_info.
| Имя | Тип | По умолчанию |
|---|---|---|
processInfo | PhysicsServer3D.ProcessInfo | — |
intHeightmapShapeCreateRid
public static Rid HeightmapShapeCreate();Создает 3D карту высот на физическом сервере и возвращает Rid, который ее идентифицирует. Используйте PhysicsServer3D.ShapeSetData для установки данных карты высот.
RidHingeJointGetFlagbool
public static bool HingeJointGetFlag(Rid joint, PhysicsServer3D.HingeJointFlag flag);Получает флаг шарнирного соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
flag | PhysicsServer3D.HingeJointFlag | — |
boolHingeJointGetParamfloat
public static float HingeJointGetParam(Rid joint, PhysicsServer3D.HingeJointParam param);Получает параметр шарнирного соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
param | PhysicsServer3D.HingeJointParam | — |
floatHingeJointSetFlagvoid
public static void HingeJointSetFlag(Rid joint, PhysicsServer3D.HingeJointFlag flag, bool enabled);Устанавливает флаг шарнирного соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
flag | PhysicsServer3D.HingeJointFlag | — |
enabled | bool | — |
HingeJointSetParamvoid
public static void HingeJointSetParam(Rid joint, PhysicsServer3D.HingeJointParam param, float value);Устанавливает параметр шарнирного соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
param | PhysicsServer3D.HingeJointParam | — |
value | float | — |
JointClearvoid
public static void JointClear(Rid joint);| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
JointCreateRid
public static Rid JointCreate();RidJointDisableCollisionsBetweenBodiesvoid
public static void JointDisableCollisionsBetweenBodies(Rid joint, bool disable);Устанавливает, будут ли тела, прикрепленные к Joint3D, сталкиваться друг с другом.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
disable | bool | — |
JointGetSolverPriorityint
public static int JointGetSolverPriority(Rid joint);Получает значение приоритета Joint3D.
Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот метод всегда возвращает 1 при использовании Физика джольта, поскольку он не поддерживает приоритет решателя соединений.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
intJointGetTypePhysicsServer3D.JointType
public static PhysicsServer3D.JointType JointGetType(Rid joint);Возвращает тип Joint3D.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
PhysicsServer3D.JointTypeJointIsDisabledCollisionsBetweenBodiesbool
public static bool JointIsDisabledCollisionsBetweenBodies(Rid joint);Возвращает, будут ли тела, прикрепленные к Joint3D, сталкиваться друг с другом.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
boolJointMakeConeTwistvoid
public static void JointMakeConeTwist(Rid joint, Rid bodyA, Transform3D localRefA, Rid bodyB, Transform3D localRefB);| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
bodyA | Rid | — |
localRefA | Transform3D | — |
bodyB | Rid | — |
localRefB | Transform3D | — |
JointMakeGeneric6Dofvoid
public static void JointMakeGeneric6Dof(Rid joint, Rid bodyA, Transform3D localRefA, Rid bodyB, Transform3D localRefB);Сделайте шарнир универсальным с шестью степенями свободы (6DOF). Используйте PhysicsServer3D.Generic6DofJointSetFlag и PhysicsServer3D.Generic6DofJointSetParam для установки флагов и параметров шарнира соответственно.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
bodyA | Rid | — |
localRefA | Transform3D | — |
bodyB | Rid | — |
localRefB | Transform3D | — |
JointMakeHingevoid
public static void JointMakeHinge(Rid joint, Rid bodyA, Transform3D hingeA, Rid bodyB, Transform3D hingeB);| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
bodyA | Rid | — |
hingeA | Transform3D | — |
bodyB | Rid | — |
hingeB | Transform3D | — |
JointMakePinvoid
public static void JointMakePin(Rid joint, Rid bodyA, Vector3 localA, Rid bodyB, Vector3 localB);| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
bodyA | Rid | — |
localA | Vector3 | — |
bodyB | Rid | — |
localB | Vector3 | — |
JointMakeSlidervoid
public static void JointMakeSlider(Rid joint, Rid bodyA, Transform3D localRefA, Rid bodyB, Transform3D localRefB);| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
bodyA | Rid | — |
localRefA | Transform3D | — |
bodyB | Rid | — |
localRefB | Transform3D | — |
JointSetSolverPriorityvoid
public static void JointSetSolverPriority(Rid joint, int priority);Устанавливает значение приоритета Joint3D. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот метод не работает при использовании Физика джольта, поскольку он не поддерживает приоритет решателя соединений.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
priority | int | — |
PinJointGetLocalAVector3
public static Vector3 PinJointGetLocalA(Rid joint);Возвращает положение сустава в локальном пространстве тела a сустава.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
Vector3PinJointGetLocalBVector3
public static Vector3 PinJointGetLocalB(Rid joint);Возвращает положение сочленения в локальном пространстве тела b сочленения.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
Vector3PinJointGetParamfloat
public static float PinJointGetParam(Rid joint, PhysicsServer3D.PinJointParam param);Получает параметр штифтового соединения (сустав).
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
param | PhysicsServer3D.PinJointParam | — |
floatPinJointSetLocalAvoid
public static void PinJointSetLocalA(Rid joint, Vector3 localA);Устанавливает положение сустава в локальном пространстве тела a сустава.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
localA | Vector3 | — |
PinJointSetLocalBvoid
public static void PinJointSetLocalB(Rid joint, Vector3 localB);Устанавливает положение сустава в локальном пространстве тела b сустава.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
localB | Vector3 | — |
PinJointSetParamvoid
public static void PinJointSetParam(Rid joint, PhysicsServer3D.PinJointParam param, float value);Устанавливает параметр штифтового соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
param | PhysicsServer3D.PinJointParam | — |
value | float | — |
SeparationRayShapeCreateRid
public static Rid SeparationRayShapeCreate();Создает 3D форму разделительного луча на физическом сервере и возвращает Rid, который ее идентифицирует. Используйте PhysicsServer3D.ShapeSetData для установки свойств length и slide_on_slope формы.
RidSetActivevoid
public static void SetActive(bool active);Активирует или деактивирует 3D физический движок.
| Имя | Тип | По умолчанию |
|---|---|---|
active | bool | — |
ShapeGetDataVariant
public static Variant ShapeGetData(Rid shape);Возвращает данные о форме, которые определяют её конфигурацию, например, полуграницы прямоугольника или треугольники вогнутой (тримешной) фигуры. Точный формат этих данных в каждом случае см. в PhysicsServer3D.ShapeSetData.
| Имя | Тип | По умолчанию |
|---|---|---|
shape | Rid | — |
VariantShapeGetMarginfloat
public static float ShapeGetMargin(Rid shape);Возвращает границу столкновения для формы.
Примечание: Это не используется в Физика " Reckfell ", поэтому всегда будет возвращать 0.
| Имя | Тип | По умолчанию |
|---|---|---|
shape | Rid | — |
floatShapeGetTypePhysicsServer3D.ShapeType
public static PhysicsServer3D.ShapeType ShapeGetType(Rid shape);Возвращает тип фигуры.
| Имя | Тип | По умолчанию |
|---|---|---|
shape | Rid | — |
PhysicsServer3D.ShapeTypeShapeSetDatavoid
public static void ShapeSetData(Rid shape, Variant data);Устанавливает данные о форме, которые настраивают форму. data который будет передан, зависит от типа формы (см. PhysicsServer3D.ShapeGetType):
PhysicsServer3D.ShapeType.WorldBoundary: aPlane,PhysicsServer3D.ShapeType.SeparationRay: словарь, содержащий ключ"length"с а [float] стоимость и ключ"slide_on_slope"с а [bool] значение,PhysicsServer3D.ShapeType.Sphere: a [float] это радиус сферы,PhysicsServer3D.ShapeType.Box: aVector3с половинками коробки,PhysicsServer3D.ShapeType.Capsule: словарь, содержащий ключи"height"и"radius"при этом [float] значения,PhysicsServer3D.ShapeType.Cylinder: словарь, содержащий ключи"height"и"radius"при этом [float] значения,PhysicsServer3D.ShapeType.ConvexPolygon: aVector3[]из точек, определяющих выпуклый многоугольник (формой будет выпуклый корпус точек),PhysicsServer3D.ShapeType.ConcavePolygon: словарь, содержащий ключ"faces"с аVector3[]значение (с длиной, делимой на 3, таким образом, чтобы каждый 3-тюльок точек образовывал лицо) и ключ"backface_collision"с а [bool] значение,PhysicsServer3D.ShapeType.Heightmap: словарь, содержащий ключи"width"и"depth"при этомfloat[], илиdouble[]если Reckfell был скомпилированprecision=doubleопцион), и факультативно ключи"min_height"и"max_height"при этом [float] значения,PhysicsServer3D.ShapeType.SoftBody:: ввод данныхdataигнорируется, и этот метод не имеет никакого эффекта,PhysicsServer3D.ShapeType.Custom:: ввод данныхdataинтерпретируется сервером запатентованной физики, если он поддерживает форму заказной формы.
| Имя | Тип | По умолчанию |
|---|---|---|
shape | Rid | — |
data | Variant | — |
ShapeSetMarginvoid
public static void ShapeSetMargin(Rid shape, float margin);Устанавливает границу столкновения для формы. Примечание: Это не используется в Физика " Reckfell ".
| Имя | Тип | По умолчанию |
|---|---|---|
shape | Rid | — |
margin | float | — |
SliderJointGetParamfloat
public static float SliderJointGetParam(Rid joint, PhysicsServer3D.SliderJointParam param);Получает параметр скользящего соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
param | PhysicsServer3D.SliderJointParam | — |
floatSliderJointSetParamvoid
public static void SliderJointSetParam(Rid joint, PhysicsServer3D.SliderJointParam param, float value);Получает параметр скользящего соединения.
| Имя | Тип | По умолчанию |
|---|---|---|
joint | Rid | — |
param | PhysicsServer3D.SliderJointParam | — |
value | float | — |
SoftBodyAddCollisionExceptionvoid
public static void SoftBodyAddCollisionException(Rid body, Rid bodyB);Добавляет указанное тело в список тел, освобожденных от столкновений.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
bodyB | Rid | — |
SoftBodyApplyCentralForcevoid
public static void SoftBodyApplyCentralForce(Rid body, Vector3 force);Распределяет и применяет силу ко всем точкам. Сила зависит от времени и должна применяться при каждом обновлении физики.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
force | Vector3 | — |
SoftBodyApplyCentralImpulsevoid
public static void SoftBodyApplyCentralImpulse(Rid body, Vector3 impulse);Распределяет и применяет импульс ко всем точкам. Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force").
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
impulse | Vector3 | — |
SoftBodyApplyPointForcevoid
public static void SoftBodyApplyPointForce(Rid body, int pointIndex, Vector3 force);Прикладывает силу к точке. Сила зависит от времени и должна применяться при каждом обновлении физики.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
pointIndex | int | — |
force | Vector3 | — |
SoftBodyApplyPointImpulsevoid
public static void SoftBodyApplyPointImpulse(Rid body, int pointIndex, Vector3 impulse);Применяет импульс к точке. Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force").
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
pointIndex | int | — |
impulse | Vector3 | — |
SoftBodyCreateRid
public static Rid SoftBodyCreate();Создает новое мягкое тело и возвращает его внутренний Rid.
RidSoftBodyGetBoundsAabb
public static Aabb SoftBodyGetBounds(Rid body);Возвращает границы заданного мягкого тела в глобальных координатах.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
AabbSoftBodyGetCollisionLayeruint
public static uint SoftBodyGetCollisionLayer(Rid body);Возвращает физический слой или слои, к которым принадлежит заданное мягкое тело.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
uintSoftBodyGetCollisionMaskuint
public static uint SoftBodyGetCollisionMask(Rid body);Возвращает физический слой или слои, с которыми может сталкиваться заданное мягкое тело.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
uintSoftBodyGetDampingCoefficientfloat
public static float SoftBodyGetDampingCoefficient(Rid body);Возвращает коэффициент затухания заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
floatSoftBodyGetDragCoefficientfloat
public static float SoftBodyGetDragCoefficient(Rid body);Возвращает коэффициент сопротивления заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
floatSoftBodyGetLinearStiffnessfloat
public static float SoftBodyGetLinearStiffness(Rid body);Возвращает линейную жесткость заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
floatSoftBodyGetPointGlobalPositionVector3
public static Vector3 SoftBodyGetPointGlobalPosition(Rid body, int pointIndex);Возвращает текущее положение заданной точки мягкого тела в глобальных координатах.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
pointIndex | int | — |
Vector3SoftBodyGetPressureCoefficientfloat
public static float SoftBodyGetPressureCoefficient(Rid body);Возвращает коэффициент давления заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
floatSoftBodyGetShrinkingFactorfloat
public static float SoftBodyGetShrinkingFactor(Rid body);Возвращает коэффициент сжатия заданного мягкого тела (мягкого тела).
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
floatSoftBodyGetSimulationPrecisionint
public static int SoftBodyGetSimulationPrecision(Rid body);Возвращает точность моделирования заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
intSoftBodyGetSpaceRid
public static Rid SoftBodyGetSpace(Rid body);Возвращает Rid пространства, назначенного данному мягкому телу.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
RidSoftBodyGetStateVariant
public static Variant SoftBodyGetState(Rid body, PhysicsServer3D.BodyState state);Возвращает заданное состояние мягкого тела.
Примечание: Реализация физики Reckfell по умолчанию не поддерживает PhysicsServer3D.BodyState.LinearVelocity, PhysicsServer3D.BodyState.AngularVelocity, PhysicsServer3D.BodyState.Sleeping или PhysicsServer3D.BodyState.CanSleep.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
state | PhysicsServer3D.BodyState | — |
VariantSoftBodyGetTotalMassfloat
public static float SoftBodyGetTotalMass(Rid body);Возвращает общую массу, присвоенную данному мягкому телу.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
floatSoftBodyIsPointPinnedbool
public static bool SoftBodyIsPointPinned(Rid body, int pointIndex);Возвращает, закреплённую ли заданную точку мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
pointIndex | int | — |
boolSoftBodyMovePointvoid
public static void SoftBodyMovePoint(Rid body, int pointIndex, Vector3 globalPosition);Перемещает заданную точку мягкого тела в положение в глобальных координатах.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
pointIndex | int | — |
globalPosition | Vector3 | — |
SoftBodyPinPointvoid
public static void SoftBodyPinPoint(Rid body, int pointIndex, bool pin);Прикрепляет или открепляет заданную точку мягкого тела на основе значения pin.
Примечание: Прикрепление точки фактически делает ее кинематической, предотвращая воздействие на нее сил, но вы все равно можете перемещать ее с помощью PhysicsServer3D.SoftBodyMovePoint.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
pointIndex | int | — |
pin | bool | — |
SoftBodyRemoveAllPinnedPointsvoid
public static void SoftBodyRemoveAllPinnedPoints(Rid body);Открепляет все точки заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
SoftBodyRemoveCollisionExceptionvoid
public static void SoftBodyRemoveCollisionException(Rid body, Rid bodyB);Удаляет указанное тело из списка тел, освобожденных от столкновений.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
bodyB | Rid | — |
SoftBodySetCollisionLayervoid
public static void SoftBodySetCollisionLayer(Rid body, uint layer);Устанавливает физический слой или слои, к которым принадлежит заданное мягкое тело.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
layer | uint | — |
SoftBodySetCollisionMaskvoid
public static void SoftBodySetCollisionMask(Rid body, uint mask);Устанавливает физический слой или слои, с которыми может сталкиваться заданное мягкое тело.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
mask | uint | — |
SoftBodySetDampingCoefficientvoid
public static void SoftBodySetDampingCoefficient(Rid body, float dampingCoefficient);Устанавливает коэффициент затухания данного мягкого тела. Более высокие значения будут замедлять тело более заметно при приложении сил.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
dampingCoefficient | float | — |
SoftBodySetDragCoefficientvoid
public static void SoftBodySetDragCoefficient(Rid body, float dragCoefficient);Устанавливает коэффициент сопротивления данного мягкого тела. Более высокие значения увеличивают сопротивление воздуха этого тела. Примечание: Это значение в настоящее время не используется в стандартной реализации физики Reckfell.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
dragCoefficient | float | — |
SoftBodySetLinearStiffnessvoid
public static void SoftBodySetLinearStiffness(Rid body, float stiffness);Устанавливает линейную жесткость заданного мягкого тела. Более высокие значения приведут к более жесткому телу, а более низкие значения увеличат способность тела изгибаться. Значение может быть между 0.0 и 1.0 (включительно).
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
stiffness | float | — |
SoftBodySetMeshvoid
public static void SoftBodySetMesh(Rid body, Rid mesh);Устанавливает сетку заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
mesh | Rid | — |
SoftBodySetPressureCoefficientvoid
public static void SoftBodySetPressureCoefficient(Rid body, float pressureCoefficient);Устанавливает коэффициент давления данного мягкого тела. Имитирует нарастание давления изнутри этого тела. Более высокие значения увеличивают силу этого эффекта.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
pressureCoefficient | float | — |
SoftBodySetRayPickablevoid
public static void SoftBodySetRayPickable(Rid body, bool enable);Устанавливает, будет ли заданное мягкое тело доступно для выбора при использовании выбора объекта.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
enable | bool | — |
SoftBodySetShrinkingFactorvoid
public static void SoftBodySetShrinkingFactor(Rid body, float shrinkingFactor);Устанавливает коэффициент сжатия заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
shrinkingFactor | float | — |
SoftBodySetSimulationPrecisionvoid
public static void SoftBodySetSimulationPrecision(Rid body, int simulationPrecision);Устанавливает точность моделирования данного мягкого тела. Увеличение этого значения улучшит результирующее моделирование, но может повлиять на производительность. Используйте с осторожностью.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
simulationPrecision | int | — |
SoftBodySetSpacevoid
public static void SoftBodySetSpace(Rid body, Rid space);Назначает пространство данному мягкому телу (см. PhysicsServer3D.SpaceCreate).
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
space | Rid | — |
SoftBodySetStatevoid
public static void SoftBodySetState(Rid body, PhysicsServer3D.BodyState state, Variant variant);Устанавливает заданное состояние тела для заданного тела.
Примечание: Реализация физики Reckfell по умолчанию не поддерживает PhysicsServer3D.BodyState.LinearVelocity, PhysicsServer3D.BodyState.AngularVelocity, PhysicsServer3D.BodyState.Sleeping или PhysicsServer3D.BodyState.CanSleep.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
state | PhysicsServer3D.BodyState | — |
variant | Variant | — |
SoftBodySetTotalMassvoid
public static void SoftBodySetTotalMass(Rid body, float totalMass);Устанавливает общую массу для данного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
totalMass | float | — |
SoftBodySetTransformvoid
public static void SoftBodySetTransform(Rid body, Transform3D transform);Устанавливает глобальное преобразование заданного мягкого тела.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
transform | Transform3D | — |
SoftBodyUpdateRenderingServervoid
public static void SoftBodyUpdateRenderingServer(Rid body, PhysicsServer3DRenderingServerHandler renderingServerHandler);Запрашивает, чтобы физический сервер обновлял сервер рендеринга последними позициями точек заданного мягкого тела через интерфейс rendering_server_handler.
| Имя | Тип | По умолчанию |
|---|---|---|
body | Rid | — |
renderingServerHandler | PhysicsServer3DRenderingServerHandler | — |
SpaceCreateRid
public static Rid SpaceCreate();Создает пространство. Пространство — это набор параметров для физического движка, которые можно назначить области или телу. Его можно назначить области с помощью PhysicsServer3D.AreaSetSpace или телу с помощью PhysicsServer3D.BodySetSpace.
RidSpaceGetDirectStatePhysicsDirectSpaceState3D
public static PhysicsDirectSpaceState3D SpaceGetDirectState(Rid space);Возвращает состояние пространства, PhysicsDirectSpaceState3D. Этот объект можно использовать для создания запросов на столкновение/пересечение.
| Имя | Тип | По умолчанию |
|---|---|---|
space | Rid | — |
PhysicsDirectSpaceState3DSpaceGetParamfloat
public static float SpaceGetParam(Rid space, PhysicsServer3D.SpaceParameter param);Возвращает значение параметра пространства.
| Имя | Тип | По умолчанию |
|---|---|---|
space | Rid | — |
param | PhysicsServer3D.SpaceParameter | — |
floatSpaceIsActivebool
public static bool SpaceIsActive(Rid space);Возвращает, активно ли пространство.
| Имя | Тип | По умолчанию |
|---|---|---|
space | Rid | — |
boolSpaceSetActivevoid
public static void SpaceSetActive(Rid space, bool active);Отмечает пространство как активное. Не будет иметь эффекта, если не назначено области или телу.
| Имя | Тип | По умолчанию |
|---|---|---|
space | Rid | — |
active | bool | — |
SpaceSetParamvoid
public static void SpaceSetParam(Rid space, PhysicsServer3D.SpaceParameter param, float value);Устанавливает значение для параметра пространства. Список доступных параметров находится в константах PhysicsServer3D.SpaceParameter.
| Имя | Тип | По умолчанию |
|---|---|---|
space | Rid | — |
param | PhysicsServer3D.SpaceParameter | — |
value | float | — |
SphereShapeCreateRid
public static Rid SphereShapeCreate();Создает 3D сферическую форму на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для установки радиуса сферы.
RidWorldBoundaryShapeCreateRid
public static Rid WorldBoundaryShapeCreate();Создает 3D форму границы мира на физическом сервере и возвращает Rid, идентифицирующий ее. Используйте PhysicsServer3D.ShapeSetData для установки свойств направления нормали и расстояния формы.
RidPhysicsServer3D.AreaBodyStatus
| Значение | Описание |
|---|---|
Added = 0 | Значение первого параметра и функция обратного вызова области получает, когда объект входит в одну из ее фигур. |
Removed = 1 | Значение первого параметра и функция обратного вызова области получает, когда объект выходит из одной из своих фигур. |
PhysicsServer3D.AreaParameter
| Значение | Описание |
|---|---|
AngularDamp = 8 | Константа для установки/получения углового коэффициента затухания области. |
AngularDampOverrideMode = 7 | Константа для установки/получения режима переопределения углового демпфирования в области. См. |
Gravity = 1 | Константа для установки/получения силы гравитации в определенной области. |
GravityIsPoint = 3 | Константа для установки/получения информации о том, является ли вектор силы тяжести области направлением или центральной точкой. |
GravityOverrideMode = 0 | Константа для установки/получения режима переопределения гравитации в области. См. |
GravityPointUnitDistance = 4 | Постоянно устанавливать/получать расстояние, на котором сила тяжести равна гравитации, контролируемой |
GravityVector = 2 | Константа для установки/получения вектора/центра гравитации в области. |
LinearDamp = 6 | Константа для установки/получения линейного коэффициента затухания области. |
LinearDampOverrideMode = 5 | Константа для установки/получения режима переопределения линейного затухания в области. См. |
Priority = 9 | Константа для установки/получения приоритета (порядка обработки) области. |
WindAttenuationFactor = 13 | Константа для установки/получения экспоненциальной скорости, с которой сила ветра уменьшается с расстоянием от источника. |
WindDirection = 12 | Константа для установки/получения трехмерного вектора, определяющего направление, в котором дует ветер в определенной местности. |
WindForceMagnitude = 10 | Константа для установки/получения величины силы ветра, специфичной для области. Эта сила ветра применяется только к узлам |
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 | Константа для установки/получения режима углового демпфирования тела. См. |
Bounce = 0 | Константа для установки/получения коэффициента упругости тела. |
CenterOfMass = 4 | Константа для установки/получения положения центра масс тела в локальной системе координат тела. |
Friction = 1 | Постоянная величина, устанавливающая/получающая трение тела. |
GravityScale = 5 | Константа для установки/получения множителя силы тяжести тела. |
Inertia = 3 | Константа для задания/получения инерции тела. |
LinearDamp = 8 | Константа для установки/получения линейного коэффициента затухания тела. |
LinearDampMode = 6 | Константа для установки/получения линейного режима демпфирования тела. См. |
Mass = 2 | Константа для установки/получения массы тела. |
Max = 10 | Представляет размер перечисления |
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 | Поворот — это вращение из стороны в сторону вокруг оси, перпендикулярной оси скручивания.
Размах поворота определяет, какая часть вращения не будет скорректирована вдоль оси поворота.
Может быть определен как люфт в |
TwistSpan = 1 | Скручивание — это вращение вокруг оси скручивания; это значение определяет, насколько сильно может скручиваться сустав. Скручивание блокируется, если оно меньше 0,05. |
PhysicsServer3D.G6DofJointAxisFlag
| Значение | Описание |
|---|---|
EnableAngularLimit = 1 | Если установлено, возможно вращательное движение. |
EnableAngularMotor = 4 | В случае установки по этим осям имеется вращательный или угловой двигатель. |
EnableAngularSpring = 2 | |
EnableLinearLimit = 0 | Если установлено, то линейное движение возможно в заданных пределах. |
EnableLinearMotor = 5 | Если установлено, на этой оси имеется линейный двигатель, который нацеливается на определенную скорость. |
EnableLinearSpring = 3 | |
EnableMotor = 4 | В случае установки по этим осям имеется вращательный или угловой двигатель. |
Max = 6 | Представляет размер перечисления |
PhysicsServer3D.G6DofJointAxisParam
| Значение | Описание |
|---|---|
AngularDamping = 13 | Величина вращательного демпфирования относительно осей. Чем ниже значение, тем сильнее демпфирование. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта. |
AngularDriveTorqueLimit = 23 | Максимальный крутящий момент, который может быть установлен на суставе вокруг этой угловой оси.
Используется как пружинным приводом, так и угловым двигателем; заменяется |
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 | Максимальная сила, прилагаемая к суставу вдоль этой линейной оси.
Используется как пружинный привод, так и линейный двигатель; заменяется |
LinearLimitSoftness = 2 | Коэффициент, применяемый к движению по осям. Чем ниже значение, тем медленнее движение. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта. |
LinearLowerLimit = 0 | Минимальная разница между осями точек поворота. |
LinearMotorForceLimit = 6 | Максимальная сила, которую может приложить линейный двигатель, пытаясь достичь целевой скорости. |
LinearMotorTargetVelocity = 5 | Скорость, которую будет пытаться достичь линейный двигатель сочленения. |
LinearRestitution = 3 | Величина восстановления при движении по осям. Чем ниже значение, тем больше энергии скорости теряется. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта. |
LinearSpringDamping = 8 | |
LinearSpringEquilibriumPoint = 9 | |
LinearSpringStiffness = 7 | |
LinearUpperLimit = 1 | Максимальная разница между осями точек поворота. |
Max = 24 | Представляет размер перечисления |
PhysicsServer3D.HingeJointFlag
| Значение | Описание |
|---|---|
EnableMotor = 1 | Если |
UseLimit = 0 | Если |
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 |
|
Hinge = 1 |
|
Max = 5 | Представляет размер перечисления |
Pin = 0 |
СОВМЕСТНЫЙ ТИПЕ |
Slider = 2 |
|
Type6Dof = 4 |
|
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 | Константа для создания прямоугольной формы (используется ресурсом |
Capsule = 4 | Константа для создания формы капсулы (используется ресурсом |
ConcavePolygon = 7 | Константа для создания вогнутой многоугольной (тримеш) формы (используется ресурсом |
ConvexPolygon = 6 | Константа для создания выпуклой многоугольной фигуры (используется ресурсом |
Custom = 10 | Константа, используемая внутри для создания пользовательской формы. Любая попытка создать подобную форму приводит к ошибке при использовании Физика " Reckfell " или Физика джольта. |
Cylinder = 5 | Константа для создания цилиндрической формы (используется ресурсом |
Heightmap = 8 | Константа для создания формы карты высот (используется ресурсом |
SeparationRay = 1 | Константа для создания формы разделительного луча (используется ресурсом |
SoftBody = 9 | Константа, используемая внутри для создания мягкой формы тела. Любая попытка создать подобную форму приводит к ошибке. |
Sphere = 2 | Константа для создания сферической формы (используется ресурсом |
WorldBoundary = 0 | Константа для создания формы границы мира (используется ресурсом |
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.SpaceParameter
| Значение | Описание |
|---|---|
BodyAngularVelocitySleepThreshold = 5 | Константа для установки/получения пороговой угловой скорости активности. Тело, помеченное как потенциально неактивное как по линейной, так и по угловой скорости, будет переведено в спящий режим по истечении заданного времени. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта. |
BodyLinearVelocitySleepThreshold = 4 | Константа для установки/получения пороговой линейной скорости активности. Тело, помеченное как потенциально неактивное как по линейной, так и по угловой скорости, будет переведено в спящий режим по истечении заданного времени. Примечание: Поддерживается только при использовании ReckfellPhysics3D. Этот параметр игнорируется при использовании Физика джольта. |
BodyTimeToSleep = 6 | Константа для установки/получения максимального времени активности. Тело, отмеченное как потенциально неактивное как для линейной, так и для угловой скорости, будет переведено в спящий режим по истечении этого времени. |
ContactDefaultBias = 3 | Константа для установки/получения смещения решателя по умолчанию для всех физических контактов. Смещение решателя — это фактор, контролирующий, насколько два объекта «отскакивают» после наложения, чтобы избежать их оставления в этом состоянии из-за числовой неточности. |
ContactMaxAllowedPenetration = 2 | Константа для установки/получения максимального расстояния, на которое одна фигура может проникнуть в другую, прежде чем это будет считаться столкновением. |
ContactMaxSeparation = 1 | Константа для установки/получения максимального расстояния между фигурами, на котором они могут находиться, прежде чем они будут считаться разделенными и контакт будет отменен. |
ContactRecycleRadius = 0 | Константа для установки/получения максимального расстояния, которое должна пройти пара тел, прежде чем их статус столкновения придется пересчитывать. |
SolverIterations = 7 | Константа для установки/получения количества итераций решателя для контактов и ограничений. Чем больше количество итераций, тем точнее будут столкновения и ограничения. Однако большее количество итераций требует большей мощности ЦП, что может снизить производительность. |