Аннотация. В данной статье был проведен сравнительный анализ визуализаторов, которые поддерживают разработку приложений виртуальной реальности для платформы Android и протестирована их производительность.
Ключевые слова: визуализатор, виртуальная реальность, android, unity, unreal engine.
Технічні науки
УДК 004.853
Куцаченко Никита Геннадиевич
студент
Национальный технический университет Украины
«Киевский политехнический институт им. Игоря Сикорского»
Куцаченко Нікіта Геннадійович
студент
Національний технічний університет України
«Київський політехнічний інститут ім. Ігоря Сікорського»
Kutsachenko Nikita
student
National technical university of Ukraine
«Igor Sikorsky Kyiv Polytechnic Institute»
СРАВНИТЕЛЬНЫЙ АНАЛИЗ ВИЗУАЛИЗАТОРОВ ДЛЯ РЕАЛИЗАЦИИ ПРОЕКТОВ С ПОДДЕРЖКОЙ ВИРТУАЛЬНОЙ РЕАЛЬНОСТИ НА ПЛАТФОРМЕ ANDROID
ПОРІВНЯЛЬНИЙ АНАЛІЗ ВІЗУАЛІЗАТОРІВ ДЛЯ РЕАЛІЗАЦІЇ ПРОЕКТІВ З ПІДТРИМКОЮ ВІРТУАЛЬНОЇ РЕАЛЬНОСТІ НА ПЛАТФОРМІ ANDROID
COMPARATIVE ANALYSIS OF VISUALIZERS FOR PROJECT WITH SUPPORT OF VIRTUAL REALITY IMPLEMENTATION ON THE ANDROID PLATFORM
Аннотация. В данной статье был проведен сравнительный анализ визуализаторов, которые поддерживают разработку приложений виртуальной реальности для платформы Android и протестирована их производительность.
Ключевые слова: визуализатор, виртуальная реальность, android, unity, unreal engine.
Summary. In this article, a comparative analysis of visualizers that support the development of virtual reality applications for the Android platform was conducted and their performance was tested.
Key words: visualizer, virtual reality, android, unity, unreal engine.
Виртуальная реальность - одна из наиболее стремительно развивающихся технологий нашего времени. Это интерактивное трехмерное пространство, созданное с помощью мультимедиа технологии, объединяющей в себе такие формы кодирования информации: вербальная, иконографическая, фонографическая. Эта технология дает возможность моделировать объекты и процессы реальной среды и помещать пользователя в условия и события, созданные информационной системой. В последнее время виртуальная реальность все больше распространяется в сфере потребительской электроники, а также в обрабатывающей промышленности, здравоохранении, образовании и т.д. Помимо прочего, виртуальную реальность используют для обучения пилотов, машинистов и спасателей.
На сегодняшний день мобильная VR — это самый дешевый для потребителей способ погрузиться в виртуальную реальность; для нее существует множество поддерживаемых мобильных устройств и очков с низкой ценой. Несмотря на некоторые проблемы современные и будущие модели мобильных устройств достаточно мощны, чтобы обеспечивать убедительные ощущения от VR, комфортные для большинства пользователей.
Для создания графической части VR-контента на мобильных платформах можно использовать программный интерфейс OpenGL или, что значительно проще, один из визуализаторов, поддерживающих VR.
Визуализаторами, которые поддерживают разработку VR проектов, с наиболее крупными пользовательскими сообществами являются Unity и Unreal Engine. Оба этих визуализатора официально поддерживаются как Oculus SDK, так и Daydream SDK.
Несмотря на то, что у обоих визуализаторов есть исчерпывающие руководства по разработке, документация гораздо лучше у Unity, для каждого метода или класса есть пример использования. [1]
Разработка с помощью Unreal Engine осуществляется на языке С++, либо с помощью Blueprints - визуальной системы скриптинга, которая не требует знаний языков программирования. При разработке на Unity используется язык C#/UnityScript/Boo. [2]
Unreal Engine является продуктом с открытым исходным кодом, поэтому для опытных разработчиков будет полезной возможность модифицировать код визуализатора для оптимизации, а также для модификации под свои нужды или исправления каких-либо ошибок. У Unity же такой возможности нет, поэтому если возникнет ошибка со стороны визуализатора, то необходимо будет ждать следующего патча.[3]
Unreal Engine позволяет добиться лучшего качества картинки, чем Unity, но при этом, приложения на Unreal Engine в среднем занимают больше места, что довольно критично для мобильных устройств.[4] Кроме того, проекты на Unity быстрее развертываются на мобильных устройствах. Unreal Engine, в свою очередь, экономнее расходует батарею устройства.
При тестировании кадровой частоты были использованы модели деревьев (1000 многоугольников) и зданий (16000 многоугольников). По результатам видно, что у Unreal Engine производительность слегка выше, чем у Unity.
Рисунок 1. Результаты тестирования кадровой частоты
Учитывая особенности разных подходов при разработке программного обеспечения с поддержкой VR выбор технологии необходимо основывать на таких факторах: требования к продуктивности ПО, оптимальный объем потребляемых ресурсов, сложность проекта и квалифицированность программиста.
Целесообразным является использование Unreal Engine, если производительность и качество картинки критичны для ПО. Также стоит использовать Unreal Engine, если будет существовать необходимость модификации исходного кода визуализатора. Если же у проекта нет существенных требований к качеству визуальной части и более важным является легкость разработки и развертывания, то следует подумать о использовании Unity.
Литература