Статья опубликована в рамках: LXXIV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 11 февраля 2019 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ОБЗОР ФРЕЙМВОРКОВ ДЛЯ РАЗРАБОТКИ 3D-ИГР ДЛЯ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ
Введение
В связи с новизной технологии VR существует относительно немного фреймворков для разработки 3D игр для VR. Это существенно замедляет процесс развития данного направления, которое, в свою очередь, может найти применение во многих областях нашей жизни, таких как спорт, образование, реклама, дизайн и др.
Целью данной статьи является проведение обзора существующих фреймворков для разработки 3D игр для виртуальной реальности.
Будут рассмотрены и проанализированы пять фреймворков, поддерживающих технологию VR.
Для достижения поставленной цели будут выявлены значимые критерии и составлена классификация, проведен сравнительный анализ достоинств и недостатков обозреваемых фреймворков, а также сделан вывод об их практической применимости.
Сравнение аналогов
Отбор аналогов производился исходя из наличия у фреймворка поддержки технологии VR.
unity - Один из наиболее используемых фреймворк для создания 2D- и 3D-игр. Прост в изучении и применении. Существует множество дополнений и расширений, среди них есть как специализированные серверные решения для Unity, так и средства для разработки пользовательского интерфейса (NGUI), конструкторы, предназначенные для создания игр определенных жанров.
unreal engine - игровой фреймворк, разрабатываемый и поддерживаемый компанией Epic Games Фреймворк с поддержкой хорошей графики на ПК и консолях. Прост в применении. Поддерживает разработку при помощи BluePrints [5].
cryengine - разработан компанией Crytek. CryEngine 3 ориентирован на создание кросс-платформенных игр, поддерживает OpenGL и DirectX 8/9, Xbox, PS2, GameCube, а также Xbox 360. В нем изначально присутствует поддержка глобальных мультиплеерных игр. Есть встроенная система искусственного интеллекта.
lumberyard - фреймворк от Amazon на основе CryEngine для разработки высокобюджетных игр. Встроенная поддержка сервисов от Amazon [2]. Фреймворк без отчислений и лицензий по количеству рабочих мест, полностью интегрированное с Twitch и AWS.
Frostbite Engine - игровой фреймворк, разработанный компанией EA Digital Illusions CE. Применяется как в собственных разработках, так и проектах других филиалов Electronic Arts. Поддерживается динамическое освещение и затенение с функцией HBAO, процедурный шейдинг, различные пост-эффекты (например, HDR и depth of field).
Критерии сравнения:
Наличие открытой версии фреймворка.
Низкий порог вхождения - сложность адаптации к данному фреймворку.
Закрытый исходный код - наличие как открытого, так и закрытого кода имеют свои плюсы и минусы. Будем считать закрытый код приоритетным, так как это позволяет избежать плагиата.
Таблица 1.
Сравнение фреймворков
|
unity |
unreal engine |
cryengine |
lumberyard |
frostbite engine |
Наличие открытой версии |
+ |
+ |
+ |
+ |
- |
Низкий порог вхождения |
+ |
+ |
- |
- |
- |
Закрытый исходный код |
+ |
+ |
+ |
- |
+ |
Выбор фреймворков для дальнейшего анализа
- Решение должно представлять собой открытый фреймворк.
- Он должен обладать низким порогом вхождения.
- Обладать закрытым кодом.
- Поддерживать DX11, OpenGL Core, FPS, ray tracing, HDR, для обеспечения хорошей графики.
Основываясь на анализе аналогов (табл.1), было выявлено три фреймворка для разработки VR игр, оптимальные по соотношению доступности и качества: unity, unreal engine и cryengine.
На данном этапе анализа можно выделить unity и unreal engine, так как они показали оптимальные результаты по всем критериям.
В результате анализа выбранных фреймворков можно заметить, что большинство компаний предоставляют бесплатные версии продукта, но с условием отчислений, если продажи проекта выше заданной планки. У разных компаний разный порог.
Большинство фреймворков имеют закрытый код, что позволяет избежать плагиата. Однако, низким порогом вхождения, из рассмотренных, обладают лишь два фреймворка: unity и unreal engine.
Подводя черту, можно выявить три фреймворка для более глубокого анализа: unity, unreal engine и cryengine. Хотя в последнем порог вхождения выше, фреймворк заслуживает внимания.
Сравнение выбранных фреймворков
Итак, начнем с количественного сравнения выбранных фреймворков.
Согласно статистике [6] (рис.1), проведенной на основе опроса CTO (Chief technology officer), инди-разработчиков и других экспертов игровой индустрии, Unity пользуется значительно большей популярностью, по сравнению с другими конкурентами.
Рисунок 1. Статистика использования фреймворков
Согласно данным на официальном сайте Unity [4], на базе Unity создано 60 % всего AR/VR контента.
Статистика [6] (рис.1) составлена без учета поддержки технологии VR, но, можно заметить, что UE и CryEngine так же стоят достаточно высоко.
Далее рассмотрим поддерживаемые платформы.
По данным с официальных сайтов [1] [3] [4]
- Unity поддерживает интеграцию 25 платформ, в том числе 9 для VR/AR
- UE - 16 платформ
- CryEngine - только четыре (Oculus Rift, Windows PC, Xbox One, Playstation 4)
Приведенные данные отчасти объясняют столь высокую популярность Unity среди разработчиков.
Рассмотрим подробнее работу с визуальной составляющей.
У Unity может быть свой собственный шейдер, позволяющий создавать графику мультяшную или более реалистичную, но возможности улучшения графики в Unity ограничены. Разработчикам может понадобиться использовать сторонние 3D-приложения, поскольку Unity не имеет реальных функций моделирования, за исключением нескольких старых фигур. В плюсах можно отметить более 15 000 бесплатных и платных 3D-моделей, расширений редакторов, скриптов, шейдеров, материалов, аудио и анимации.
Unreal Engine значительно превосходит предыдущий фреймворк по графическими возможностями. Он включает расширенное динамическое освещение и каскадные визуальные эффекты. Благодаря последней функции разработчики могут контролировать все виды свойств частиц, включая размер, цвет, плотность, спад и упругость. Еще одна приятная функция UE - встроенный Blueprint Visual Scripting, который предоставляет дизайнерам набор функций и инструментов, обычно доступных только программистам. В отличие от магазина Unity, Blueprint Visual Scripting является предоставляет эти возможности бесплатно.
Графические возможности CryEngine превосходят возможности Unity и не уступают UE. Благодаря освещению в режиме реального времени Global Illumination и Physical Based Rendering (PBR), который имитирует взаимодействие между светом и материалами с использованием физики реального мира. CryEngine обладает самым внушительным списком встроенных технологий для работы с визуальной частью [7].
Таблица 2
Системные требования
|
Unity
|
Unreal Engin
|
CryEngin
|
ОС |
Windows 7 SP1+, 8, 10, только 64-разрядные версии; Mac OS X 10.11 |
Windows 7 64-bit или Mac OS X 10.9.2 |
Windows 7, 8.1, 10 (только 64-разрядная версия) |
Процессор |
поддержка набора инструкций SSE2 |
Четырехядерный процессор Intel или AMD, 2.5 GHz |
Intel Dual-Core с минимальной частотой 2 ГГц или AMD Dual-Core с минимальной частотой 2 ГГц |
Память |
|
8 Гб ОЗУ |
4 ГБ ОЗУ |
Графика |
видеокарта с поддержкой DX10 (версия шейдеров 4.0) |
NVIDIA GeForce 470 GTX или AMD Radeon 6870 HD |
серии NVIDIA GeForce 450 или AMD Radeon HD 5750 |
Жесткий диск |
|
|
8 ГБ свободного места |
Звуковая карта |
|
|
совместимая с DirectX звуковая карта с последними драйверами |
Все требования, представленные в таблице 2, являются рекомендуемыми. Можно заметить, что Unity обладает минимальными требованиями.
Заключение
В данной статье были выявлены следующие значимые критерии сравнения:
- Цена (наличие открытой версии)
- Порог вхождения
- Исходный код (наличие закрытого исходного кода)
- Количественный критерий (процентное соотношение разработчиков, использующих данный фреймворк)
- Поддерживаемые платформы
- Работа с графикой
- Системные требования
Проанализировав пять фреймворков по первым трем критериям, было решено продолжить анализ unity, unreal engine, cryengine, так как frostbite engine и lumberyard имеют высокий порог вхождения, frostbite engine не имеет открытой версии, lumberyard не обладает закрытым исходным кодом.
Отметим, что все фреймворки на официальных сайтах содержат подробную документацию, уроки, а также сообщества, где разработчики делятся опытом и могут обсудить возникающие вопросы. Так как Unity, как отмечено ранее, обладает самой большой аудиторией, сообщество включает большое количество разработчиков готовых помочь с появившимся вопросом. Несмотря на графические возможности CryEngine, это сложный фреймворк с узкой специализацией на ПК и консолях, таких как PlayStation 4 и Xbox One. Unreal Engine, в свою очередь, обладает столь же хорошими графическими возможностями, однако, как и CryEngine, уступает Unity как в количестве поддерживаемых платформ и обширности аудитории, так и простоте освоения. По системным требованиям (табл.2) самым лояльным оказался Unity, тогда как CryEngin требует большой мощности, однако, представленные требования к системам для всех фреймворков являются рекомендуемыми.
На основе обзора и ознакомившись с рецензиями разработчиков, можно сделать вывод, что Unity является лучшим фреймворком для начинающего разработчика игр, тогда как после его освоения многие переходят на более сложные фреймворки Unreal Engine и CryEngine. Выявлено, что для разработки собственной 3D игры для VR, как начинающему разработчику, оптимальным выбором является Unity.
Результаты обзора будут использованы для создания 3D игры для VR при использовании Unity.
Список литературы:
- Веб-сайт "Unreal Engine". URL: https://www.unrealengine.com/en-US/features
- Веб-сайт "Limberyard". URL: https://aws.amazon.com/ru/lumberyard/
- Веб-сайт "CryEngine". URL: https://www.cryengine.com/features
- Веб-сайт "Unity". URL: https://unity3d.com/ru/public-relations
- Веб-сайт "обзор на Unreal Engine". URL: https://hub.packtpub.com/overview-unreal-engine/
- Веб-сайт статистика. URL: https://www.statista.com/statistics/321059/game-engines-used-by-video-game-developers-uk/
- Веб-сайт "CryEngine". URL: https://www.cryengine.com/features/visuals#features/voxel-based-global-illumination-svogi
дипломов
Оставить комментарий