This page has been translated automatically.
Последние новости:
Содержание:

UNIGINE 2.19.1: Масштабирование в VR, импорт USD, предварительный просмотр анимации, стабилизация

Ключевые изменения

  • Импорт из формата данных USD
  • Поддержка апскейлеров (DLSS и FSR) в VR
  • Предварительный просмотр анимации в редакторе
  • Поддержка Handtracking и Linux для OpenXR
  • Улучшения плагина WebStreaming
  • Оптимизация производительности: более быстрые хэш-карты
  • Интеграция ImGUI и пример плагина для UnigineEditor
  • Новые сэмплы SpiderVision
  • Регистрация учетной записи в SDK Browser
  • Учебный курс по UNIGINE на C++

Импорт и экспорт USD

Universal Scene Description (Универсальное описание сцены) ( формат *.usd) — это иерархический формат описания сцены с открытым исходным кодом, разработанный как универсальный формат обмена 3D-контентом при его разработке. Он широко используется в индустрии кино, анимации и VFX для оптимизации производственных конвейеров и облегчения взаимодействия между художниками и студиями. Поддержка USD позволяет осуществлять эффективный обмен 3D-данными между различными 3D-приложениями без потери каких-либо данных.

USD Kitchen Set, Pixar Animation Studios.

Помимо экспорта данных сцены в формат USD, представленного в версии 2.19, в этом релизе также реализован импорт USD (расширения файлов usda, usdc и usdz), в настоящее время поддерживающий следующие компоненты сцены:

  • Текстуры (с автоматическим преобразованием текстур затенения UNIGINE)
  • Материалы
  • Меши и примитивы (сфера, куб и т.д.)
  • Скелетная геометрия, кости и анимация
  • Смешение фигур (цели морфинга)
  • Источники освещения
  • Камеры

Плагин USD Export для UnigineEditor был переименован в USD Exchanger и теперь доступен для всех редакций SDK. Дополнительную информацию об использовании плагина смотрите в этой статье.

Оптимизации Hash Map

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

Мы также сохранили предыдущую реализацию для обратной совместимости и некоторых особых случаев, она называется BucketHashMap. Более подробную информацию см. в API Migration Guide.

Улучшения потоковой передачи видео

В версии 2.19 мы представили плагин WebStreaming, позволяющий транслировать аудиоданные и видеокадры, отрисованные приложением UNIGINE, через WebRTC. Помимо некоторых оптимизаций и улучшений, этот релиз дает возможность транслировать изображение с любой существующей камеры в отдельный экземпляр веб-браузера. Это позволяет переключаться между разными камерами в сцене, передавать разные виды на разные клиентские устройства (включая мобильные) и даже просматривать несколько разных видов в отдельных экземплярах веб-браузера на одном клиентском устройстве.

Улучшения SSRTGI

Мы продолжаем совершенствовать нашу технологию Screen-Space Ray-Traced Global Illumination, известную как SSRTGI, делая ее еще более фотореалистичной. Мы переработали распределение лучей по полусфере для всего эффекта. Также откорректировали накопление и применение SSGI. Исправили гамма-коррекцию для SSAO при записи в буфер, а также для визуализации SSAO во время отладки рендеринга.

Кроме того, удалили наложение SSAO на отражения, чтобы они выглядели более естественно.

Другие улучшения рендеринга

Также добавились различные улучшения рендеринга, включая следующие:

  • Оптимизированное отсечение поверхности для источников света Projected и Omni (прозрачные материалы), которое дало прирост производительности в 10 раз для источников света Projected и в 2 раза для Omni.
  • Добавлена возможность задать расстояние, на котором отображаются тени, и затенения границы ближнего отсечения для источников света Projected и Omni.
  • Исправлена проблема с воздействием удаленных статических объектов на буфер скорости.
  • Исправлена проблема с движением камеры, влияющим на скорость анимации анимированных материалов.
  • Исправлены визуальные артефакты от растительности, возникающие, когда параметр Leaves Offset больше 0.
  • Декали теперь поддерживают рендеринг Ambient Occlusion. Функция доступна в Редакторе материалов через выходы Ambient Occlusion и Opacity Ambient Occlusion материала Decal PBR.
  • Исправлено мерцание объектов-импосторов травы при включенных параметрах Animation и Depth Map, а также при значениях Stem Noise больше 1.
  • Исправлена проблема с источниками света Projected и профилями IES, приводившая к ошибкам компиляции шейдеров.
  • Исправлена проблема с апскейлером FSR, приводившая к чрезмерному шуму.
  • Исправлена проблема с рендерингом теней и каустики от источников света World на поверхности объекта Global Water.
  • Исправлена некорректная визуализация дымки, когда Gradient Mode установлен на Short/Long Distance Range.
  • Исправлена проблема, из-за которой изменение глобальной настройки Textures Quality влияло на текстуры Scattering LUT, освещение и пост-эффекты .
  • Исправлен визуальный артефакт от источника света World после перезагрузки мира, связанный с потоковой передачей текстур рассеивания Солнца/Луны.
  • Добавлена возможность включать/отключать временную фильтрацию для эффекта Subsurface Scattering. Управлять ею можно через настройки Subsurface Scattering в UnigineEditor (или render_sssss_taa через консоль).
  • Исправлена проблема с некорректной потоковой передачей текстур детализации для объекта Landscape Terrain.
  • Исправлена проблема с очисткой 3D-текстур на Vulkan, приводившая к появлению артефактов при запекании освещения в Voxel Probe.
  • Исправлены визуальные артефакты при нехватке памяти графического процессора (Vulkan GAPI).
  • Оптимизация рендеринга графического интерфейса сделала его примерно в 2 раза быстрее.
  • Исправлены артефакты разрыва FSR в нижней части экрана.
  • Исправлена проблема с рендерингом FFP, приводившая к появлению визуальных артефактов на графических процессорах AMD и Intel.
  • Добавлены бикубическая фильтрация и коррекция sRGB для кубических карт, удаляющие визуальные артефакты в отражениях.

Прогресс по поддержке OpenXR

Мы продолжаем процесс интеграции OpenXR - в этом релизе добавили поддержку Hand Tracking (XR_EXT_hand_tracking). Кроме того, поддержка OpenXR теперь доступна для пользователей Linux. В настоящее время поддерживается версия OpenXR 1.1.

Поддержка OpenXR для отслеживания глаз, смешанной реальности, а также фовеального рендеринга находится в разработке и ожидается в последующих релизах.

Список поддерживаемых в настоящее время расширений включает:

XR_OCULUS_audio_device_guid
XR_FB_color_space
XR_FB_display_refresh_rate
XR_KHR_visibility_mask
XR_KHR_binding_modification
XR_EXT_dpad_binding
XR_EXT_local_floor
XR_EXT_palm_pose
XR_EXT_hand_tracking
XR_EXT_hand_interaction
XR_EXT_hand_joints_motion_range
XR_EXT_hand_tracking_data_source
XR_EXT_debug_utils

Апскейлеры в VR

Такие апскейлеры, как NVIDIA DLSS 3 (Deep Learning Super Sampling) и AMD FSR 2.2 (Fidelity FX Super Resolution), которые мы добавили в версии 2.18.1, играют важную роль, снижая нагрузку на рендеринг пикселей для более высоких разрешений, освобождая ресурсы и поддерживая приемлемую производительность.

В этом релизе они также доступны в VR, что обеспечивает заметный прирост производительности.

Обновления плагина SpiderVision

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

  • Добавлены функции отмены/повтора операций.
  • Улучшен множественный выбор в виджетах окна Projection Setup (настройки зоны смешивания, маски и деформации).
  • Добавлена возможность установить окно в качестве главного окна.
  • Добавлены подсказки для элементов пользовательского интерфейса.
  • В API добавлен отсутствующий тип окна Borderless.

Скоро закончится поддержка DirectX 11

Этот релиз является последним релизом с поддержкой DirectX 11. Начиная с версии 2.18, DirectX 12 рассматривается как основной API рендеринга в Windows. Мы уже прекратили поддержку OpenGL, и в UNIGINE 2.20 мы уберем устаревший рендерер DirectX 11 из движка, чтобы обеспечить более быстрый переход к новым функциям, таким как аппаратная трассировка лучей, текстуры без привязки и многое другое.

Другие улучшения движка

  • Исправлена проблема с применением Texture Streaming Density Multiplier для унаследованных материалов.
  • Исправлена проблема с Microprofile для DX12, приводившая к зависанию при выключении движка с отключенной опцией Fast Shutdown.
  • Расширенная информация в профилировщике для источников освещения теперь отображает количество источников, видимых во вьюпорте для каждого типа, а также отражения для них.
  • Исправлена проблема с копированием меша с запеченной картой освещения и отменой операции копирования через «Undo», приводившей к созданию новой карты освещения.
  • Исправлено поведение счетчика Total GPU для графических процессоров AMD.
  • Исправлен сбой при запекании карт освещения для больших мешей, содержащих несколько поверхностей (количество отскоков = 1).
  • Исправлены ошибки «Невозможно открыть файл .cache» («Can`t open .cache file») при открытии проекта, в котором нет предварительно сгенерированного шейдерного кэша.
  • Исправлена проблема с рендерингом теней от источников освещения Omni и Projected для мешей со статическим режимом освещения в случае, если в области просмотра есть меши с другим режимом освещения.
  • Исправлен сбой, связанный с SpatialTreeNode::getIntersection(), который иногда возникал при добавлении нод в мир.
  • Исправлена ошибка, в некоторых случаях приводившая к задержкам потоковой передачи данных на Vulkan.
  • Исправлена ошибка «Assertion failed!», связанная с многопоточным рендерингом теней, которая иногда приводила к сбою движка.
  • Добавлена функция обратного проецирования глубины в буфер отладки рендеринга.
  • Исправлена проблема с некорректным расчетом границ для объектов Extern в многопоточном режиме, приводившая к случайному переключению теней.
  • Добавлена возможность устанавливать текущую выбранную вкладку EngineWindowGroup с помощью метода setCurrentTab().
  • Добавлен гибкий модификатор для параметра Linear Damping объекта ObjectParticles (LinearDampingOverTimeModifier).
  • Исправлена проблема WindowManager, связанная с некорректным растяжением окон после их развертывания или восстановления из скрытого состояния.
  • Исправлена проблема, связанная с распределением текстур, которая в некоторых случаях приводила к ошибкам и сбоям при использовании текстового объекта с расширенным форматированием текста.
  • Исправлен сбой при передаче StructuredBuffer.
  • Исправлен режим Billboard объекта Gui.
  • Исправлена проблема с заменой анимаций в инструменте Tracker.
  • Исправлены сбои и другие проблемы, возникающие при динамическом монтировании и размонтировании дополнительных папок данных.
  • Исправлена ошибка «Использование необъявленного идентификатора»,(Use of undeclared identifier), возникавшая при включении опции Auxiliary для материала gui_base.
  • Исправлен сбой при запекании Environment Probe и теней от источников света при включенном профилировщике (DirectX 12).
  • Добавлена возможность отключить диалоговые сообщения Fatal и записывать ошибки в лог вместо этого (например, при запуске консольных инструментов, таких как RuntimesGenerator или BuildTool). Вы можете управлять этой функцией через API или с помощью консольной команды -dialog_fatal_enabled.
  • Исправлен сбой после удаления ноды, расположенной внутри Physical Trigger, и запуска события «Выход».
  • В профилировщике исправлены показания счетчика RAM Meshes Static с дополнительным отображением объема загруженной памяти в информации MeshRender (render_streaming_meshes_info).
  • Исправлена проблема с обновлением параметров материалов, созданных в редакторе материалов, и текстур при изменении состояний, что иногда приводило к сбою.
  • Добавлена возможность проигрывать анимацию с предопределенного времени начала до предопределенного времени окончания. Эта функция доступна через новые параметры "TimeFrom/TimeTo" ноды AnimationPlayback (класс AnimationPlayback через API).
  • Добавлены средние значения времени, рассчитанные для всех временных параметров Профилировщика.
  • Исправлена проблема с неправильным вращением Environment Probe при включенной проекции Box или Sphere и настройке Realtime Update.
  • Исправлена проблема с пересозданием буфера параметров материала при изменении состояний, которая иногда приводила к появлению визуальных артефактов и некорректной отрисовке некоторых характеристик материала.
  • Исправлена некорректная перезагрузка кэшированных нод, вызывающая проблемы с потоковой передачей после перемонтирования папок с данными.
  • Добавлена поддержка обратной связи по усилию для контроллеров руля, обеспечивающей тактильную обратную связь для пользователя, что позволяет создать большее чувство погружения (имитация повреждений при столкновении, «ощущение дороги») и повысить сложность вождения.
  • Различные улучшения пользовательского интерфейса, такие как правильное форматирование таблиц и перенос текста, исправление проблемы с тегом <br/>, правильное использование тега CDATA, позиционирование изображений, применение шкалы DPI к изображению и многое другое.
  • Исправлено некорректное позиционирование (сброс позиции в начало координат) Dynamic Mesh с назначенным на него телом Fracture при перезагрузке мира.
  • Исправлена проблема с событием 'Released' виджета (EventReleased), которое всегда возвращало 0 вместо маски, идентифицирующей отпущенные в данный момент кнопки мыши. Также была исправлена сигнатура события JoyPovMotion.
  • Добавлена возможность игнорировать декали при запекании глобального освещения (карт освещения и probe) с помощью новой опции «Cast Baked Global Illumination».
  • Исправлена проблема с методом Node.GetVariable(), который всегда возвращал переменную int с нулевым значением вместо фактической переменной в API C#.
  • Добавлена поддержка пользовательских текстур в сэмплах ImGui для C++ и C#.
  • Исправлена ошибка с записью неверных данных в буфер Information Lost для Skinned Mesh.
  • Исправлены некорректные проверки границ нулевого размера, которые иногда приводили к исчезновению значков нод во вьюпорте.
  • Исправлены проблемы с добавлением нод с Lifetime = Engine в мир после перезагрузки.
  • Исправлена проблема с доступом за пределы допустимого диапазона при обновлении материала, назначенного объекту Skinned Mesh с потерянным мешем, что иногда приводило к сбоям при удалении Skinned Mesh, а затем и материала, назначенного на него.
  • Исправлена проблема с некорректной потоковой передачей мешей с материалом mesh_base, назначенным при включенной опции Terrain Lerp.
  • Перезагрузка NodeReference стала более стабильной, что позволяет предотвратить сбои и непредвиденное поведение.
  • Исправлены проблемы, связанные с многопоточностью, из-за которых плоские отражения на воде и поверхностях исчезали.
  • Исправлен сбой при попытке включить любой режим вьюпорта Panorama (отладочные двоичные файлы).

UnigineEditor

Изменения API редактора

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

Класс ViewportManager был переработан с созданием нового класса ViewportWindow. Все связанные методы были перемещены из ViewportManager в ViewportWindow.

В общедоступный API UnigineEditor были добавлены два заголовочных файла:

  • UnigineObjectMode.h — предлагает удобный интерфейс для управления инструментами размещения UnigineEditor, доступными на панели инструментов при активации Object Mode — вы можете проверить это в своем коде с помощью метода ObjectMode::isEnabled().
  • UnigineShortcutManager.h - предлагает удобный интерфейс для создания и управления всеми сочетаниями клавиш (горячими клавишами и комбинациями), а также контекстами сочетаний клавиш, которые вы обычно видите в Windows -> Settings -> Hotkeys. Этот заголовок содержит следующие новые классы: ShortcutManager, ShortcutContext и Shortcut.

Более подробную информацию о новых классах можно найти в документации API UnigineEditor.

Предварительный просмотр анимации

Предварительный просмотр анимации теперь доступен в редакторе, как и предварительный просмотр других ресурсов, что упрощает проверку контента и выбор нужной анимации.

Раньше для просмотра анимации вам приходилось назначать ее объекту Skinned Mesh в сцене. Теперь вы можете просто выбрать ассет *.anim в Браузере ассетов и просмотреть его непосредственно на вкладке Parameters. Здесь вы можете увидеть иерархию костей, проверить поведение сочленений и оси, а также посмотреть все анимации, доступные для персонажа. Вы также можете применить анимацию к другому персонажу. Кроме того, вы можете предотвратить смещение меша, включить опцию Fix Root Bone in Origin.

Интеграция ImGui и пример плагина

Dear ImGui — это легковесная библиотека графического пользовательского интерфейса для C++, которая позволяет быстро и эффективно разрабатывать инструменты создания контента и визуализации/отладки. Многие наши клиенты ею пользуются и задают много вопросов, на которые мы отвечаем. Поэтому в этом релизе мы решили реализовать и предоставить пример интеграции, демонстрирующий наиболее часто используемые вещи и ответы на часто задаваемые вопросы по плагинам редактора на основе Dear ImGui.

Этот пример доступен в Add-On Store под названием ImGuiSamplesPlugin и охватывает несколько основных случаев, с которыми сталкиваются пользователи при создании собственных плагинов редактора.

Плагин создает собственное окно в UnigineEditor, в котором доступны три вкладки, каждая с отдельным примером:

  • Spline Editor — демонстрирует, как использовать систему Undo/Redo редактора через API, работать с переназначаемыми горячими клавишами (Windows -> Settings -> Hotkeys) и реализовывать пользовательскую визуализацию на примере редактирования сплайнов.
  • Editor (Immediate Mode) — демонстрирует, как работать с редактором и виджетами движка в режиме Immediate (в стиле ImGui) с использованием класса EditorImmediate. Программирование в этом режиме простое, но имеет ряд ограничений. Этот режим рекомендуется для прототипирования или простых плагинов. В центре сцены находятся 4 соединенные точки, которые образуют многоугольник, каждую из точек можно перемещать с помощью манипуляторов. Текущее положение каждой точки (X, Y, Z) обновляется каждый кадр в виджете в верхнем левом углу вьюпорта.

  • Components — демонстрирует, как работать с компонентами C++ прямо в редакторе: генерация и назначение компонентов C++ нодам в редакторе, что позволяет немедленно выполнять логику компонентов с возможностью настройки параметров компонентов прямо в редакторе!

Обновления редактора материалов

  • Добавлена возможность панорамирования рабочей области редактора материалов путем перетаскивании с нажатой правой кнопкой мыши.
  • Исправлен сбой при сохранении графа материала, содержащего ноду Function.
  • Исправлена проблема с переключением выбора нод графа при сохранении графа материала.
  • Alpha Test Accounting теперь работает и для материалов, созданных при помощи редактора материалов.
  • Исправлены ошибки консоли при добавлении ноды Screen Space Subsurface Scattering в граф.
  • Двойной щелчок в пустой области рабочего пространства графа отобразит меню создания ноды.
  • Добавлена новая нода Screen Coord Before Upscale для решения проблемы с неправильным позиционированием пост-эффектов на экране. Используйте эту ноду для fetch-выборки вместо Screen Coord.
  • Проблему с артефактами, вызванными изменением смещения/положения вершин в Vulkan (похожими на Z-fighting), теперь можно устранить, отключив опцию Vulkan Vertex Shader Optimizations в Compilation Settings.

  • При выборе входа или выхода портала пунктирная линия теперь будет показывать след к привязанным портам других нод портала.

  • Добавлены следующие новые ноды:
    Screen Coord Before Upscale
    Upscale Factor

Более подробную информацию об изменениях в графах материалов см. в Руководстве по миграции контента.

Другие улучшения UnigineEditor

Список улучшений редактора, делающих его более стабильным и удобным, включает в себя следующее:

  • В случае сбоя редактор автоматически сохранит файлы дампа в папке bin и уведомит вас, предложив открыть последний сохраненный файл дампа в браузере файлов (в настоящее время реализовано только для Windows). Дополнительный флаг -editor_dump_full_process_memory позволяет сделать дамп всей памяти процесса. Дампы записываются в циклическом режиме, чтобы избежать чрезмерного потребления дискового пространства (максимум 5 файлов дампа).
  • Исправлена проблема с импортом текстур из файлов FBX.
  • Исправлена проблема с обновлением состояния карт освещения, запеченных для источников освещения внутри NodeReference, приводившая к потере новых запеченных текстур при перезагрузке мира без запроса на их сохранение.
  • Нажатие горячей клавиши F (Фокус на выбранной ноде) при наведении курсора мыши на окно World Nodes установит фокус на последнюю выбранную ноду в иерархии.
  • Добавлена возможность копировать и вставлять параметры поверхности в несколько выбранных похожих мешей (имеющих одинаковое количество поверхностей) одновременно.
  • Исправлен сбой при открытии данных производительности Микропрофайлера в веб-браузере.
  • Исправлен сбой при отключении источника освещения World при включенном визуализаторе World Shadow Casters.
  • Исправлена проблема с некорректным размещением ноды в начале координат мира (нулевые координаты) при перетаскивании ассета ноды из браузера ассетов в любое место во вьюпорте редактора.
  • Исправлен сбой при удалении ноды через deleteLater() плагином Editor.
  • Исправлена проблема с некорректным выбором нод при выделении прямоугольником во вьюпорте.
  • Исправлена проблема со смещением теней, запеченных для источников освещения внутри NodeReference после перезагрузки сохраненного мира.
  • Параметры инструмента Project Build Tool теперь автоматически сохраняются при каждом их изменении.
  • Исправлена ошибка, из-за которой Project Build Tool не мог сгенерировать окончательную сборку проекта в консольном режиме на Linux.
  • Исправлена проблема с некорректной привязкой к сетке по всем осям при перемещении ноды только по одной оси в случае, если в качестве Coordinate System выбрано World.
  • Исправлен сбой при нажатии на миниатюры в Браузере ассетов, которые еще не загружены.
  • Исправлен сбой при быстром изменении выбора в Браузере ассетов с активно обновляемыми окнами параметров и иерархии материалов.
  • Исправлен сбой при удалении ассетов через диалоговое окно «Select Asset».
  • Исправлена проблема с восстановлением внутренних GUID-ов свойств компонентов C#, назначенных на ноды, приводившая к неработоспособным ссылкам на компоненты С# после запуска проекта через кнопку «Play» и перезагрузки мира.
  • Исправлена проблема с повторным клонированием дочерних нод.
  • Исправлена проблема с невозможностью заблокировать окно «Parameters» в случае, если в Браузере ассетов выбран компонент FBX-контейнера.
  • Исправлена проблема с растущим числом полигонов тела Rope при сохранении мира после запуска предварительного просмотра физики в редакторе.
  • Исправлены сбои при попытке преобразовать ноду WorldSplineGraph в файл *.mesh , а также при попытке назначить Static Mesh на WorldSplineGraph.
  • Отладочные материалы в режиме Texture Paint теперь применяются корректно к текстурам с разным количеством каналов.
  • Исправлен ряд проблем с созданием новых текстур в режиме Texture Paint, проблем с преобразованием текстур и неправильного определения формата текстуры в предварительном просмотре текстур из-за неподдерживаемых комбинаций канала/глубины (будут отображаться и использоваться только поддерживаемые параметры).
  • Исправлена проблема с изменением размера предварительного просмотра материала.

Обновления IG

  • Исправлена проблема с загрузкой состояния с погодным регионом и облаками через IG Host.
  • Исправлена проблема в CIGI с выбором другого типа при выборе несуществующего типа. Теперь это поведение можно контролировать с помощью функции Entity::setAutoTypeMatchEnabled(), которая включена для сущностей DIS и отключена для CIGI.
  • Исправлено неверное направление ветра для частиц дождя/снега на CPU (WeatherLayerPrecipitation).
  • Добавлен новый режим отладки IG::Manager::DEBUG_MODE_INTERPOLATION_INFO, который отображает параметры и состояния таймера интерполяции на экране. Отображение этих данных также можно включить консольной командой ig_debug_interpolation.
  • Исправлена проблема с ошибкой интерполяции при подключении дополнительного подчиненного устройства.
  • Добавлен метод IG::Manager::reloadGeodetics(), который принудительно обновляет геопривязку во время выполнения, что полезно для оперативного изменения проекции.
  • Исправлен сбой, связанный с обработкой обратных вызовов метеорологических данных в плагине IG Editor Plugin.
  • Исправлена проблема с неправильной генерацией Node ID для нод MeshSkinned в Syncker, которая в некоторых случаях приводила к сбоям.

Регистрация в SDK Browser

Регистрация новой учетной записи пользователя стала проще и теперь может быть выполнена прямо в SDK Browser (без посещения портала разработчиков).

Демо-проекты и сэмплы

Сэмпл Robot Arm

В этом сэмпле показано, как создать физический роботизированный манипулятор с кинематической цепью, включающей 6 звеньев (1 фиксированное и 5 подвижных), соединенных с помощью шарнирных сочленений (JointHinge). Каждое сочленение имеет двигатель, вращение которого контролируется парой клавиш. Конечный эффектор представляет собой магнитный захват, который позволяет поднимать, переносить и бросать предметы, окружающие манипулятор. Вы можете использовать этот пример в качестве шаблона для создания любого типа роботизированного манипулятора с требуемым числом степеней свободы для любого варианта использования и подключить систему управления вместо ввода с клавиатуры для управления манипулятором. Этот пример был добавлен в наборы сэмплов C++ Samples и C# Samples.

Кроме того, мы внесли некоторые изменения в эти наборы сэмплов:

C# Component Samples

  • Добавлена новая группа «Complex Solutions» и в нее перемещены сэмплы «Arcade Sample» и «Robot Arm».
  • Сэмпл «Character Controller» перенесен в группу «Cameras».

C++ Samples

  • Группа «Tracked Vehicle» переименована в «Complex Solutions» и теперь содержит сэмплы Non-physical Tracks, Physical Tracks и Robot Arm.
  • Группа «Network»: добавлены два новых сэмпла «Simple Http Response» и «Image Http Response», демонстрирующих соответствующие серверы; сэмпл «Image Http» переименован в «Image Http Request», а сэмпл «Simple Http» — в «Simple Http Request».

Обучающий курс UNIGINE на C++

Наш бесплатный обучающий онлайн-курс UNIGINE, который мы сначала сделали на C#, теперь доступен и для разработчиков на C++. Структура курса такая же, как и для C#, и охватывает как базовые аспекты, так и множество других продвинутых и очень интересных тем, включая анимацию и физику, освещение, создание материалов, добавление звуков и музыки, создание GUI, основы оптимизации, запись видео и многое другое.

После успешного завершения курса вы не только приобретете практический опыт, но и пополните свое портфолио четырьмя интересными проектами:

  • ArchViz: Создайте иммерсивную интерьерную сцену с интерактивными объектами.
  • FPS: Погрузитесь в мир шутеров от первого лица с простым, но увлекательным проектом.
  • Гонка: испытайте свою креативность, создав аркадную гоночную игру по пересеченной местности.
  • VR: Погрузитесь в мир виртуальной реальности с проектом, разработанным для VR-гарнитур.

Регистрация не требуется! Переходите по ссылке https://learn.unigine.com/ прямо сейчас и отправляйтесь в путешествие по миру обучения UNIGINE!

Документация

Добавлен набор новых ультракоротких обучающих видеороликов на английском, китайском и русском языках:

Благодарим вас за чтение. Следите за обновлениями - мы продолжаем работать над тем, чтобы сделать UNIGINE еще лучше!

- Ваша команда UNIGINE

Build: ()