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)
VR Development
Двойная точность координат
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
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

CPP SIM Samples

Внимание
Функционал, описанный в этой статье, недоступен в Community редакции SDK.
Чтобы использовать этот функционал вам необходимо получить лицензию на Sim SDK.

This demo contains a set of samples addressing the specific needs.Данный демо-проект содержит набор примеров, решающих определенные задачи.

RopeRope#

This set of samples demonstrates how to create ropes using an arbitrary set of points and joints between them. This approach can be used to create any kind of rope or even a net consisting of a number of ropes, a wire, or a primitive cloth.Данный набор примеров демонстрирует создание веревок с использованием произвольного набора точек и соединений между ними. Такой подход может быть использован для создания любого вида веревки или даже сети, состоящей из нескольких веревок, проволоки или примитивной ткани.

You can use the sample ropes as a basis for your specific task by configuring their parameters as required.Веревки, представленные в примерах, можно использовать в качестве основы для решения конкретной задачи, настраивая их параметры по своему усмотрению.

Indices for segments are generated randomly to avoid a linear accumulation of error in joints.Индексы для сегментов генерируются случайным образом, чтобы избежать линейного накопления погрешности в сочленениях.

CraneCrane#

This sample demonstrates how to imitate a crane with sling ropes transferring an object. The scene contains the manipulator with the ropes connected to it. Ropes are also connected to the load, which has BodyRigid assigned. The connection points are set via AttachPoint.Данный пример демонстрирует имитацию крана с канатами для переноса объекта. Сцена содержит манипулятор с присоединенными к нему канатами. Канаты также соединены с грузом, которому назначено физическое тело BodyRigid. Точки соединения задаются через AttachPoint.

You can move the load around the scene by dragging the manipulator with the mouse, and make it interact with the wall also available in the scene.Груз можно перемещать по сцене, перетаскивая манипулятор мышью, и заставлять его взаимодействовать со стеной, которая также присутствует в сцене.

Physics is simulated at 120 fps with 10 iterations to adjust the distance between points.Физика моделируется со скоростью 120 кадров в секунду с 10 итерациями для корректировки расстояния между точками.

The physics update for the load is adjusted by impulses to ensure proper interaction with the environment.Обновление физики для груза регулируется импульсами для обеспечения корректного взаимодействия с окружением.

WiresWires#

This sample illustrates how to create wires using the RopeSystem component. You can change the wire diameter value and generate a wire mesh based on a new value. The plane available in the scene can be moved to make the wires swing.Этот пример иллюстрирует создание проводов при помощи компонента RopeSystem . Можно изменить значение диаметра проводов и сгенерировать меш провода с учетом нового значения. Плоскость, доступную в сцене, можно перемещать, чтобы раскачать провода.

Simulating wires doesn't require a big number of physics iterations and fps, as they don't move across the scene, only swing. However, if wires in your scene are used mostly for decorative reasons and do not require any physical response, consider using a static mesh to save performance.Моделирование проводов не требует большого количества итераций физики и fps, поскольку они не перемещаются по сцене, а только раскачиваются. Однако если в вашей сцене провода используются в декоративных целях и не требуют физической симуляции, имеет смысл использовать статический меш для экономии производительности.

SSLSocketSSLSocket#

This sample illustrates the implementation of message exchange with a server through an SSL connection.Этот пример иллюстрирует реализацию обмена сообщениями с сервером через SSL-соединение.

It contains two windows: one representing the server, and the other one — the client.Он содержит два окна: одно представляет сервер, а другое - клиента.

To exchange messages, you need to run the server first (click the Run button in the Server window), then connect the client (use the Connect button in the Client window). Then you can type messages in the message areas and click Send.Для обмена сообщениями необходимо сначала запустить сервер (кнопка Run в окне Server), затем подключить клиента (кнопка Connect в окне Client). После этого можно набирать сообщения в областях сообщений и нажимать кнопку Send.

VehicleVehicle#

This sample showcases a new High-Level Car Physics System. To learn more on using the system to create your own wheeled vehicle simulation please refer to this article.Этот пример демонстрирует новую высокоуровневую систему физики колесных транспортных средств. Чтобы узнать больше об использовании системы для создания собственной симуляции колесного транспортного средства, см. эту статью.

FeaturesФункции#

  • Setting engine's power and resistance curves, as well as idle speed (RPM).Задание кривых мощности и сопротивления двигателя, а также оборотов холостого хода (об/мин).
  • Gearbox simulation (manual and automatic) enabling you to adjust throttle and speed values for shifting gears along with transition time, as well as to set the number of gears and configure gear ratios.Моделирование коробки передач (механической и автоматической), позволяющее регулировать значения газа и скорости для переключения передач, время переключения, а также устанавливать количество передач и настраивать передаточные числа.
  • Mathematical wheel model for more realistic steering, enabling simulation of forces affecting the rotating wheel, along with an ability to adjust suspension travel distance, spring, and damping values.Математическая модель колеса для более реалистичного управления, позволяющая моделировать силы, воздействующие на вращающееся колесо, а также возможность регулировать ход подвески, параметры пружины и демпфирования.
  • Easy setup of steering and driving axes along with capability to turn the differential lock on and off.Простая настройка рулевой оси и вала привода, а также возможность включать и выключать блокировку дифференциала.
  • Switching between different views (driver's view, external camera, etc.).Переключение между различными видами (вид водителя, внешняя камера и т. д.).
  • Simulation of various surface conditions (such as dry, wet, snow-covered, or icy road, mud, and so on).Моделирование различных условий поверхности (таких как сухая, мокрая, заснеженная или обледенелая дорога, грязь и т. д.).
  • A set of debug windows displaying information on all vehicle parameters in real time.Набор отладочных окон, отображающих информацию обо всех параметрах автомобиля в режиме реального времени.

Fine-Tuning the Wheel JoystickНастройка игрового руля#

If you use a wheel device, you might need to readjust the demo settings to control the vehicle properly.При использовании руля для управления автомобилем в демо может потребоваться перенастройка элементов управления.

  1. Run the demo and press F3 to visualize the axes.Запустите демо и нажмите F3 для визуализации осей.
  2. Check the controls status — which axis each control corresponds to.Проверьте состояние элементов управления — какой оси соответствует каждый элемент управления.
  3. If the controls mismatch, open the demo project in UnigineEditor to reconfigure them. Find the joystick_input node, it has the car_joystick_input property assigned. Adjust the Joystick Axis parameter where required.Если элементы управления не совпадают, откройте демо в UnigineEditor, чтобы перенастроить их. Найдите ноду joystick_input и назначенное на нее свойство car_joystick_input. Перенастройте параметр Joystick Axis там, где это требуется.

Доступ к исходному коду демо-проекта#

Вы можете изучать и модифицировать исходный код демо-проекта, и создавать свои собственные проекты на его основе. Чтобы получить доступ к исходному коду, сделайте следующее:

  1. Найдите демо-проект CPP SIM Samples в разделе Demos и щелкните Install (если вы не установили его ранее).
  2. После успешной установки демо появится в разделе Installed, и вы сможете скопировать ее как проект, щелкнув Copy as Project.
  3. В открывшемся окне Create New Project введите имя нового проекта в соответствующее поле и нажмите Create New Project.
  4. Теперь вы можете щелкнуть Open Code IDE, чтобы проверить и изменить исходный код в IDE по умолчанию, или Open Editor, чтобы открыть проект для работы с контентом в UnigineEditor.
Последнее обновление: 19.12.2023
Build: ()