This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Сэмплы материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Сочленения (Joints)

Joints provide constraints removing degrees of freedom from a body and are used to connect pairs of bodies. Each joint has an anchor point, which is by default placed between the centers of mass of connected bodies. The properties of each connection depend on the selected joint type and its parameters. Joint parameters can be divided into two groups:Сочленения (Joints) обеспечивают ограничения, ограничивающие степени свободы тела, и используются для соединения пар тел. У каждого сочленения есть точка привязки, которая по умолчанию размещается между центрами масс соединенных тел. Свойства каждого сочленения зависят от выбранного типа и его параметров. Параметры сочленений можно разделить на две группы:

  • Common parameters — basic set of parameters shared by all joints.Общие параметры — базовый набор параметров, общий для всех сочленений.
  • Type-specific parameters — a set of specific parameters for each joint type.Параметры для конкретного типа — набор конкретных параметров для каждого типа сочленения.

See alsoДополнительная информация#

Programming implementation:Программная реализация:

Usage examples:Примеры использования:

Fragment of video tutorial on physics about jointsФрагмент видеоурока по физике про сочленения

Adding a JointДобавление сочленения#

Assume you have two objects with physical bodies assigned. Remember that a body must have a shape assigned. To connect them using a joint via UnigineEditor, perform the following steps:Предположим, у вас есть два объекта с назначенными физическими телами. Помните, что телу (body) должна быть назначена форма (shape). Чтобы соединить их с помощью сочленения в UnigineEditor, выполните следующие шаги:

  • Open the World Hierarchy window.Откройте окно World Hierarchy.
  • Select the first body to connect.Выберите первое тело для соединения.
  • Go to the Physics tab in the Parameters window.Перейдите на вкладку Physics в окне Parameters.
  • In the Joints section, choose an appropriate type of joint and click Add.

    Adding a joint

    В разделе Joints выберите подходящий тип сочленения и щелкните Add.

    Добавление сочленения

  • Select the second body by picking its name in the dialog window and click Ok.
    Selecting a body
    Выберите второе тело, указав его имя в диалоговом окне, и нажмите Ok.
    Выбор тела
  • Set joint parameters in the Joints section.Задайте параметры сочленения в разделе Joints.

You can enable visualization of the joint by checking Helpers panel → Physics item → Joints option (Visualizer should be enabled).Вы можете включить визуализацию сочленения, выбрав панель Helpers → элемент Physics → параметр Joints (Visualizer должен быть включен).

Fixed JointФиксированное сочленение (Fixed Joint)#

Fixed joints connect two bodies in a manner that strictly preserves their positions with respect to each other.Фиксированные сочленения соединяют два тела таким образом, чтобы их положение строго сохранялось по отношению друг к другу.

Фиксированное сочленение
Фиксированное сочленение
Fixed Joint ParametersПараметры фиксированного сочленения

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Rotation 0 Specifies orientation of the first body relative to the anchor point.Задает ориентацию первого тела относительно точки привязки.
Rotation 1 Specifies orientation of the second body relative to the anchor pointЗадает ориентацию второго тела относительно точки привязки

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointFixed Class description. An example illustrating connection of two bodies using a fixed joint can be found here.Для получения дополнительной информации см. описание класса JointFixed. Пример, иллюстрирующий соединение двух тел с помощью фиксированного сочленения, можно найти здесь.

Watch the illustration of the Fixed joint in our video tutorial on physics.Посмотрите иллюстрацию фиксированного сочленения в нашем видеоуроке по физике.

Hinge JointШарнирное сочленение (Hinge Joint)#

Hinge joints allow the connected bodies to rotate along the joint's axis at the anchor point. This joint has an angular motor attached.Шарнирные сочленения позволяют соединенным телам вращаться вдоль оси шарнира в точке привязки. К этому шарниру прикреплен угловой привод.

Шарнирное сочленение Шарнирное сочленение
Шарнирное сочленение
Hinge Joint ParametersПараметры шарнирного сочленения

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Joint axis Coordinates of the joint axis, around which the bodies rotate.Координаты оси сочленения, вокруг которой вращаются тела.
Angular damping Angular damping coefficient of the hinge joint.Угловой коэффициент демпфирования шарнирного сочленения.
Angular limit from Minimum angle in the range of movement at which the hinge stops. The angle is specified in degrees in the [-180; 180] range.Минимальный угол в диапазоне движения, при котором шарнир останавливается. Угол указывается в градусах в диапазоне [-180; 180].
Angular limit to Maximum angle in the range of movement at which the hinge stops. The angle is specified in degrees in the [-180; 180] range.Максимальный угол в диапазоне движения, при котором шарнир останавливается. Угол указывается в градусах в диапазоне [-180; 180].
Angular spring Spring rigidity coefficient, determines how strong the joint resists rotation. If rigidity is set to 0, the spring is disabled.Коэффициент жесткости пружины, определяет, насколько сильно сочленение сопротивляется вращению. Если жесткость установлена ​​на 0, пружина отключена.
Angular angle Target angle of the attached angular spring. The spring (if it is enabled) tries to keep the specified angle between the connected bodies.Целевой угол прикрепленной угловой пружины. Пружина (если она включена) пытается сохранить заданный угол между соединенными телами.
Параметры привода
Angular Torque Maximum torque of the angular motor. 0 detaches the motor.Максимальный крутящий момент углового привода. 0 отключает привод.
Angular Velocity Target velocity of the attached angular motor.Целевая скорость присоединенного углового привода.

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointHinge Class description. An example illustrating connection of two bodies using a hinge joint can be found here.Для получения дополнительной информации см. описание класса JointHinge. Пример, иллюстрирующий соединение двух тел с помощью шарнирного сочленения, можно найти здесь.

Watch the illustration of the Hinge joint settings in our video tutorial on physics.Посмотрите иллюстрацию настроек шарнирного сочленения в нашем видеоуроке по физике.

Ball JointШаровое соединение (Ball Joint)#

Ball joints provide a point around which the connected objects can rotate.Шаровые сочленения представляют собой точку, вокруг которой могут вращаться соединенные объекты.

Шаровое сочленение Шаровое сочленение
Шаровое сочленение
Ball Joint ParametersПараметры шарового сочленения

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Joint axis Coordinates of the joint axis.Координаты оси сочленения.
Angular limit angle Swing angle limit, specifies how much connected bodies can bend from the joint axis.Предел угла поворота, который определяет, насколько соединенные тела могут изгибаться от оси соединения.
Angular limit from Minimum angle in the range of twisting around the joint axis. The angle is specified in degrees in the [-180; 180] range.Минимальный угол в диапазоне скручивания вокруг оси сочленения. Угол указывается в градусах в диапазоне [-180; 180].
Angular limit to Maximum angle in the range of twisting around the joint axis. The angle is specified in degrees in the [-180; 180] range.Максимальный угол в диапазоне скручивания вокруг оси сочленения. Угол указывается в градусах в диапазоне [-180; 180].

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointBall Class description. An example illustrating connection of two bodies using a ball joint can be found here.Дополнительные сведения см. в описании класса JointBall. Пример, иллюстрирующий соединение двух тел с помощью шарового сочленения, можно найти здесь.

Watch the illustration of the Ball joint settings in our video tutorial on physics.Посмотрите иллюстрацию настроек шарового сочленения в нашем видеоуроке по физике.

Prismatic JointПризматическое сочленение (Prismatic Joint)#

Prismatic joints allow movement along the joint axis. This joint has a linear motor attached.Призматические сочленения допускают движение вдоль оси шарнира. К этому сочленению прикреплен линейный привод.

Призматическое сочленение Призматическое сочленение
Призматическое сочленение
Prismatic Joint ParametersПараметры призматического сочленения

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Joint axis Coordinates of the joint axis.Координаты оси сочленения.
Linear damping Linear damping coefficient of the prismatic joint.Линейный коэффициент демпфирования призматического сочленения.
Linear limit from Minimum distance between the bodies along the joint axis.Минимальное расстояние между телами по оси сочленения.
Linear limit to Maximum distance between the bodies along the joint axis.Максимальное расстояние между телами по оси сочленения.
Linear spring Spring rigidity coefficient, determines how strong the joint resists linear motion. If rigidity is set to 0, the spring is disabled.Коэффициент жесткости пружины, определяет, насколько прочно сочленение сопротивляется линейному движению. Если жесткость установлена ​​на 0, пружина отключена.
Linear distance Target linear distance of the attached spring. The spring (if it is enabled) tries to keep the specified distance between the connected bodies.Целевое линейное расстояние прикрепленной пружины. Пружина (если она включена) пытается сохранить заданное расстояние между соединенными телами.
Параметры привода
Linear Force Maximum force of the attached linear motor. 0 detaches the motor.Максимальное усилие присоединенного линейного привода. 0 отключает привод.
Linear Velocity Target velocity of the attached linear motor.Целевая скорость присоединенного линейного привода.

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointPrismatic Class description. An example illustrating connection of two bodies using a prismatic joint can be found here.Для получения дополнительной информации см. описание класса JointPrismatic. Пример, иллюстрирующий соединение двух тел с помощью призматического сочленения, можно найти здесь.

Watch the illustration of the Prismatic joint in our video tutorial on physics.Посмотрите иллюстрацию призматического сочленения в нашем видеоуроке по физике.

Cylindrical JointЦилиндрическое сочленение (Cylindrical Joint)#

Cylindrical joints are like prismatic ones with an additional degree of freedom: rotation around the joint axis. This joint has a linear and an angular motors attached.Цилиндрические сочленения похожи на призматические с дополнительной степенью свободы: вращением вокруг оси сочленения. К этому сочленению прикреплены линейный и угловой приводы.

Цилиндрическое сочленение Цилиндрическое сочленение
Цилиндрическое сочленение
Cylindrical Joint ParametersПараметры цилиндрического сочленения

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Joint axis Coordinates of the joint axis.Координаты оси сочленения.
Linear damping Linear damping coefficient of the cylindrical joint.Линейный коэффициент демпфирования цилиндрического сочленения.
Linear limit from The minimum distance between the bodies along the joint axis.Минимальное расстояние между телами по оси сочленения.
Linear limit to The maximum distance between the bodies along the joint axis.Максимальное расстояние между телами по оси сочленения.
Linear spring Spring rigidity coefficient, determines how strong the joint resists linear motion. If rigidity is set to 0, the spring is disabled.Коэффициент жесткости пружины, определяет, насколько прочно сочленение сопротивляется линейному движению. Если жесткость установлена ​​на 0, пружина отключена.
Linear distance A target linear distance of the attached spring. The spring (if it is enabled) tries to keep the specified distance between the connected bodies.Целевое линейное расстояние прикрепленной пружины. Пружина (если она включена) пытается сохранить заданное расстояние между соединенными телами.
Angular damping Angular damping coefficient of the cylindrical joint.Угловой коэффициент демпфирования цилиндрического сочленения.
Angular limit from The minimum angle in the range of twisting around the joint axis. The angle is specified in degrees in the [-180; 180] range.Минимальный угол в диапазоне вращения вокруг оси сочленения. Угол указывается в градусах в диапазоне [-180; 180].
Angular limit to The maximum angle in the range of twisting around the joint axis. The angle is specified in degrees in the [-180; 180] range.Максимальный угол в диапазоне вращения вокруг оси сочленения. Угол указывается в градусах в диапазоне [-180; 180].
Angular spring Spring rigidity coefficient, determines how strong the joint resists rotation. If rigidity is set to 0, the spring is disabled.Коэффициент жесткости пружины, определяет, насколько сильно сочленение сопротивляется вращению. Если жесткость установлена ​​на 0, пружина отключена.
Angular angle A target angle of the attached angular spring. The spring (if it is enabled) tries to keep the specified angle between the connected bodies.Целевой угол прикрепленной угловой пружины. Пружина (если она включена) пытается сохранить заданный угол между соединенными телами.
Параметры привода
Angular Torque Maximum torque of the angular motor. 0 detaches the motor.Максимальный крутящий момент углового привода. 0 отключает привод.
Angular Velocity Target velocity of the attached angular motor.Целевая скорость присоединенного углового привод.
Linear Force Maximum force of the attached linear motor. 0 detaches the motor.Максимальное усилие присоединенного линейного привода. 0 отключает привод.
Linear Velocity Target velocity of the attached linear motor.Целевая скорость присоединенного линейного привода.

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointCylindrical Class description. An example illustrating connection of two bodies using a cylindrical joint can be found here.Для получения дополнительной информации см. описание класса JointCylindrical. Пример, иллюстрирующий соединение двух тел с помощью цилиндрического сочленения, можно найти здесь.

Watch the illustration of the Cylindrical joint in our video tutorial on physics.Посмотрите иллюстрацию цилиндрического сочленения в нашем видеоуроке по физике.

Wheel JointСочленение Wheel (Wheel Joint)#

Wheel joints are used to create ray-cast vehicle wheels. It connects two rigid bodies: the first body is a frame, the second one is a wheel. There is no need to assign a shape to the wheel: ray casting is used to detect collision of the wheel with a surface. This joint has an angular motor attached.Сочленения Wheel используются для моделирования колес транспортных средств. Оно соединяет два твердых тела: первое тело представляет собой кузов, второе — колесо. Присваивать форму (shape) колесу не нужно: для обнаружения столкновения колеса с поверхностью используется метод ray-casting. К этому сочленению прикреплен угловой привод.

Примечание

The order of the bodies, connected using a wheel joint, matters!Порядок соединения тел при помощи данного сочленения имеет значение!

  • If the bodies are connected using UnigineEditor:Если тела соединяются с помощью UnigineEditor:

    1. Select the vehicle frame.Выберите раму автомобиля.
    2. Add a wheel joint.Добавьте колесный шарнир.
    3. Specify the wheel to be attached.Укажите колесо, которое нужно прикрепить.
  • If the bodies are connected programmatically:Если тела соединяются программно:

    • b0 is a frame.b0 — это рама.
    • b1 is a wheel.b1 — это колесо.
Сочленение Wheel Сочленение Wheel
Сочленение Wheel
Wheel Joint ParametersПараметры сочленения Wheel

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Suspension axis (Axis 0)Ось подвески (Axis 0) Coordinates of a vertical axis, which acts like a cylindrical joint providing steering and damping.Координаты вертикальной оси, которая действует как цилиндрическое сочленение, обеспечивающее управление и демпфирование.
Wheel spindle axis (Axis 1)Ось шпинделя колеса (Axis 1)

Coordinates of a horizontal axis, around which the wheel rotates. They are set in the following fields:Координаты горизонтальной оси, вокруг которой вращается колесо. Они задаются в следующих полях:

  • Axis 10 — in the coordinate system of the frame (which is body 0)Axis 10 — в системе координат кадра (то есть body 0)
  • Axis 11 — in the coordinate system of the wheel (which is body 1)Axis 11 — в системе координат колеса (то есть body 1)
Linear damping Linear damping coefficient of the suspension.Линейный коэффициент демпфирования подвески.
Linear limit from Lower suspension ride limit.Нижний предел хода подвески.
Linear limit to Upper suspension ride limit.Верхний предел хода подвески.
Linear spring Suspension spring rigidity coefficient, determines how strong the joint resists vertical linear motion. If rigidity is set to 0, the spring is disabled.Коэффициент жесткости пружины подвески, определяет, насколько прочно соединение выдерживает вертикальное линейное движение. Если жесткость установлена ​​на 0, пружина отключена.
Linear distance Target suspension height. The suspension spring (if it is enabled) tries to keep the specified height.Целевая высота подвески. Пружина подвески (если она включена) пытается сохранить заданную высоту.
Angular damping Angular damping coefficient of wheel rotation.Угловой коэффициент демпфирования вращения колеса.
Параметры привода
Angular Torque Maximum torque of the angular motor. 0 detaches the motor.Максимальный крутящий момент углового привода. 0 отключает привод.
Angular Velocity Target velocity of the attached angular motor.Целевая скорость присоединенного углового привода.

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointWheel Class description. For an example illustrating the use of wheel joints see the Creating a Car with Wheel Joints article.Для получения дополнительной информации см. описание класса JointWheel. Пример использования сочленения Wheel см. в статье Создание автомобиля с сочленениями Wheel.

Watch how to simulate a wheel using the Wheel joint in our video tutorial on physics.Посмотрите, как смоделировать колесо, используя сочленение Wheel, в нашем видеоуроке по физике.

Suspension JointСочленение подвески (Suspension Joint)#

Внимание
This joint type is deprecated and will be removed in the upcoming releases. It is recommended to use the Wheel Joint instead.Этот тип сочленения устарел и будет удален в следующих выпусках. Вместо этого рекомендуется использовать сочленение Wheel.

Suspension joints are used to create wheel suspension for vehicles. It connects two rigid bodies: the first body is a frame, the second one is a wheel. This joint has an angular motor attached.Подвеска используется для создания подвески колес автомобилей. Она соединяет два твердых тела: первое тело представляет собой раму, второе — колесо. К этому шарниру прикреплен угловой привод.

Примечание
The order of the bodies, connected using a suspension joint, matters!
  • If the bodies are connected using UnigineEditor:If the bodies are connected using UnigineEditor:

    1. Select the vehicle frame.Select the vehicle frame.
    2. Add a suspension joint.Add a suspension joint.
    3. Specify the wheel to be attached.Specify the wheel to be attached.
  • If the bodies are connected programmatically:If the bodies are connected programmatically:

    • b0 is a frame.b0 is a frame.
    • b1 is a wheel.b1 is a wheel.
If the bodies are connected using UnigineEditor:Select the vehicle frame.Add a suspension joint.Specify the wheel to be attached.If the bodies are connected programmatically:b0 is a frame.b1 is a wheel.
Порядок соединения тел при помощи данного сочленения имеет значение!
  • If the bodies are connected using UnigineEditor:Если тела соединяются с помощью UnigineEditor:

    1. Select the vehicle frame.Выберите раму автомобиля.
    2. Add a suspension joint.Добавьте сочленение Suspension.
    3. Specify the wheel to be attached.Укажите колесо, которое нужно прикрепить.
  • If the bodies are connected programmatically:Если тела соединяются программно:

    • b0 is a frame.b0 is a frame.
    • b1 is a wheel.b1 is a wheel.
Suspension joint Suspension joint
Suspension Joint
Suspension Joint ParametersПараметры Suspension Joint

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Suspension axis (Axis 0)Ось подвески (Axis 0) Coordinates of a vertical axis, which acts like a cylindrical joint providing steering and damping.Координаты вертикальной оси, которая действует как цилиндрическое сочленение, обеспечивающиее управление и демпфирование.
Wheel spindle axis (Axis 1)Ось шпинделя колеса (Axis 1)

Coordinates of a horizontal axis, around which the wheel rotates. They are set in the following fields:Координаты горизонтальной оси, вокруг которой вращается колесо. Они задаются в следующих полях:

  • Axis 10 — in the coordinate system of the frame (which is body 0)Axis 10 — в системе координат кадра (то есть body 0)
  • Axis 11 — in the coordinate system of the wheel (which is body 1)Axis 11 — в системе координат колеса (то есть body 1)
Linear damping Linear damping coefficient of the suspension.Линейный коэффициент демпфирования подвески.
Linear limit from Lower suspension ride limit.Нижний предел хода подвески.
Linear limit to Upper suspension ride limit.Верхний предел хода подвески.
Linear spring Suspension spring rigidity coefficient, determines how strong the joint resists vertical linear motion. If rigidity is set to 0, the spring is disabled.Коэффициент жесткости пружины подвески, определяет, насколько прочно сочленение выдерживает вертикальное линейное движение. Если жесткость установлена ​​на 0, пружина отключена.
Linear distance Target suspension height. The suspension spring (if it is enabled) tries to keep the specified height.Целевая высота подвески. Пружина подвески (если она включена) пытается сохранить заданную высоту.
Angular damping Angular damping coefficient of wheel rotation.Угловой коэффициент демпфирования вращения колеса.
Параметры привода
Angular Torque Maximum torque of the angular motor. 0 detaches the motor.Максимальный крутящий момент углового привода. 0 отключает привод.
Angular Velocity Target velocity of the attached angular motor.Целевая скорость присоединенного углового привода.

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointSuspension Class description. An example illustrating connection of two bodies using a suspension joint can be found here.Для получения дополнительной информации см. описание класса JointSuspension. Пример, иллюстрирующий соединение двух кузовов с помощью шарнира подвески, можно найти здесь.

For the difference between the Suspension and Wheel joints, see our video tutorial on physics.Чтобы узнать о различиях между сочленениями Wheel и Suspension, см. наш видеоурок по физике.

Path JointСочленение Path (Path Joint)#

Path joint is used to attach a rigid body to a path body and to make it move along this path. This joint can be used to make a train move along the tracks. This joint has a linear motor attached.Сочленение Path используется для прикрепления твердого тела к телу Path и для его перемещения по этому пути. Это сочленение можно использовать для движения поезда по рельсам. К этому сочленению прикреплен линейный привод.

Примечание

Assign a shape to a rigid body before connecting it to a path body!
The order of the bodies, connected using a path joint, matters!
Назначьте фигуру твердому телу перед тем, как соединить его с телом контура!
Порядок соединения тел при помощи данного сочленения имеет значение!

  • If the bodies are connected using UnigineEditor:
    1. Select a rigid body.Select a rigid body.
    2. Add a path joint.Add a path joint.
    3. Specify the path body.Specify the path body.
    Select a rigid body.Add a path joint.Specify the path body.
    Если тела соединяются с помощью UnigineEditor:
    1. Select a rigid body.Выберите твердое тело (Rigid).
    2. Add a path joint.Добавить сочленение Path.
    3. Specify the path body.Укажите тело Path.
  • If the bodies are connected programmatically:
    • b0 is a BodyRigid.b0 is a BodyRigid.
    • b1 is a BodyPath.b1 is a BodyPath.
    b0 is a BodyRigid.b1 is a BodyPath.
    Если тела соединяются программно:
    • b0 is a BodyRigid.b0 — это BodyRigid.
    • b1 is a BodyPath.b1 — это BodyPath.
Сочленение Path
Сочленение Path
Path Joint ParametersПараметры сочленения Path

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Rotation Specifies orientation of the body relative to the path.Задает ориентацию тела относительно пути.
Linear damping Linear damping coefficient of the path joint.Линейный коэффициент демпфирования сочленения Path.
Параметры привода
Linear Force Maximum force of the attached linear motor. 0 detaches the motor.Максимальное усилие присоединенного линейного привода. 0 отключает привод.
Linear Velocity Target velocity of the attached linear motor.Целевая скорость присоединенного линейного привода.

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointPath Class description. An example illustrating connection of two bodies using a path joint can be found here.Для получения дополнительной информации см. описание класса JointPath. Пример, иллюстрирующий соединение двух тел с помощью сочленения Path, можно найти здесь.

Our video tutorial on physics shows how to attach a rigid body to a path body using the Path joint.В нашем видеоуроке по физике показано, как прикрепить тело Rigid к телу Path с помощью сочленения Path.

Particles JointСочленение Particles (Particles Joint)#

Particles joint is used to pin cloth body or rope body to a rigid body, ragdoll body or a dummy body.Сочленение Particles используется для прикрепления ткани или веревки к твердому телу, телу Ragdoll или телу Dummy.

Примечание

The order of the bodies, connected using a particles joint, matters!Порядок соединения тел при помощи данного сочленения имеет значение!

  • If the bodies are connected using UnigineEditor:Если тела соединяются с помощью UnigineEditor:

    1. Select a rigid body, a ragdoll body or a dummy body.Выберите тело: твердое, ragdoll или dummy.
    2. Add a particles joint.Добавьте соединение частиц.
    3. Specify a cloth body or a rope body.Укажите тело Cloth или Rope.
  • If the bodies are connected programmatically:Если тела соединяются программно:

    • b0 is a BodyRigid / BodyRagdoll / BodyDummy.b0 — это BodyRigid / BodyRagdoll / BodyDummy.
    • b1 is a BodyCloth / BodyRope.b1 — это BodyCloth / BodyRope.
Сочленение Particles
Сочленение Particles
Particles Joint ParametersПараметры сочленения Particles

The basic constraint parameters of this joint include:Основные параметры ограничения этого сочленения включают:

Threshold Determines the distance for pinning vertices of cloth or rope body to another body.Определяет расстояние для прикрепления вершин ткани или веревки к другому телу.
Size Specifies the area for pinning vertices of cloth or rope body to another body.Определяет область для закрепления вершин ткани или веревки на другом теле.

This joint also has a set of common parameters shared by all joint types.Это сочленение также имеет набор общих параметров, которые есть у всех типов сочленений.

For more information refer to JointParticles Class description. An example illustrating attachment of a cloth body using a particles joint can be found here.Для получения дополнительной информации см. описание класса JointParticles. Пример, иллюстрирующий прикрепление тела Cloth с помощью соединения частиц, можно найти здесь.

An example illustrating the use of rope body and particles joint can be found here.Пример, иллюстрирующий использование тела Rope и сочленения Particles, можно найти здесь.

Our video tutorial on physics shows how to attach a rope or a cloth to other bodies using the Particles joint.В нашем видеоуроке по физике показано, как прикрепить веревку или ткань к другим телам с помощью сочленения Particles.

Common Joint ParametersОбщие параметры сочленений#

Common Joint ParametersОбщие параметры сочленений

All joints regardless of their type have some common parameters:Все сочленения, независимо от их типа, имеют некоторые общие параметры:

Enabled A flag indicating if a joint is enabled.Флаг, указывающий, включено ли сочленение.
Collision A flag indicating if collision detection between the connected bodies is enabled.Флаг, указывающий, включено ли обнаружение столкновений между соединенными телами.
Anchor Position of the anchor point around which the joint's motion is constrained. By default the anchor is placed between the centers of mass of connected bodies.Положение точки привязки, вокруг которой ограничено движение сочленения. По умолчанию якорь размещается между центрами масс соединенных тел.
Linear restitution

Linear stiffness of the joint. Defines how fast it compensates for linear coordinate change between two bodies. When bodies are dragged apart, restitution controls the magnitude of force which is applied to both bodies so that their anchor points to become aligned again.Линейная жесткость сочленения. Определяет, насколько быстро он компенсирует линейное изменение координат между двумя телами. Когда тела оттаскиваются друг от друга, восстановление управляет величиной силы, которая применяется к обоим телам, чтобы их опорные точки снова выровнялись.

  • 1 means that the joint is to return bodies in place throughout 1 physics tick.1 означает, что соединение должно возвращать тела на место в течение 1 кадра физики.
  • 0.2 means that the joint is to return bodies in place throughout 5 physics ticks.0,2 означает, что соединение должно возвращать тела на место в течение 5 кадров физики.
Примечание
The maximum value of 1 can lead to destabilization of physics (as too great forces are applied).Максимальное значение 1 может привести к дестабилизации физики (поскольку прилагаются слишком большие силы).
Angular restitution

Angular stiffness of the joint. Defines how fast it compensates for change of the angle between two bodies. When bodies are turned relative each other, restitution controls the magnitude of force which is applied to both bodies so that their anchor points to become aligned again.Угловая жесткость сочленения. Определяет, насколько быстро он компенсирует изменение угла между двумя телами. Когда тела поворачиваются относительно друг друга, восстановление управляет величиной силы, которая применяется к обоим телам, так что их опорные точки снова выравниваются.

  • 1 means that the joint is to return bodies in place throughout 1 physics tick.1 означает, что сочленение должно возвращать тела на место в течение 1 кадра физики.
  • 0.2 means that the joint is to return bodies in place throughout 5 physics ticks.0,2 означает, что сочленение должно возвращать тела на место в течение 5 кадров физики.
Примечание
The maximum value of 1 can lead to destabilization of physics (as too great forces are applied).Максимальное значение 1 может привести к дестабилизации физики (поскольку прилагаются слишком большие силы).
Linear softness

Linear elasticity of the joint. Defines whether linear velocities of the bodies are averaged out when the joint is stretched.Линейная эластичность сочленения. Определяет, усредняются ли линейные скорости тел при растяжении сочленения.

  • 0 means that the joint is rigid. Velocities of the first and the second body are independent.0 означает, что соединение жесткое. Скорости первого и второго тела независимы.
  • 1 means that the joint is elastic (jelly-like). If the first body changes its velocity, velocity of the second body is equalized with it.1 означает, что соединение эластичное (желеобразное). Если первое тело меняет свою скорость, скорость второго тела выравнивается с ним.
Angular softness

Angular elasticity of the joint. Defines whether linear velocities of the bodies are averaged out when the joint is twisted.Угловая эластичность сочленения. Определяет, усредняются ли линейные скорости тел при скручивании сочленения.

  • 0 means that the joint is rigid. Velocities of the first and the second body are independent.0 означает, что соединение жесткое. Скорости первого и второго тела независимы.
  • 1 means that the joint is elastic (jelly-like). If the first body changes its velocity, velocity of the second body is equalized with it.1 означает, что соединение эластичное (желеобразное). Если первое тело меняет свою скорость, скорость второго тела выравнивается с ним.
Max force Maximum force that can be exerted on the joint. If this limit is exceeded, the joint breaks. The default value is inf, i.e. the joint is unbreakable.Максимальное усилие, которое можно приложить к сочленению. Если этот предел превышен, сочленение разрывается. Значение по умолчанию — inf, т. е. сочленение неразрывно.
Max torque Maximum torque that can be exerted on the joint. If this limit is exceeded, the joint breaks. The default value is inf, i.e. the joint is unbreakable.Максимальный крутящий момент, который можно приложить к сочленению. Если этот предел превышен, сочленение разрывается. Значение по умолчанию — inf, т. е. сочленение неразрывно.
Number of iterations Joints, like collisions, are calculated iteratively. This parameter specifies the number of iterations used to solve joints. Note that if this value is too low, the precision of calculations will suffer.Сочленения, как и столкновения, рассчитываются итеративно. Этот параметр указывает количество итераций, используемых для решения сочленений. Обратите внимание: если это значение будет слишком низким, пострадает точность вычислений.

Motors and SpringsПриводы и пружины#

Joints can have motors and springs associated with them.Сочленения могут иметь приводы и связанные с ними пружины.

Springs try to keep the bodies connected with a joint at some specific distance (linear) or angle (angular). The behavior of a particular spring depends on its rigidity and damping coefficient.Пружины пытаются удерживать тела, соединенные сочленением, на определенном расстоянии (линейном) или под углом (угловой). Поведение конкретной пружины зависит от ее жесткости и коэффициента демпфирования.

Motors provide movement or rotation of bodies connected with a joint relative to each other by applying a torque (or force) to a joint's degree of freedom. There are linear and angular motors that exert a limited force to a joint, pushing or rotating connected objects.Приводы обеспечивают движение или вращение тел, связанных с шарниром, относительно друг друга за счет приложения крутящего момента (или силы) к степени свободы сочленения. Существуют линейные и угловые приводы, которые оказывают ограниченное усилие на сочленение, толкая или вращая связанные объекты.

Springs and Motors

Motors have two parameters:У приводов есть два параметра:

  • Целевая скорость
  • Maximum force (or torque) that is available to reach that velocity.Максимальное усилие (или крутящий момент), которое доступно для достижения этой скорости.

This is a very simple model of real life motors. However, is it quite useful when modeling a motor, that is geared down with a gearbox before being connected to the joint. Such devices are often controlled by setting a target velocity, and can only generate a maximum amount of power to achieve that speed (which corresponds to a certain amount of force available at the joint).Это очень простая модель реальных приводов. Тем не менее, это очень полезно при моделировании привода, который перед подсоединением к сочленению приводится в действие редуктором. Такие устройства часто управляются путем установки целевой скорости и могут генерировать только максимальное количество энергии для достижения этой скорости (что соответствует определенному количеству силы, доступной в сочленении).

To activate an angular motor perform the following steps:Чтобы активировать угловой привод, выполните следующие действия:

  1. Set angular velocity — target angular velocity of the motor, This value determines how fast the motor can rotate.Установите angular velocity — целевую угловую скорость привода. Это значение определяет, насколько быстро привод может вращаться.

    • positive value — the motor rotates counterclockwise.положительное значение — привод вращается против часовой стрелки.
    • negative value — the motor rotates clockwise.отрицательное значение — привод вращается по часовой стрелке.
  2. Set angular torque — maximum torque applied by the motor to reach target velocity. This value determines how fast the motor reaches maximum velocity.Установите angular torque — максимальный крутящий момент, прилагаемый приводом для достижения целевой скорости. Это значение определяет, насколько быстро привод достигает максимальной скорости.

    • 0 disables the motor.0 отключает привод.
    • If a negative value is provided, 0 will be used instead.Если указано отрицательное значение, вместо него будет использоваться 0.

To activate a linear motor perform the following steps:Чтобы активировать линейный привод, выполните следующие действия:

  1. Set linear velocity — target linear velocity of the motor, This value determines how fast the motor can push.Установите linear velocity — целевая линейная скорость привода. Это значение определяет, насколько быстро привод может толкать.

    • positive value — the motor pushes forward.положительное значение — привод толкает вперед.
    • negative value — the motor pulls backward.отрицательное значение — привод движется назад.
  2. Set linear force — maximum force applied by the motor to reach target velocity. This value determines how fast the motor reaches maximum velocity.Установите linear force — максимальное усилие, прилагаемое приводом для достижения заданной скорости. Это значение определяет, насколько быстро привод достигает максимальной скорости.

    • 0 disables the motor.0 отключает привод.
    • If a negative value is provided, 0 will be used instead.Если указано отрицательное значение, вместо него будет использоваться 0.

VehiclesТранспортные средства#

Vehicles are important in real-time games, therefore, they are to be described separately. There are two approaches to simulation of moving vehicles. Each approach has a corresponding joint type to connect wheels to vehicle body.Транспортные средства важны в играх в реальном времени, поэтому их следует описывать отдельно. Есть два подхода к моделированию движущихся транспортных средств. У каждого подхода есть соответствующий тип соединения для соединения колес с кузовом автомобиля.

  • The first approach uses a suspension joint and assumes that wheels are represented as physical bodies with shapes. As each wheel has a collider shape, collisions with objects on the ground are handled correctly. For example, such car runs on a curb smoothly. This approach requires more calculations and is to be used when more accurate simulation is needed especially for step-like ground surface and wheels have a complex shape.Первый подход использует сочленение Suspension и предполагает, что колеса представлены как физические тела с формами (shapes). Поскольку у каждого колеса есть коллизионная форма, столкновения с объектами на земле обрабатываются правильно. Например, такая машина плавно едет по бордюру. Этот подход требует дополнительных расчетов и должен использоваться, когда требуется более точное моделирование, особенно для ступенчатой ​​поверхности земли и колес сложной формы.
  • The second approach uses a wheel joint and assumes that the wheels are virtual. Wheels do not collide with the surface of the road. Instead, rays are cast down from the car body to detect surface unevenness. In this case steep changes of the terrain are not handled accurately. This approach is faster then the first one and provides acceptable results for smooth terrain, e.g. for racing cars simulation. However, on cross-country terrains it may not work correctly. Второй подход использует сочленение Wheel и предполагает, что колеса виртуальные. Колеса не сталкиваются с поверхностью дороги. Вместо этого лучи падают от кузова автомобиля, чтобы обнаружить неровности поверхности. В этом случае резкие изменения рельефа обрабатываются неточно. Этот подход быстрее первого и обеспечивает приемлемые результаты для ровной местности, например для моделирования гоночных автомобилей. Однако на пересеченной местности он может работать некорректно.

Both joints have a motor associated with them, which rotates the wheels and pushes the vehicle forward.Оба сочленения имеют связанный с ними привод, который вращает колеса и толкает автомобиль вперед.

Проблемы с использованием лучей при наличии крутых препятствий

A problem with the wheels simulated using ray castingПроблема с колесами, смоделированными с использованием Ray Casting
Последнее обновление: 23.06.2023
Build: ()