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
Animations-Related Classes
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
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

Переход на UNIGINE с Unreal Engine: физика

The physics system in Unreal Engine is powered by the PhysX 3.3 physics engine, UNIGINE uses its own built-in Physics module.Физическая система в Unreal Engine работает на физическом движке PhysX 3.3, UNIGINE использует собственный встроенный модуль физики.

In UNIGINE, physics simulation can be enabled both when you enter Play mode and right in the editor. Click the Physics toggle in the top toolbar (if the button is greyed out, toggle Animation on via the button next to it):В UNIGINE моделирование физики можно включить как при входе в режим Play, так и прямо в редакторе. Нажмите переключатель Physics на верхней панели инструментов (если кнопка неактивна, включите Animation с помощью кнопки рядом с ней):

To disable simulation and reset the state of all physics-driven objects, uncheck the toggle and the world will return to its previously saved state.Чтобы отключить симуляцию и сбросить состояние всех объектов, управляемых физикой, снимите флажок, и мир вернется в свое ранее сохраненное состояние.

Enabling CollisionsВключение коллизий#

In UE4, any PrimitiveComponent (ShapeComponent, StaticMeshComponent, SkeletalMeshComponent, etc.) can be a physical object. Unreal Engine combines the concepts of the potentially physical and the potentially visible into PrimitiveComponent.В UE4 любой PrimitiveComponent (ShapeComponent, StaticMeshComponent, SkeletalMeshComponent и т.д.) может быть физическим объектом. Unreal Engine объединяет концепции потенциально физического и потенциально видимого в PrimitiveComponent.

In UNIGINE, the concepts for physics-driven object and visible geometry are separated. Some object types are capable of being physics-driven (e.g. Static Mesh, Skinned Mesh, Water Mesh, etc.). In the Physics tab of the Parameters window you can assign a Physical Body to an object, which can be considered physical approximations of real-life objects. One of them is Rigid Body simulating the most commonly used rigid body dynamics.В UNIGINE понятия физического объекта и видимой геометрии разделены. Некоторые типы объектов могут управляться физикой (например, Static Mesh, Skinned Mesh, Water Mesh и т.д.). На вкладке Physics окна Parameters вы можете назначить объекту физическое тело, которое можно считать физическим приближением к реальным объектам. Один из них - Rigid Body, моделирующий наиболее часто используемую динамику твердого тела .

Global Physics settings, such as the global gravity vector and quality, are available in the Settings window:Глобальные настройки физики , такие как глобальный вектор гравитации и качество, доступны в окне Settings:

Collisions / ShapesКоллизии / формы (shapes)#

Collision Shapes in UNIGINE play the part of Collisions in UE4, shapes are assigned to a physical body in the Shapes section. Here's the list of shape types compared to the UE4 Collisions:Коллизионные формы (shapes) в UNIGINE играет роль Collisions в UE4, формы назначаются физическому телу в секции Shapes. Вот список типов форм по сравнению с UE4 Collisions:

Unreal Engine UNIGINE
Box Simplified Collision Box
Sphere Simplified Collision Sphere
Capsule Simplified Collision Capsule
Cylinder
Auto Convex Collision Convex Hull
Примечание
A Convex shape is generated automatically based on the object geometry, you don't need to specify a collision mesh explicitly. Also, it is possible to generate a set of convex hulls to define a more complex concave mesh by using the Autogenerated option.Выпуклая форма создается автоматически на основе геометрии объекта, вам не нужно явно указывать коллизионный меш. Кроме того, можно сгенерировать набор выпуклых оболочек для определения более сложной вогнутого меша с помощью параметра Autogenerated.

You can combine several shapes to define a more complex collision shape in UNIGINE:Вы можете комбинировать несколько форм, чтобы определить более сложную коллизионную форму в UNIGINE:

Static ColliderStatic Collider (статический коллайдер)#

UNIGINE features two types of collisions, you can apply any option to make an object to be static collider:В UNIGINE есть два типа столкновений , вы можете использовать любой вариант, чтобы сделать объект статическим коллайдером:

  • Shape-Shape collision — between two objects with physical properties assigned (i.e. between their shapes).Shape-Shape столкновение - между двумя объектами с назначенными физическими свойствами (т.е. между их формами).

    To create a static collider perform the following:Чтобы создать статический коллайдер, выполните следующие действия:

    1. Assign a Dummy Body to the node.Назначьте узлу Dummy Body.
    2. Add collision shapes.Добавьте коллизионные формы (shapes).
  • Shape-Surface collision — between an object with physical properties assigned and a non-physical object (i.e. between a shape and a mesh surface).Shape-Surface столкновение - между объектом с назначенными физическими свойствами и нефизическим объектом (то есть между формой и поверхностью сетки).

    To make a mesh surface (e.g. of Static Mesh) provide static collisions, just enable the Collision flag for it:Чтобы поверхность сетки (например, Static Mesh) обеспечивала статические коллизии, просто включите для нее флаг Collision:

    Thus, you can really quickly enable collisions with the scene geometry, however, this method may be more performance consuming than the other one, especially if the world contains a large number of polygons.Таким образом, вы можете действительно быстро включить коллизии с геометрией сцены, однако этот метод может потреблять больше производительности, чем другой, особенно если мир содержит большое количество полигонов.

Внимание
Don't scale meshes that are going to participate in collision detection — physics doesn't work properly with scaled objects. To avoid scaling, reimport the mesh with the required scale.Не масштабируйте меши, которые будут участвовать в обнаружении столкновений - физика не работает должным образом с масштабируемыми объектами. Чтобы избежать масштабирования, повторно импортируйте меш с требуемым масштабом .

Dynamic (Rigidbody) ColliderDynamic (Rigidbody) Collider (динамический коллайдер)#

To create such a physics-driven collider object in UNIGINE, you assign a Rigid Body to it and create the required set of Shapes to define its collision geometry.Чтобы создать такой управляемый физикой объект-коллайдер в UNIGINE, вы назначаете ему Rigid Body и создаете требуемый набор форм (shapes) чтобы определить его коллизионную геометрию.

Kinematic ColliderKinematic Collider (кинематический коллайдер)#

Kinematic Collider is the term for an object that is logic-driven but affects other physically based objects in the scene (for example, a character or a door).Kinematic Collider - это термин для объекта, который управляется логикой, но влияет на другие физические объекты в сцене (например, персонаж или дверь).

In UNIGINE, you should use an object surface with the Collision flag enabled to provide Shape-Surface collisions. When being moved (e.g. from code), such an object acts as a kinematic collider and influences physics-driven objects.В UNIGINE вы должны использовать поверхность объекта с включенным флагом Collision для обеспечения коллизий Shape-Surface. При перемещении (например, из кода) такой объект действует как кинематический коллайдер и влияет на объекты, управляемые физикой.

Collision ChannelsКоллизионные каналы#

In UE4, channel-based collision detection is defined by configuring the Collision Responses and Trace Responses settings:В UE4 обнаружение столкновений на основе канала определяется настройкой параметров Collision Responses и Trace Responses:

In UNIGINE, selective collision detection is controlled by the Collision mask of both shapes and surfaces depending on the type of collision detection used:В UNIGINE выборочное обнаружение столкновений управляется маской Collision как форм, так и поверхностей в зависимости от используемого типа обнаружения столкновения:

Shape Collision Mask
Surface Collision Mask

Two objects will collide only if their Collision masks match (one bit at least).Два объекта будут сталкиваться, только если их маски Collision совпадают (хотя бы один бит).

For more details proceed to the dedicated article:Подробнее читайте в специальной статье:

ConstraintsConstraints (ограничения)#

Unreal Engine Constraints are represented by Joints in UNIGINE. Joints are used to connect physically-driven objects and restrict their movement relative to each other. While in UE4 you configure constraints by pairing the Stable Mesh and the Constrained Mesh components, UNIGINE provides a set of joint types useful in different tasks:Ограничения (constraints) Unreal Engine в UNIGINE представлены сочленениями (joints). Сочленения используются для соединения физически управляемых объектов и ограничения их движения относительно друг друга. В то время как в UE4 вы настраиваете ограничения, объединяя компоненты Stable Mesh и Constrained Mesh, UNIGINE предоставляет набор типов соединений, полезных в различных задачах:

RagdollRagdoll#

Skeletal Mesh в Unreal Engine, для имитации ragdoll может использовать физически-управляемую анимацию, для чего необходимо настроить и применить к нему Physics Asset.

В UNIGINE Ragdoll - это особый тип тела, используемый для имитации динамики тряпичной куклы. Он работает с твердыми телами, формами (shapes) и сочленениями (joints), чтобы моделировать конечности произвольной модели со скинами. Создание рэгдолла доступно только для Skinned Mesh.

Чтобы переключаться между анимацией на основе костей и симуляцией ragdoll, используйте функционал Frame-based animation.

Physical MaterialsФизические материалы#

UE4 uses Physical Materials to specify a set of physical parameters, such as friction and bouncing effects of colliding objects.UE4 использует Physical Materials для определения набора физических параметров, таких как эффекты трения и отскока сталкивающихся объектов.

In UNIGINE, the Friction and Restitution parameters are available for shapes and surfaces and taken into account depending on the type of collision detection used:В UNIGINE параметры Friction и Restitution доступны для формы (shape) а также поверхности (surface) и учитывается в зависимости от используемого типа обнаружения столкновения:

Shape Collision Mask
Surface Collision Mask

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

In UE4, the Wheeled Vehicle Blueprint class covers the creation of vehicles.В UE4 класс Wheeled Vehicle Blueprint охватывает создание транспортных средств.

In UNIGINE, wheeled vehicles can be created either manually by using the Wheel Joint or by using the High-Level Car Physics system based on C++ components.В UNIGINE колесная техника может быть создана либо вручную с помощью Wheel Joint, либо с помощью Высокоуровневой системы физики автомобилей на основе компонентов C ++.

See AlsoСмотрите также#

Последнее обновление: 26.05.2021
Build: ()