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
Учебные материалы

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#

Данный пример демонстрирует имитацию крана с канатами для переноса объекта. Сцена содержит манипулятор с присоединенными к нему канатами. Канаты также соединены с грузом, которому назначено физическое тело BodyRigid. Точки соединения задаются через AttachPoint.

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

Физика моделируется со скоростью 120 кадров в секунду с 10 итерациями для корректировки расстояния между точками.

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

WiresWires#

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

Моделирование проводов не требует большого количества итераций физики и fps, поскольку они не перемещаются по сцене, а только раскачиваются. Однако если в вашей сцене провода используются в декоративных целях и не требуют физической симуляции, имеет смысл использовать статический меш для экономии производительности.

SSL SocketSSLSocket#

Этот пример иллюстрирует реализацию обмена сообщениями с сервером через SSL-соединение.

Он содержит два окна: одно представляет сервер, а другое - клиента.

Для обмена сообщениями необходимо сначала запустить сервер (кнопка Run в окне Server), затем подключить клиента (кнопка Connect в окне Client). После этого можно набирать сообщения в областях сообщений и нажимать кнопку Send.

VehicleVehicle#

Этот пример демонстрирует новую высокоуровневую систему физики колесных транспортных средств. Чтобы узнать больше об использовании системы для создания собственной симуляции колесного транспортного средства, см. эту статью.

Функции#

  • Задание кривых мощности и сопротивления двигателя, а также оборотов холостого хода (об/мин).
  • Моделирование коробки передач (механической и автоматической), позволяющее регулировать значения газа и скорости для переключения передач, время переключения, а также устанавливать количество передач и настраивать передаточные числа.
  • Математическая модель колеса для более реалистичного управления, позволяющая моделировать силы, воздействующие на вращающееся колесо, а также возможность регулировать ход подвески, параметры пружины и демпфирования.
  • Простая настройка рулевой оси и вала привода, а также возможность включать и выключать блокировку дифференциала.
  • Переключение между различными видами (вид водителя, внешняя камера и т. д.).
  • Моделирование различных условий поверхности (таких как сухая, мокрая, заснеженная или обледенелая дорога, грязь и т. д.).
  • Набор отладочных окон, отображающих информацию обо всех параметрах автомобиля в режиме реального времени.

Настройка игрового руля#

При использовании руля для управления автомобилем в демо может потребоваться перенастройка элементов управления.

  1. Запустите демо и нажмите F3 для визуализации осей.
  2. Проверьте состояние элементов управления — какой оси соответствует каждый элемент управления.
  3. Если элементы управления не совпадают, откройте демо в 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.
Последнее обновление: 06.02.2024
Build: ()