Фреймворк
- Поддерживаемые операционные системы (как для компонентов среды выполнения, так и для инструментов):
- Windows 10 / 11 (64 бит)
- Linux (64 бит)
- Адаптивная поддержка систем с многоядерной архитектурой
- Система управления ресурсами
- Кроссплатформенная файловая система с поддержкой нескольких точек монтирования
- Расширяемые структуры данных на базе XML
- Минимальная зависимость от сторонних библиотек
- Система мониторинга аппаратного обеспечения
- Оптимизированная математическая библиотека
Управление мирами
- Повышенная точность координат (64 бита на координату)
- Асинхронная потоковая передача данных
- Возможность настройки поиска пересечений:
- Режимы: луч, сфера, куб
- Пересечение геометрических форм внутри кадра
- Оптимизированная производительность
- Полнофункциональный граф сцены
- Оптимизированная система кластеров объектов
- Эффективная система LOD-ов (уровней детализации):
- Разные режимы перехода между уровнями
- Настройка точки переключения уровней
- Оптимизированные импосторы на основе билбордов для объектов на большом расстоянии
- Система настраиваемых битовых масок с разграничением по подсистемам платформы: (окно просмотра, тени, пересечения, коллизии, материалы, отражения, преграждение звука, физические свойства, исключения, поля, навигация, препятствия)
- Шаблонные объекты (NodeReference) с поддержкой вложенности
- Система файлов с готовыми настройками (настройки для рендеринга, физики, звука)
- Процедурное размещение объектов
Графика
- Поддержка графических API:
- DirectX 12
- DirectX 11
- Vulkan
- OpenGL 4.5
- Современный подход к процессу визуализации:
- Полностью отложенный этап с кластерными оптимизациями
- Прямой рендеринг прозрачных объектов
- Возможность настройки процесса визуализации:
- Настраиваемые проходы отрисовки
- Вспомогательный буфер
- Поддержка скриптов в материалах
- Пользовательские пост-эффекты и материалы
- Система шейдинга:
- Физически корректный рендеринг материалов (PBR) с поддержкой двух техник: Specular и Metalness
- Соблюдение закона сохранения энергии
- Собственная модель диффузного BRDF (двулучевая функция отражательной способности) с поддержкой многократного рассеяния и эффекта Зелигера (оппозиционного эффекта)
- Диффузный BRDF (двулучевая функция отражательной способности), разработанный Берли
- Использование GGX BRDF: реалистичные блики от источников света
- Эффект ворсистой поверхности для создания тканей (модифицированный BRDF)
- Поверхности, пропускающие свет (модифицированный BRDF)
- Подповерхностное рассеивание в пределах экранного пространства
- Преломление света при прохождении сквозь гладкие и шероховатые поверхности прозрачных материалов
- Хроматическая аберрация для прозрачных материалов
- Система освещения:
- Динамическое освещение от различных типов источников (глобальный, ненаправленный, направленный)
- Модели светильников (сферические, прямоугольные)
- Технология расчета глобального освещения в экранном пространстве на основе трассировки лучей (SSRTGI)
- Запеченное глобальное освещение на основе вокселей:
- UV развертка не требуется
- Высокая производительность
- Работает со всеми типами объектов и шейдеров
- Преграждение окружающего света в экранном пространстве (SSAO)
- Волюметрическое освещение
- Карты освещения с автоматической UV-разверткой
- Солнечные лучи в экранном пространстве
- Тени в экранном пространстве
- Чересстрочный режим просчета освещения
- Система отражений:
- Отражения в экранном пространстве (SSR)
- Сферическая и кубическая проекции для запеченных отражений
- Динамический и статический режимы для запеченных отражений
- Отражения на основе вокселей
- Динамические планарные отражения
- Френелевское отражение, отражение на шероховатых поверхностях
- Несколько типов теней:
- Плавные переходы между каскадами теней по алгоритму (PSSM)
- Корректная полутень в зависимости от радиуса источника освещения
- Расчет теней методом трассировки лучей света в экранном пространстве
- Кэшированные тени
- Система материалов с обширным функционалом:
- Иерархия материалов с наследованием параметров и перегрузками
- Визуальный редактор графа материалов (на базе нод, без программирования шейдеров)
- Редактор текстур (редактирование текстур и масок при помощи кистей прямо во вьюпорте)
- Преднастроенный базовый материал ("суперматериал") с богатым набором функций, настраиваемых через простой UI:
- Фоновое затенение
- Карта бликов
- Карта шероховатости
- Карта просвечиваемости
- Детали
- Карта эмиссии
- Карта освещения
- Параллактическое затенение
- Цвета вершин
- Набор опций для настройки растительности
- Режим проволоки
- Трипланарное текстурирование в локальной и глобальной системах координат
- Плавный переход между объектом и ландшафтом
- Разные режимы прозрачности
- Настройка экранных эффектов для каждого материала
- и многое другое
- Поддержка пользовательских абстрактных материалов
- Разные варианты сглаживания (антиалиасинга):
- Временное сглаживание (Temporal Anti-Aliasing)
- Метод сглаживания FXAA (Fast Approximate AA)
- Субпиксельное восстанавливаемое сглаживание (Subpixel Reconstruction Anti-Aliasing)
- Суперсэмплинг
- Пост-эффекты:
- Моделирование глобального освещения на основе трассировки лучей
- Процедурное снятие фасок
- Фильтр резкости
- Эффект зернистости
- Расчет фонового затенения (AO) на основе трассировки лучей
- Процедурный эффект загрязнений
- Цветовая коррекция по таблицам LUT
- Расчет наклонных нормалей (Bent Normals) на основе трассировки лучей
- Оптические эффекты:
- Физически корректные параметры
- Автоэкспозиция
- Автоматический баланс белого
- Различные алгоритмы тональной компрессии (Filmic, ACES, Reinhard и т. д.)
- Тональная компрессия
- Эффект размытия в движении
- Эффект контурного рассеянного свечения
- Блики объектива с возможностью выбора текстуры
- Глубина резкости
- Хроматические аберрации
- Виньетирование
- Декали с отложенной отрисовкой:
- Гибкие настройки смешивания при наложении декалей
- Поддержка проекции меша
- Сортировка декалей по очередности отрисовки
- Выборочное проецирование декалей с использованием механизма битовых масок
- Выбор режима проекции для окна просмотра:
- Перспективная
- Ортографическая
- Криволинейная панорама 180 / 360
- Плоская панорама 180 / 360
- Сферическая панорама (Fisheye) с регулируемым углом обзора (ортографическая, стереографическая, эквидистантная, равновесная)
Ландшафт
- Собственная базовая технология:
- Возможность работы с объемами данных до нескольких петабайт
- Оптимальный режим использования VRAM (по сравнению с мегатекстурами)
- Умное кэширование деталей
- Оптимизация под многоядерные системы
- Масштабность:
- Сотни километров
- Поддержка биноклей/телескопов (увеличение до 20 раз / угол обзора до 1 градуса)
- Плавные бесшовные переходы
- Невероятный уровень детализации:
- Разрешение входных данных до 1 см/пиксель
- Сверхвысокая детализация (менее 1 мм на пиксель)
- Адаптивная аппаратная тесселяция
- Возможность назначения до 1024 материалов деталей ландшафта
- Деформация геометрии по картам смещения с высокой степенью детализации
- Поддержка геоморфинга
- 20 многоцелевых масок под разные задачи (детализация, трава, деревья, физика, классификация ландшафта и т. д.)
- Динамический стриминг:
- Асинхронная подгрузка данных
- Полный контроль с тонкой настройкой параметров
- Адаптивные алгоритмы получения данных из памяти (в зависимости от видимости, настроек камеры и т.п.)
- Принцип работы с ландшафтом, основанный на использовании системы слоев:
- Различные виды плавных переходов между слоями
- Неразрушающая модификация
- Смешивание слоев с разной плотностью данных (участки с повышенной детализацией)
- Неограниченный размер слоя
- Неограниченное количество слоев
- Хранение слоев в отдельных файлах (подходит для командной работы с использованием систем контроля версий)
- Поддержка модификации ландшафта в процессе работы приложения
- Одновременная работа с ручными правками и использованием процедурно генерируемых данных
- Возможность вырезать фрагменты поверхности ландшафта:
- Произвольная форма фрагментов
- Бесшовный переход между ландшафтом и произвольным геометрическим объектом для создания пещер и тоннелей
- Детализация с точностью до пикселя
- Замещение геометрии ландшафта произвольным геометрическим объектом (подходит для копания)
- Проверка на пересечение:
- Асинхронный режим
- Принудительный режим
- Обнаружение коллизий с адаптивной оптимизацией в зависимости от размера объекта
- API для модификации ландшафта в процессе работы приложения:
- Полный контроль над изменением высот, альбедо, масок, а также смешиванием слоев
- Возможность выбора производить операции на стороне процессора или на стороне видеокарты
- Асинхронное обновление данных
- Поддержка отмены действий
- Встроенный импорт тайлсетов
Система растительности
- Анимированная растительность (глобальный ветер, воздействие локальных вихрей и др.)
- Система травы
- Оптимизированная система клаттеров
Модель атмосферы
- Объемные трехмерные облака
- Многослойная облачность
- Все существующие виды облаков: высококучевые, высокослоистые, перисто-кучевые, перисто-слоистые, перистые, кучево-дождевые, кучевые, нимбостратусные, слоисто-кучевые, слоистые
- Тени от облаков
- Реалистичная визуализация атмосферы с рассеиванием света
- Солнечные лучи и объемное освещение
- Региональные метеоусловия
- Погодные эффекты, включая воздействие ветра на объекты, дождь, туман, молнии и снегопад
- Динамическая смена дня и ночи
- Ночное небо с луной и звездами (на основе карты их реального расположения)
Система воды
- Объемные геометрические волны на основе быстрой реализации модели Герстнера
- Поддержка высоты волн по шкале Бофорта (от 0 до 12 баллов) с плавным переходом между состояниями
- Процедурная генерация пены и барашков
- Симуляция береговой линии
- Кильватерные волны от судна (носовая, кормовая)
- Практически полное отсутствие тайлинга на поверхности как на близком, так и на дальнем расстоянии
- Бесшовный переход из надводного пространства в подводное
- Подповерхностное рассеивание света
- Удаление воды из локальных объемов (корпуса судов)
- Локальная симуляция физики
- Проекция декалей на поверхность воды
- Глобальная вода и локальные водоемы
- Возможность создания отдельных волн и групп волн (до 256 волн, от огромных до самых маленьких) и управления ими
- Быстрое определение пересечений и получение данных об уровне воды в любой точке в любой момент
- Доступ к информации о форме волн на стороне процессора в процессе работы приложения
- Гибкие настройки, позволяющие подобрать оптимальное качество
Система частиц
- Гибкие настройки симуляции при помощи кривых
- Физическое взаимодействие с объектами
- Воздействие света и тени на частицы
- Проецирование частиц в декали
- Анимация на основе атласа текстур
- Плавное взаимодействие
- Воздействие объемных сил (притяжение/отталкивание, шум)
Симуляция физики
- Непрерывное и дискретное обнаружение столкновений
- Проверка пересечений при помощи луча (рейкастинг)
- Обширный набор геометрических примитивов (куб, сфера, капсула, цилиндр, выпуклая оболочка)
- Симуляция физики твёрдого тела
- Различные сочленения, приводы и пружины
- Динамическое разрушение объектов
- Физика транспортных средств
- Физика систем частиц
- Физика ткани
- Физика веревок
- Поддержка Ragdoll-физики
- Силовые поля
- Плавучесть и двустороннее взаимодействие с водой
- Возможность обращать процессы во времени
- Поддержка многопоточных физических вычислений
Системы искусственного интеллекта
- Поиск пути (навигационные области, препятствия)
- Пространственные триггеры
- Вспомогательный буфер для особой маркировки (классы объектов и т. д.)
- Логическая система свойств, назначаемых поверхностям
API
- Полный контроль функционала платформы для любого из перечисленных языков:
- C++ (до стандарта C++14: MS VS 2015 / 2017 / 2019, gcc 6.3+)
- C# (.NET 6+)
- UnigineScript
- Свыше 12 000 описанных методов для каждого из указанных языков
- Поддерживаемые языки программирования шейдеров:
- HLSL
- GLSL
- UUSL
- Расширяемая архитектура с помощью C++ / C# плагинов
- Компонентные системы для языков C# и C++
Встроенные объекты
- Различные источники освещения (глобальные, ненаправленные, направленные, запеченные, воксельные)
- Статическая, анимированная и динамически изменяемая геометрия
- Небо
- Вода (глобальная, локальная)
- Объект для создания ландшафта Landscape Terrain
- Трава
- Системы частиц
- Billboards (плоское изображение, ориентированное на камеру)
- Физические явления (воздействие ветра, силовые поля, симуляция воды, триггеры)
- Декали (с перспективной или ортографической проекцией, а также проекции геометрии и систем частиц)
- Система кластеров для ускорения работы с большим количеством идентичных объектов
- Система клаттеров
- Волюметрики - объемные объекты различных форм (прямоугольной, сферической, конической)
- Различные поля (анимация, вырезание объема, локальная модификация поверхности воды, локальная погода, береговая линия)
- Встроенные камеры с управлением (контроллеры персонажей от первого лица, от третьего лица)
- Трехмерный текст
- Поддержка различных источников звука и зон реверберации
- Оптимизация на основе динамического включения/отключения объектов по дистанции и отсечения объектов по перекрытию (окклюдеры)
- Поддержка произвольных навигационных областей и препятствий
- Пути перемещения и вращения объекта
- Сплайновый граф (инструмент для создания дорог и веревок)
- Логические переключатели
- Графический интерфейс пользователя
Графический интерфейс пользователя
- Встроенный интерфейс UnigineUI
Аудиосистема
- Поддержка неограниченного числа виртуальных объёмных источников звука
- Динамическая подгрузка звуковых файлов
- Поддержка модели HRTF (моделирование восприятия звука человеком)
- Эффект Доплера
- Поддержка преграждения звука
- Различные типы затухания звуковых волн
- Поддержка множественных зон реверберации
- Поддержка многофункциональной кросс-платформенной аудиобиблиотеки FMOD (адаптивный звук, декодирование и микширование в реальном времени)
Устройства ввода
- Стандартные клавиатура и мышь
- Различные геймпады и джойстики
- Мультисенсорные экраны
- Системы захвата движения:
- Kinect
- LeapMotion
- Kinect
- Трекеры Vive VR
Вывод изображения
- Поддержка профессионального 3D стерео:
- Стереопара
- Режим чересстрочной развертки
- Анаглиф (красно-синий)
- Встроенная поддержка VR-гарнитур:
- Oculus Rift / Rift S / Quest / Quest 2 (с кабелем Oculus Link)
- HTC Vive / Vive Pro / Focus / Cosmos
- совместимые с Windows Mixed Reality (WMR)
- совместимые с OpenVR
Сеть
- Интеграция со Steam
- Низкоуровневый доступ к сетевым сокетам
Инструменты для оптимизации проекта
- Профайлер для анализа производительности:
- по всем подсистемам платформы
- по настраиваемым маркерам
- подробный анализ кадра
- как на стороне процессора, так и на стороне видеокарты
- Профилирование потребления памяти (RAM и VRAM)
- Отладка динамической подгрузки данных
- Текстурный профайлер
- Система визуализации (информация по нодам, физике, звукам и пр.) в любом окне просмотра
- Режимы отладки для модуля рендеринга
Редактор сцен
- Визуальный редактор с отображением конечного результата (WYSIWYG)
- Тёмная тема пользовательского интерфейса по умолчанию
- Общепринятая навигация с настраиваемым расположением окон
- Система управления проектными файлами
- Безопасное перемещение и изменение имен проектных файлов (работа с файлами по идентификатору GUID)
- Отображение зависимостей файлов проекта
- Подхватывание изменений во внешних файлах на лету
- Настройки импорта для каждого проектного файла
- Возможность добавления пользовательских типов файлов
- Поддержка нескольких точек монтирования (контент проекта может храниться в разных местах)
- Эффективные инструменты для создания мира:
- Каждый разработчик может работать с отдельным слоем
- Инструмент быстрой замены объектов
- Легкость повтора операции клонирования и трансформации
- Инструмент для расстановки объектов, работающий по принципу кисти
- Разные варианты выравнивания объектов:
- активный (по нажатию клавиши) и пассивный (всегда включен) режимы
- по глобальной сетке
- по локальной сетке
- по ограничивающему контуру
- опустить на поверхность земли
- выравнивание с другими поверхностями
- Randomizer (инструмент для быстрого размещения множества объектов)
- Вложенные шаблонные объекты
- Операции при выборе нескольких объектов:
- редактирование параметров
- математические операции с параметрами
- Умное копирование/вставка параметров одного объекта в другой
- Интеграция компонентной системы:
- Создание, редактирование и назначение C#-компонентов объектам
- Автогенерация пользовательского интерфейса для параметров
- Поддержка совместной работы:
- Слои проекта
- Форматы данных, которые работают с системами контроля версий
- Плагин интеграции для Subversion (SVN)
- Управление иерархией сцены:
- Отображение перечня объектов сцены в виде иерархии или списка
- Простота переназначения родительского элемента
- Быстрый поиск
- Редакторы материалов/свойств/компонентов:
- Отображение иерархии
- Быстрый поиск
- Простота переназначения родительского элемента
- Единообразное окно настроек с поддержкой пресетов
- Гибкий пользовательский интерфейс:
- Поддержка нескольких окон просмотра
- Контекстные меню для быстрого доступа к опциям
- Возможность перенастройки расположения окон
- Инструмент Tracker (инструмент для создания анимаций по временной шкале)
- Редактор сплайновых графов (инструмент для создания дорог и веревок)
- Impostor Creator (инструмент для генерации изображений, которые используются для замещения объектов на большом удалении от камеры)
- Инструменты для обработки изображений
- Cleaner (удаление неиспользуемых проектных файлов)
- Build tool (сборка проекта на основе графа зависимости проектных файлов и заданного списка файлов)
- Video grabber (инструмент для создания высококачественных снимков и видеороликов)
- Встроенная консоль
- Система плагинов редактора на C++ для создания пользовательских инструментов на основе функционала UNIGINE Editor
Поддерживаемые форматы файлов
- 3D-модели: FBX, OBJ, COLLADA (DAE), PLY, 3DS, glTF/GLB
- Изображения: DDS, JPEG (JPG, JFIF, GFI, JIF, JPE), TGA, PNG, PSD, PPM, TIFF, EXR, RGB, SGI, HDR
- Видеофайлы: Theora (OGV)
- Аудиофайлы: Vorbis (OGG, OGA), WAV, MP3
- Шрифты: TrueType (TTF)
- Текст: Plain Text, XML, JSON
Примеры использования
- Примеры использования кода для языков C++, C# и UnigineScript
- Библиотека визуальных эффектов
- Библиотека растительности
- Демонстрационные проекты
- Примеры различных типов проектов
Документация
- Справочник API для C++, C# и UnigineScript (свыше 10 000 функций для каждого языка)
- Фрагменты кода для типовых задач
- Руководства по использованию различных инструментов
- Документация на сайте и в формате CHM для использования в режиме оффлайн
- Обучающие уроки (включая видео-уроки)
- Отображение в IDE документации API для C#/C++
Системные требования
- Минимальные:
- ОС: Windows 10/11 или Linux
- Для разработки: 64-битная система
- Для запуска приложения: 64-битная система
- Процессор: 4-ядерный с поддержкой SSE4.2
- ОЗУ: 8 Гб
- Видеокарта: Совместимая с DirectX 11 / OpenGL 4.5
- NVIDIA GeForce GTX 9xx series (2014)
- AMD Radeon RX 400 series (2016)
- Intel Gen10 series (limited) (2018)
- VRAM: 4 Гб
- ОС: Windows 10/11 или Linux
- Рекомендованные:
- ОС: Windows 10/11 или Linux
- Для разработки: 64-битная система
- Для запуска приложения: 64-битная система
- Процессор: 6 ядер и более
- ОЗУ: 32 Гб
- Видеокарта:
- NVIDIA GeForce RTX 2070 и более производительные
- AMD Radeon RX 5700 и более производительные
- VRAM: 8 Гб и более
- ОС: Windows 10/11 или Linux
Вступи в сообщество творцов!
Платформа UNIGINE используется разработчиками со всех континентов (за исключением Антарктиды). Присоединяйся!
С 2005 г. Платформа UNIGINE преимущественно использовалась в промышленном секторе (симуляторы, BIM, САПР, цифровые двойники, GIS, системы "умный город"). Более подробная информация в описании UNIGINE 2 Sim.