CPP SIM Samples
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, поскольку они не перемещаются по сцене, а только раскачиваются. Однако если в вашей сцене провода используются в декоративных целях и не требуют физической симуляции, имеет смысл использовать статический меш для экономии производительности.
SpiderVisionSpiderVision#
The SpiderVision set of samples demonstrates the possibilities of configuring the multi-monitor SpiderVision setup parameters via code.Набор примеров SpiderVision демонстрирует возможности настройки параметров многомониторной системы SpiderVision через код.
The SpiderVision plugin provides the setup (opens on F10) as well as the possibility to configure parameters using API. The available set of samples contains the scene and a multi-monitor setup allowing you to quickly explore the plugin features.Плагин SpiderVision предоставляет окно настроек (открывается по клавише F10), а также позволяет конфигурировать параметры с помощью API. В данный набор примеров входит сцена и многомониторная настройка, что позволяет ознакомиться с функциями плагина.
The scenes also contain a vehicle that uses the High-Level Car Physics System. The vehicle controls are described in the Vehicle sample, please check it for more details.Сцены также содержат автомобиль, использующий систему высокоуровневой физики автомобилей. Управление автомобилем описано в примере "Vehicle", пожалуйста, ознакомьтесь с ним для получения дополнительных сведений.
Three Monitors sample demonstrates a three-monitor configuration with the possibility to configure distance and angle between the neighboring monitors via the application UI.
The sample shows how to use the API to control the parameters via code. The same parameters are accessible via the SpiderVision setup window (F10).
SDK Path: <SDK_INSTALLATION>demos\cpp_sim_samples_demo_2.19\source\spider_vision_sample
Two Monitors sample demonstrates a two-monitor configuration with the possibility to configure distance and angle between the neighboring monitors via the application UI.
The sample shows how to use the API to control the parameters via code. The same parameters are accessible via the SpiderVision setup window (F10).
SDK Path: <SDK_INSTALLATION>demos\cpp_sim_samples_demo_2.19\source\spider_vision_sample
Visual Effects sample visualizes the tools used for the image fine-tuning, such as warping, blending, color correction, and masking.
The sample shows how to use the API to control the parameters via code. The same parameters are accessible via the Projection Setup of the SpiderVision setup window (F10).
SDK Path: <SDK_INSTALLATION>demos\cpp_sim_samples_demo_2.19\source\spider_vision_sample
Wall shows how to create a Wall configuration and provides an access to the settings that affect the image rendering, making the line between monitors invisible. Toggling on and off the settings available gives a more clear understanding of how various rendering settings affect the whole image.
SDK Path: <SDK_INSTALLATION>demos\cpp_sim_samples_demo_2.19\source\spider_vision_sample
Window Custom Player demonstrates how to make a specific player render to a selected viewport using the SpiderVisionCameraAttach component.
SDK Path: <SDK_INSTALLATION>demos\cpp_sim_samples_demo_2.19\source\spider_vision_sample
SSL SocketSSLSocket#
Этот пример иллюстрирует реализацию обмена сообщениями с сервером через SSL-соединение.
Он содержит два окна: одно представляет сервер, а другое - клиента.
Для обмена сообщениями необходимо сначала запустить сервер (кнопка Run в окне Server), затем подключить клиента (кнопка Connect в окне Client). После этого можно набирать сообщения в областях сообщений и нажимать кнопку Send.
VehicleVehicle#
Этот пример демонстрирует новую высокоуровневую систему физики колесных транспортных средств. Чтобы узнать больше об использовании системы для создания собственной симуляции колесного транспортного средства, см. эту статью.
Функции#
- Задание кривых мощности и сопротивления двигателя, а также оборотов холостого хода (об/мин).
- Моделирование коробки передач (механической и автоматической), позволяющее регулировать значения газа и скорости для переключения передач, время переключения, а также устанавливать количество передач и настраивать передаточные числа.
- Математическая модель колеса для более реалистичного управления, позволяющая моделировать силы, воздействующие на вращающееся колесо, а также возможность регулировать ход подвески, параметры пружины и демпфирования.
- Простая настройка рулевой оси и вала привода, а также возможность включать и выключать блокировку дифференциала.
- Переключение между различными видами (вид водителя, внешняя камера и т. д.).
- Моделирование различных условий поверхности (таких как сухая, мокрая, заснеженная или обледенелая дорога, грязь и т. д.).
- Набор отладочных окон, отображающих информацию обо всех параметрах автомобиля в режиме реального времени.
Настройка игрового руля#
При использовании руля для управления автомобилем в демо может потребоваться перенастройка элементов управления.
- Запустите демо и нажмите F3 для визуализации осей.
- Проверьте состояние элементов управления — какой оси соответствует каждый элемент управления.
- Если элементы управления не совпадают, откройте демо в UnigineEditor, чтобы перенастроить их. Найдите ноду joystick_input и назначенное на нее свойство car_joystick_input. Перенастройте параметр Joystick Axis там, где это требуется.
Доступ к исходному коду демо-проекта#
Вы можете изучать и модифицировать исходный код демо-проекта, и создавать свои собственные проекты на его основе. Чтобы получить доступ к исходному коду, сделайте следующее:
- Найдите демо-проект CPP SIM Samples в разделе Demos и щелкните Install (если вы не установили его ранее).
- После успешной установки демо появится в разделе Installed, и вы сможете скопировать ее как проект, щелкнув Copy as Project.
- В открывшемся окне Create New Project введите имя нового проекта в соответствующее поле и нажмите Create New Project.
- Теперь вы можете щелкнуть Open Code IDE, чтобы проверить и изменить исходный код в IDE по умолчанию, или Open Editor, чтобы открыть проект для работы с контентом в UnigineEditor.