Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: LXXIV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 11 февраля 2019 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Разбитнева А.М. ОБЗОР ФРЕЙМВОРКОВ ДЛЯ РАЗРАБОТКИ 3D-ИГР ДЛЯ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LXXIV междунар. студ. науч.-практ. конф. № 2(73). URL: https://sibac.info/archive/technic/2(73).pdf (дата обращения: 31.10.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

ОБЗОР ФРЕЙМВОРКОВ ДЛЯ РАЗРАБОТКИ 3D-ИГР ДЛЯ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ

Разбитнева Анна Михайловна

студент 4 курса, факультет КТИ СПбГЭУ «ЛЭТИ»,

РФ, г. Санкт-Петербург

Введение

В связи с новизной технологии 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.

 

Список литературы:

  1. Веб-сайт "Unreal Engine". URL: https://www.unrealengine.com/en-US/features
  2. Веб-сайт "Limberyard". URL: https://aws.amazon.com/ru/lumberyard/
  3. Веб-сайт "CryEngine". URL: https://www.cryengine.com/features
  4. Веб-сайт "Unity". URL: https://unity3d.com/ru/public-relations
  5. Веб-сайт "обзор на Unreal Engine". URL: https://hub.packtpub.com/overview-unreal-engine/
  6. Веб-сайт статистика. URL: https://www.statista.com/statistics/321059/game-engines-used-by-video-game-developers-uk/
  7. Веб-сайт "CryEngine". URL: https://www.cryengine.com/features/visuals#features/voxel-based-global-illumination-svogi
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.