РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ SceneMakerVR
|
ГЛОССАРИЙ 4
ВВЕДЕНИЕ 5
1 Анализ и фиксация требований 7
1.1. Функциональные требования 7
1.2. Нефункциональные требования 7
1.3. Варианты использования 8
1.4. Анализ требований 9
1.5. Анализ существующих решений 12
2 Проектирование 15
2.1. Технологии разработки 15
2.1.1. Среда разработки Android Studio 15
2.1.2. Среда разработки Unity 15
2.2. Проектирование внутренней структуры приложения 16
2.2.1. Проектирование Unity-части приложения 18
2.2.2. Проектирование Android-части приложения 23
2.2.3. Проектирование слоя представления 24
2.2.4. Проектирование слоя модели представления 26
2.2.5. Проектирование слоя модели 28
2.3. Проектирование внешнего вида приложения 29
2.3.1. Внешний вид приложения в среде Unity 29
2.3.2. Внешний вид приложения в среде Android Studio 32
3 Реализация 34
3.1. Реализация функциональных требований 34
3.1.1. Создание комнаты 34
3.1.2. Просмотр комнат 40
3.2. Обработка действий пользователя в VR-очках 45
3.3. Работа с данными 47
3.4. Взаимодействие Android и Unity 49
ЗАКЛЮЧЕНИЕ 50
ЛИТЕРАТУРА 51
ВВЕДЕНИЕ 5
1 Анализ и фиксация требований 7
1.1. Функциональные требования 7
1.2. Нефункциональные требования 7
1.3. Варианты использования 8
1.4. Анализ требований 9
1.5. Анализ существующих решений 12
2 Проектирование 15
2.1. Технологии разработки 15
2.1.1. Среда разработки Android Studio 15
2.1.2. Среда разработки Unity 15
2.2. Проектирование внутренней структуры приложения 16
2.2.1. Проектирование Unity-части приложения 18
2.2.2. Проектирование Android-части приложения 23
2.2.3. Проектирование слоя представления 24
2.2.4. Проектирование слоя модели представления 26
2.2.5. Проектирование слоя модели 28
2.3. Проектирование внешнего вида приложения 29
2.3.1. Внешний вид приложения в среде Unity 29
2.3.2. Внешний вид приложения в среде Android Studio 32
3 Реализация 34
3.1. Реализация функциональных требований 34
3.1.1. Создание комнаты 34
3.1.2. Просмотр комнат 40
3.2. Обработка действий пользователя в VR-очках 45
3.3. Работа с данными 47
3.4. Взаимодействие Android и Unity 49
ЗАКЛЮЧЕНИЕ 50
ЛИТЕРАТУРА 51
Современные технологии предоставляют большой арсенал всевозможных устройств и технологий, которые упрощают и делают интересней повседневную жизнь. В рамках этой работы речь пойдет о технологии виртуальной реальности. Виртуальная реальность (англ. virtual reality, VR) — это генерируемая с помощью компьютера трехмерная среда, с которой пользователь может взаимодействовать, полностью или частично в неё погружаясь [3]. Возможности этой технологии почти безграничны. Она используется в таких областях, как обучение, наука, медицина, промышленный дизайн, архитектура и, конечно же, игры и развлечения.
Несмотря на широкую сферу применимости, технологии виртуальной реальности на первых порах не получили большого распространения. Причинами послужили, в основном, дороговизна оборудования (специализированные шлемы и гарнитуры), а также почти полное отсутствие приложений и системного обеспечения. Но на сегодняшний день, производство в сфере VR набирает обороты и на рынке уже есть конкуренты, из-за чего падает цена на оборудование и возможность погрузиться в новый мир становиться доступнее. А также существует множество компаний, которые интересуются этими технологиями и проводят исследования в этой области.
Однако, кроме шлемов для VR, которые нуждаются в дополнительном оборудовании, существует ещё более доступный способ испытать на себе возможности виртуальной реальности - мобильный телефон. По статистике 2018 года обладатели смартфонов составляют больше половины от населения планеты [4]. К тому же, специальные очки для мобильной VR стоят гораздо меньше компьютерного аналога. Например, Google Cardboard сделана, по большей части, из картона, что определенно повышает доступность подобного аппарата.
Несмотря на доступность мобильной реализации виртуальной реальности, рынок приложений всё ещё достаточно однообразен. Приложения, в большинстве своем, делятся на несколько категорий: просмотр видео — лидирующая категория; симуляторы аттракционов; простейшие игры [5]. Но не всё потеряно, поскольку многие разработчики занимаются этой сферой. Таким образом, разработка приложения с использованием виртуальной реальности является актуальной проблемой.
Теперь поговорим о системе, на которой будет работать разрабатываемое приложение. Система Android была выбрана не случайно, одной из причин послужило широкое распространение Android-устройств. Например, за 2017 год доля проданных устройств составила 85,9% от общего количества [6]. Цифра довольно внушительная, поэтому можно с уверенностью заявить, что выбор OC Android покроет большую часть пользователей.
Погружение в виртуальную реальность — это определенный опыт, который невозможно получить другим способом. Целью настоящей работы является разработка мобильного приложения “SceneMakerVR” для OC Android. Это приложение позволит пользователям собственноручно создавать свои комнаты (см. глоссарий), которые можно просмотреть с помощью VR-очков для мобильных устройств. Для достижения этой цели были поставлены следующие задачи:
1. Сформулировать требования к приложению.
2. Проанализировать существующие решения.
3. Изучить способы работы с VR и выбрать среду разработки.
4. Спроектировать и реализовать приложение.
Несмотря на широкую сферу применимости, технологии виртуальной реальности на первых порах не получили большого распространения. Причинами послужили, в основном, дороговизна оборудования (специализированные шлемы и гарнитуры), а также почти полное отсутствие приложений и системного обеспечения. Но на сегодняшний день, производство в сфере VR набирает обороты и на рынке уже есть конкуренты, из-за чего падает цена на оборудование и возможность погрузиться в новый мир становиться доступнее. А также существует множество компаний, которые интересуются этими технологиями и проводят исследования в этой области.
Однако, кроме шлемов для VR, которые нуждаются в дополнительном оборудовании, существует ещё более доступный способ испытать на себе возможности виртуальной реальности - мобильный телефон. По статистике 2018 года обладатели смартфонов составляют больше половины от населения планеты [4]. К тому же, специальные очки для мобильной VR стоят гораздо меньше компьютерного аналога. Например, Google Cardboard сделана, по большей части, из картона, что определенно повышает доступность подобного аппарата.
Несмотря на доступность мобильной реализации виртуальной реальности, рынок приложений всё ещё достаточно однообразен. Приложения, в большинстве своем, делятся на несколько категорий: просмотр видео — лидирующая категория; симуляторы аттракционов; простейшие игры [5]. Но не всё потеряно, поскольку многие разработчики занимаются этой сферой. Таким образом, разработка приложения с использованием виртуальной реальности является актуальной проблемой.
Теперь поговорим о системе, на которой будет работать разрабатываемое приложение. Система Android была выбрана не случайно, одной из причин послужило широкое распространение Android-устройств. Например, за 2017 год доля проданных устройств составила 85,9% от общего количества [6]. Цифра довольно внушительная, поэтому можно с уверенностью заявить, что выбор OC Android покроет большую часть пользователей.
Погружение в виртуальную реальность — это определенный опыт, который невозможно получить другим способом. Целью настоящей работы является разработка мобильного приложения “SceneMakerVR” для OC Android. Это приложение позволит пользователям собственноручно создавать свои комнаты (см. глоссарий), которые можно просмотреть с помощью VR-очков для мобильных устройств. Для достижения этой цели были поставлены следующие задачи:
1. Сформулировать требования к приложению.
2. Проанализировать существующие решения.
3. Изучить способы работы с VR и выбрать среду разработки.
4. Спроектировать и реализовать приложение.
Возникли сложности?
Нужна помощь преподавателя?
Помощь в написании работ!
В рамках данной работы были выполнены все задачи:
- сформулированы требования к приложению;
- проведен анализ существующих решений;
- изучены способ разработки приложений для мобильной виртуальной реальности и выбраны инструменты для разработки;
- приложение было спроектировано и позже реализовано.
Для выполнения реализации были изучены основы создания приложений с помощью Unity, а также был найден способ совместить приложения из Unity и Android Studio.
Таким образом, цель работы - разработать мобильное приложение “SceneMakerVR” для OC Android, была достигнута.
Приложение может использоваться в образовательных целях, а так же для личного пользования.
- сформулированы требования к приложению;
- проведен анализ существующих решений;
- изучены способ разработки приложений для мобильной виртуальной реальности и выбраны инструменты для разработки;
- приложение было спроектировано и позже реализовано.
Для выполнения реализации были изучены основы создания приложений с помощью Unity, а также был найден способ совместить приложения из Unity и Android Studio.
Таким образом, цель работы - разработать мобильное приложение “SceneMakerVR” для OC Android, была достигнута.
Приложение может использоваться в образовательных целях, а так же для личного пользования.
1. Как работают очки виртуальной реальности [Электронный ресурс] // Vrmania.ru- Электрон. дан. - [Б. м., б. г.]. - URL:https://vrmania.ru/stati/kak-rabotayut-ochki-virtualnoj-realnosti.html(дата обращения: 11.02.2019)
2. Префабы (Prefabs) [Электронный ресурс] // Docs.unity3d.com- Электрон. дан. - [Б.
м.], 2015. - URL: https ://docs.unity3 d. com/ru/530/Manual/Prefabs. html (дата
обращения: 11.02.2019)
3. Что такое виртуальная реальность: свойства, классификация, оборудование —
подробный обзор области [Электронный ресурс] // Tproger.ru- Электрон. дан. - [Б. м., б. г.]. - URL:https://tproger.ru/translations/vr-explained/(дата обращения:
12.02.2019)
4. Цифра дня: Сколько пользователей смартфонов в мире? [Электронный ресурс] //
Ferra.ru - Электрон. дан. - [Б. м., б. г.]. - URL:
https://www.ferra.ru/news/mobile/smartphone-penetration-rate-worldwide-26-06-2018.htm(дата обращения: 12.02.2019)
5. Google Play страница поиска по результату “VR” [Электронный ресурс] //
Play.google.com- Электрон. дан. - [Б. м.], 2019. - URL:
https://play.google.com/store/search?q=VR&c=apps(дата обращения: 11.02.2019)
6. iOS и Android занимают уже 99,9% рынка мобильных ОС [Электронный ресурс] //
Ixbt.com- Электрон. дан. - [Б. м.], 1997 - 2019 - URL:
https://www.ixbt.com/news/2018/02/24/ios-android-99-9.html (дата обращения:
11.02.2019)
7. История версий Android [Электронный ресурс] // Википедия: свободная
энцикл. - Электрон. дан. - [Б. м.], 2012. - URL:
https://ru.wikipedia. org/wiki/%D0%98%D 1%81 %D 1%82%D0%BE%D 1 %80%D0%B8%D 1%8F%D0%B2%D0%B5%D 1%80%D 1 %81%D0%B8%D0%B9 Android (дата
обращения: 12.02.2019)
8. Sites in VR [Электронный ресурс] // Play.google.com - Электрон. дан. - [Б. м., б. г.]. -
URL: https://play.google.com/store/apps/details?id=air.com.ercangigi.sitesin3d(дата
обращения: 27.03.2019)
9. Expeditions [Электронный ресурс] // Play.google.com- Электрон. дан. - [Б. м., б. г.]. -
URL: https://play.goo gle. com/store/apps/details? id=com.google.vr. expeditions (дата обращения: 27.03.2019)
10. Android Studio [Электронный ресурс] // Википедия: свободная энцикл. - Электрон. дан. - [Б. м.], 2012. - URL:https://ru.wikipedia.org/wiki/Android Studio(дата обращения: 27.03.2019)
11. Unity (игровой движок) [Электронный ресурс] // Википедия: свободная энцикл.-
Электрон дан - [Б. м.], 2012. - URL:
https://ru.wikipedia.org/wiki/Unity (%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D0%BE%D0%B9 %D0%B4%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA) (дата
обращения: 27.03.2019)
12. Quickstart for Google VR SDK for Unity with Android [Electronic resource] //
Developers.google.com- Electronic data. - [S. l., s. a.]. - URL:
https://developers.google.com/vr/develop/unity/get-started-android (access date:
11.02.2019)
13. Реализовываем MVVM в Android [Электронный ресурс] // Stfalcon.com - Электрон.
дан. - [Б. м., б. г.] - URL:https://stfalcon.com/ru/blog/post/android-mvvm(дата
обращения: 11.02.2019)
14. Object [Electronic resource] // Docs.unity3d.com- Electronic data. - [S. l.], 2015. - URL: https://docs.unity3d.com/ScriptReference/Object.html(access date: 27.03.2019)
15. GameObject [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. - URL:https://docs.unity3d.com/ru/530/ScriptReference/GameObject.html(access date: 27.03.2019)
16. Component [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. -
URL: https://docs.unity3d.com/ScriptReference/Component.html(access date:
27.03.2019)
17. Transform [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. -
URL: https://docs.unity3d.com/ScriptReference/Transform.html(access date:
27.03.2019)
18. Behaviour [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. -
URL: https://docs.unity3d.com/ScriptReference/Behaviour.html(access date:
27.03.2019)
19. MonoBehaviour [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.],
2015. - URL:https://docs.unity3d.com/ScriptReference/MonoBehaviour.html(access
date: 27.03.2019)
20. Order of Execution for Event Functions [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. - URL:
https://docs.unity3d.com/Manual/ExecutionOrder.html(access date: 27.03.2019)
21. Скриптуемый объект (ScriptableObject) [Электронный ресурс] // Docs.unity3d.com- Электрон. дан. - [Б. м.], 2015. - URL:https://docs.unity3d.com/ru/current/Manual/class-ScriptableObject.html(дата обращения: 27.03.2019)
22. Beloosesky D. Embedded Unity within Android App [Electronic resource] //
Medium.com- Electronic data. - [S. l., s. a.]. - URL:
https://medium.com/@davidbeloosesky/embedded-unity-within-android-app-7061f4f473a(access date: 11.02.2019 )
23. Activity [Электронный ресурс] // Developer.android.com - Electronic data. - [S. l., s.
а. ]. - URL:https://developer.android.com/reference/android/app/Activity(access date: 27.03.2019)
24. Фрагменты [Электронный ресурс] // Developer.android.com - Электрон. дан. - [Б. м., б. г.]. - URL:https://developer.android.com/guide/components/fragments.html?hl=ru
(дата обращения: 27.03.2019)
25. Диалоговые окна [Электронный ресурс] // Developer.android.com- Электрон. дан. - [Б. м., б. г.]. - URL:https://developer.android.com/guide/topics/ui/dialogs?hl=RU(дата обращения: 27.03.2019)
26. Объекты Intent и фильтры объектов Intent [Электронный ресурс] //
Developer.android.com- Электрон. дан. - [Б. м., б. г.]. - URL:
https://developer.android.com/guide/components/intents-filters?hl=ru(дата обращения: 27.03.2019)
2. Префабы (Prefabs) [Электронный ресурс] // Docs.unity3d.com- Электрон. дан. - [Б.
м.], 2015. - URL: https ://docs.unity3 d. com/ru/530/Manual/Prefabs. html (дата
обращения: 11.02.2019)
3. Что такое виртуальная реальность: свойства, классификация, оборудование —
подробный обзор области [Электронный ресурс] // Tproger.ru- Электрон. дан. - [Б. м., б. г.]. - URL:https://tproger.ru/translations/vr-explained/(дата обращения:
12.02.2019)
4. Цифра дня: Сколько пользователей смартфонов в мире? [Электронный ресурс] //
Ferra.ru - Электрон. дан. - [Б. м., б. г.]. - URL:
https://www.ferra.ru/news/mobile/smartphone-penetration-rate-worldwide-26-06-2018.htm(дата обращения: 12.02.2019)
5. Google Play страница поиска по результату “VR” [Электронный ресурс] //
Play.google.com- Электрон. дан. - [Б. м.], 2019. - URL:
https://play.google.com/store/search?q=VR&c=apps(дата обращения: 11.02.2019)
6. iOS и Android занимают уже 99,9% рынка мобильных ОС [Электронный ресурс] //
Ixbt.com- Электрон. дан. - [Б. м.], 1997 - 2019 - URL:
https://www.ixbt.com/news/2018/02/24/ios-android-99-9.html (дата обращения:
11.02.2019)
7. История версий Android [Электронный ресурс] // Википедия: свободная
энцикл. - Электрон. дан. - [Б. м.], 2012. - URL:
https://ru.wikipedia. org/wiki/%D0%98%D 1%81 %D 1%82%D0%BE%D 1 %80%D0%B8%D 1%8F%D0%B2%D0%B5%D 1%80%D 1 %81%D0%B8%D0%B9 Android (дата
обращения: 12.02.2019)
8. Sites in VR [Электронный ресурс] // Play.google.com - Электрон. дан. - [Б. м., б. г.]. -
URL: https://play.google.com/store/apps/details?id=air.com.ercangigi.sitesin3d(дата
обращения: 27.03.2019)
9. Expeditions [Электронный ресурс] // Play.google.com- Электрон. дан. - [Б. м., б. г.]. -
URL: https://play.goo gle. com/store/apps/details? id=com.google.vr. expeditions (дата обращения: 27.03.2019)
10. Android Studio [Электронный ресурс] // Википедия: свободная энцикл. - Электрон. дан. - [Б. м.], 2012. - URL:https://ru.wikipedia.org/wiki/Android Studio(дата обращения: 27.03.2019)
11. Unity (игровой движок) [Электронный ресурс] // Википедия: свободная энцикл.-
Электрон дан - [Б. м.], 2012. - URL:
https://ru.wikipedia.org/wiki/Unity (%D0%B8%D0%B3%D1%80%D0%BE%D0%B2%D0%BE%D0%B9 %D0%B4%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA) (дата
обращения: 27.03.2019)
12. Quickstart for Google VR SDK for Unity with Android [Electronic resource] //
Developers.google.com- Electronic data. - [S. l., s. a.]. - URL:
https://developers.google.com/vr/develop/unity/get-started-android (access date:
11.02.2019)
13. Реализовываем MVVM в Android [Электронный ресурс] // Stfalcon.com - Электрон.
дан. - [Б. м., б. г.] - URL:https://stfalcon.com/ru/blog/post/android-mvvm(дата
обращения: 11.02.2019)
14. Object [Electronic resource] // Docs.unity3d.com- Electronic data. - [S. l.], 2015. - URL: https://docs.unity3d.com/ScriptReference/Object.html(access date: 27.03.2019)
15. GameObject [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. - URL:https://docs.unity3d.com/ru/530/ScriptReference/GameObject.html(access date: 27.03.2019)
16. Component [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. -
URL: https://docs.unity3d.com/ScriptReference/Component.html(access date:
27.03.2019)
17. Transform [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. -
URL: https://docs.unity3d.com/ScriptReference/Transform.html(access date:
27.03.2019)
18. Behaviour [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. -
URL: https://docs.unity3d.com/ScriptReference/Behaviour.html(access date:
27.03.2019)
19. MonoBehaviour [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.],
2015. - URL:https://docs.unity3d.com/ScriptReference/MonoBehaviour.html(access
date: 27.03.2019)
20. Order of Execution for Event Functions [Electronic resource] // Docs.unity3d.com - Electronic data. - [S. l.], 2015. - URL:
https://docs.unity3d.com/Manual/ExecutionOrder.html(access date: 27.03.2019)
21. Скриптуемый объект (ScriptableObject) [Электронный ресурс] // Docs.unity3d.com- Электрон. дан. - [Б. м.], 2015. - URL:https://docs.unity3d.com/ru/current/Manual/class-ScriptableObject.html(дата обращения: 27.03.2019)
22. Beloosesky D. Embedded Unity within Android App [Electronic resource] //
Medium.com- Electronic data. - [S. l., s. a.]. - URL:
https://medium.com/@davidbeloosesky/embedded-unity-within-android-app-7061f4f473a(access date: 11.02.2019 )
23. Activity [Электронный ресурс] // Developer.android.com - Electronic data. - [S. l., s.
а. ]. - URL:https://developer.android.com/reference/android/app/Activity(access date: 27.03.2019)
24. Фрагменты [Электронный ресурс] // Developer.android.com - Электрон. дан. - [Б. м., б. г.]. - URL:https://developer.android.com/guide/components/fragments.html?hl=ru
(дата обращения: 27.03.2019)
25. Диалоговые окна [Электронный ресурс] // Developer.android.com- Электрон. дан. - [Б. м., б. г.]. - URL:https://developer.android.com/guide/topics/ui/dialogs?hl=RU(дата обращения: 27.03.2019)
26. Объекты Intent и фильтры объектов Intent [Электронный ресурс] //
Developer.android.com- Электрон. дан. - [Б. м., б. г.]. - URL:
https://developer.android.com/guide/components/intents-filters?hl=ru(дата обращения: 27.03.2019)
Работу высылаем на протяжении 30 минут после оплаты.



