Вы находитесь на странице: 1из 26

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение


высшего образования
«МИРЭА – Российский технологический университет»
РТУ МИРЭА

Институт информационных технологий (ИТ)


Кафедра инструментального и прикладного программного
обеспечения (ИиППО)

КУРСОВАЯ РАБОТА
по дисциплине: Компьютерная графика
по профилю: Разработка программных продуктов и проектирование
информационных систем
направления профессиональной подготовки: 09.03.04 «Программная
инженерия»

Тема: «Создание программного приложения в среде виртуальной реальности


Unity по чертежу (вариант №69)»

Студент: Крючков Матвей Романович


Группа: ИКБО-01-17
Работа представлена к защите __________ (дата) ________/ Крючков М.Р. /

Руководитель: ________________ доцент Болбаков Р.Г.

Работа допущена к защите _______ (дата) ______/ Болбаков Р.Г. /

Оценка по итогам защиты: __________


_______________ / ________________________________________ /
_______________ / ________________________________________ /
(подписи, дата, ф.и.о., должность, звание, уч. степень двух преподавателей, принявших
защиту)

М. МИРЭА. 2020г.
УДК 004.5

Крючков М.Р. " Создание программного приложения в среде виртуальной


реальности Unity по чертежу (вариант №69)" / Курсовая работа по дисциплине
«Компьютерная графика» профиля «Разработка программных продуктов и
проектирование информационных систем» направления профессиональной
подготовки магистратуры 09.03.04 «Программная инженерия» (6ой семестр) /
руководитель доцент Болбаков Р.Г. / кафедра ИППО Института ИТ МИРЭА –
с. 31, табл. 5, илл.3, ист. 9, (в т.ч. 2 на англ. яз.).

Целью работы является разработка цифровой модели дома по чертежу и


интеграция её в среду виртуальной реальности Unity.

В рамках работы осуществлены анализ предметной области,


проектирование и разработка цифровой модели, оснащение виртуальной сцены,
написание скриптов и доработка приложения.

Krychukov M.R. " Creating a software application in the Unity virtual reality
environment according to the drawing (option No. 69)" Coursework in the discipline
“Computer graphics” of the profile “Development of software products and
information systems design” in the direction of professional education for bachelor
degree 09.03.04. "Software Engineering" (6th semester) / associate professor
Bolbakov R.G. / department IPPO of institute IT RTU MIREA.

The aim of the work is to develop a digital model of the house according to
the drawing and integrate it into the Unity virtual reality environment.

As part of the work, an analysis of the subject area, design and development of
a digital model, equipping a virtual scene, writing scripts and finalizing the
application were carried out.

М. МИРЭА. Ин-т ИТ. Каф. ИиППО. 2019 г. Крючков М.Р.


СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ
- ПО – Программное обеспечение
- UI – User Interface
- ЯП – Язык программировани
СОДЕРЖАНИЕ
СПИСОК ИСПОЛЬЗУЕМЫХ СОКРАЩЕНИЙ 0

СОДЕРЖАНИЕ 0

ВВЕДЕНИЕ 5

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 6

1.1 Описание предметной области 6

1.2 Анализ аналогов разрабатываемого приложения 6

1.3 Выводы к разделу 1 7

2. МЕТОДОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЯ 8

2.1 Выбор среды разработки 8

2.2 Выбор среды моделирования 8

2.2 Выбор инструментов и функций 8

2.3 Выводы к разделу 2 9

3. РАЗРАБОТКА ЦИФРОВОГО ДВОЙНИКА 10

3.1 Создание проекта в 3ds Max 10

3.2 Создание проекта в Unity 18

ЗАКЛЮЧЕНИЕ 24

ИСТОЧНИКИ 25
ВВЕДЕНИЕ
В качестве курсовой работы была выбрана тема «Создание программного
приложения в среде виртуальной реальности Unity по чертежу (вариант №69)».
Чертёж приведён на рисунке 1.

Рисунок 1. Чертёж варианта №69.

Чертёж обладает достаточной информацией для разработки точной


модели. Однако нам не даны некоторые данные, такие как толщина стен и
ширина/высота дверей и окон, поэтому реализация будет выполнена с
некоторыми помарками.
Созданный двойник будет применён в приложении, созданном в
межплатформенной среде разработки компьютерных игр Unity [1].

5
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1 Описание предметной области

Предметной областью для данной курсовой работы является тема


создания компьютерной графики. КГ содержит такие функции над
виртуальным объектом как формирование формы, изменение цвета и текстуры,
другие свойства, рендеринг сцены, создание анимации. Существует множество
ПО для создания компьютерных моделей и чертежей:
- 3ds Max [2];
- Blender [3];
- Autodesk Maya [4];
- КОМПАС-3D [5];
- и другие.
Данные программы используются для разработки моделей, которые в
последствии будут использоваться в сторонних приложениях. Не многие
приложения имеют функцию создания анимаций и поддержка текстур и их
настройка.
В нашем случае финальный результат должен быть реализован в Unity,
поэтому наиболее удобным приложением был выбран 3ds Max, в котором будет
разработана модель, которая будет конвертирована в формат “.fbx” и
импортирована в Unity для написания конечного результата.

1.2 Анализ аналогов разрабатываемого приложения

Конечным результатом является интерактивная сцена с домом,


созданным по чертежу из задания. Аналоги разрабатываемой модели не были
обнаружены в интернете, хотя в открытом доступе существует различные
модели домов и апартаментов, но ни один не подходит к данному нам.

6
1.3 Выводы к разделу 1

В данном разделе были определены задачи курсовой работы,


проанализированы аналоги приложения. В результате будет создано
виртуальная сцена с цифровым двойником модели дома, с которым будет
возможность взаимодействовать.

7
2. МЕТОДОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЯ

2.1 Выбор среды разработки

По заданию в качестве среды разработки будет использоваться Unity,


потому что это данная программа позволяет нам наиболее качественно и быстро
реализовывать модели исходя из наших задач.
Так же для написания скриптов для тех или иных задач использовалось
Visual Studio/Sublime Text.

2.2 Выбор среды моделирования

Средой моделирования был выбран 3ds Max так как является наиболее
удобным средством для моделирования на Windows исходя из личного опыта,
а также имеет нужную нам функцию для импорта реализованной модели в
формат “.fbx”.

2.2 Выбор инструментов и функций

Для создания нужного нам цифрового двойника мы воспользуемся


такими функциями 3ds Max как:
- Группировка объектов (стены, интерьер, окна, двери и т.п.) в
соответствующие коллекции.
- Модификатор Boolean для создания дверных проемов и оконных
рам.
- Модификатор Extrude для выдавливания полигонов и ребер.
- Модификатор Array для создания множественных копий объектов
на нужном нам расстоянии.
Разработка виртуальной сцены будет происходить в Unity - это мощная
платформа для разработки, и список используемых функций приведён ниже.

8
- Возможность использования разработанных шейдеров для
визуализации текстур.
- Встроенные средства реализации физических взаимодействий и
освещения(realtime/mixed/baked).
- Аналогичный функционал иерархической группировки объектов
для упрощения процесса разработки.

2.3 Выводы к разделу 2

В данном разделе были определены среды моделирования и разработки,


инструменты реализации модели, и функции нужные для разработки работы.

9
3. РАЗРАБОТКА ЦИФРОВОГО ДВОЙНИКА

3.1 Создание проекта в 3ds Max

Первым этапом создание цифрового двойника является создание самой


модели дома. Для начала создадим чистый plane по размерам исходного
чертежа, применим на него текстуру чертежа, чтобы в дальнейшем создавать
стены и прочие элементы дома. Чертеж на сцене представлен на рисунке 1.

Рисунок 1. Чертеж дома наложенный на plane.


После этого приступаем к созданию внешних и внутренних стен дома.
Для этого мы обводим по контуру все стены и вытягиваем их до нужной нам
высоты и примерной толщины. Результат можем наблюдать на рисунке 2.

10
Рисунок 2. Стены дома, сгруппированные в коллекцию.
Далее приступаем к реализации основания дома и его крыши и крыльца.
Версия дома с крышей и фундаментом показана на рисунке 3.

Рисунок 3. Изображение дома с крышей и фундаментом.

11
Следующим шагом было решено украсить крыльцо и добавить туда забор с
помощью функции Array, а так же ступеньки, чтобы потом было удобно
подниматься моделью в Unity. Крыльцо показано на рисунке 4.

Рисунок 4. Крыльцо с Perspective вида.


Далее оставалось создать двери, ручки, окна и оконные рамы. Для данных задач
использовались объекты Box и примененные на них функции Booleanи Extrude.
Процесс создания показан на рисунках 5, 6 и 7.

12
Рисунок 5. Создание дверей в доме.

Рисунок 6. Окно в оконной раме.

13
Рисунок 7. Версия дома с окнами и дверьми.
Оставалось только создать интерьер комнат. Начав с котельной и сделав
там цифровую версию бойлера, которая представлена на рисунке 8.

Рисунок 8. Цифровая версия бойлера в котельной.

14
После были созданы объекты для других комнат, такие как шкафы,
стулья, полки, диваны и кровати, ванная. Версия с интерьером представлена на
рисунке 9.

Рисунок 9. Интерьер дома.


Остался последний шаг добавление текстур на объекты дома, данный
результат изображен на рисунках 10, 11 и 12.

15
Рисунок 10. Обшивка дома.

16
Рисунок 11. Наложенные текстуры на интерьер.

Рисунок 12. Логика связей текстур.

17
3.2 Создание проекта в Unity

Следующим этапом было сохранение модели дома в “.fbx” и


импортирование в Unity для создание сцены, в которой будет возможность
взаимодействовать. Результат импортирования представлен на рисунке 13.

Рисунок 13. Цифровая модель дома в Unity.


После было решено добавить текстуру травы для более реалистичного
вида дома на сцене. Подобрав наиболее приближенные параметры к
реалистичным, они были нанесены на сцену с помощью кистей. Результат
показан на рисунке 14.

18
Рисунок 14. Нанесение травы на сцену.
Следующим шагом было создание анимаций для открытия и закрытия
дверей. Реализация выбора опоры двери и прописания логики анимации
представлено на рисунках 15 и 16.

Рисунок 15. Анимация двери с таймлайном.

19
Рисунок 16. Логика открытия дверей.
После этого протестировав как это выглядит изнутри нужно было
добавить света внутри комнат. Для этого были добавлены источники света и
поэкспериментировав, и изучив различия в типах света в Unity было решено
использовать Mixed mode для объектов сцены, а также настроены параметры
света для красоты вида. Источник света представлен в виде лампы на рисунке
17, а также настройки на рисунке 18.

20
Рисунок 17. Источник света в виде лампы.

21
Рисунок 18. Настройки света в Unity.

22
Далее оставалось добавить UI элемент меню для удобного запуска
приложения и его прекращения. Настройка UI показана на рисунке 19. А так же
скрипт для меню на рисунке 20.

Рисунок 19. UI Menu

23
Рисунок 20. Скрипт меню.

ЗАКЛЮЧЕНИЕ
По итогам работы, были достигнуты следующие цели:
- был создан трёхмерный объект;
- реализована виртуальная сцена с возможностью взаимодействия.

В рамках достижения данных целей были выполнены следующие задачи:


- была создана модель дома в соответствии с предоставленным
чертежом;
- для модели были созданы необходимые материалы;
- разработано приложение со сценой виртуальной реальности, на
которой находится модель дома;
- разработаны необходимые скрипты для организации перемещения
игрока и его взаимодействия с окружением.

24
ИСТОЧНИКИ
1. Unity, платформа разработки в реальном времени | 3D-, 2D- VR- и
AR-визуализации [Электронный ресурс]. – Режим доступа: https://unity.com/ru.
– Заглавие с экрана. – (Дата обращения: 10.05.2020).
2. Ускорение выполняемых вручную действий для повышения
производительности [Электронный ресурс]. – Режим доступа:
https://www.autodesk.ru/products/3ds-max. – Заглавие с экрана. – (Дата
обращения: 13.05.2020).
3. blender.org - Home of the Blender project - Free and Open 3D Creation
Software [Электронный ресурс]. – Режим доступа: https://www.blender.org. –
Заглавие с экрана. – (Дата обращения: 13.05.2020).
4. Maya | Программа для компьютерной анимации и моделирования
[Электронный ресурс]. – Режим доступа: https://www.autodesk.ru/products/maya.
– Заглавие с экрана. – (Дата обращения: 13.05.2020).
5. КОМПАС-3D v18. Инструмент со3Dателя — официальный сайт
САПР КОМПАС [Электронный ресурс]. – Режим доступа: https://kompas.ru/. –
Заглавие с экрана. – (Дата обращения: 13.05.2020).
6. Васильев В. Е., Морозов А.В. Компьютерная графика: учеб.
пособие. – СПб.: СЗТУ, 2005 – 101 с.
7. Дёмин А.Ю. Основы компьютерной графики: учебное пособие /
А.Ю. Дёмин; Томский политехнический университет. – Томск: Изд-во
Томского политехнического университета, 2011. – 191 с..
8. Казакова Н.Ю. Гейм-дизайн : художественно-проектный подход к
созданию цифровой игровой среды: Автореф… дис. кан. наук. – М.: 2017. – 497
с.
9. Миловская О.С. Max 2018 и 2019. Дизайн интерьеров и
архитектуры. СПб.: Питер, 2019.

25
10. Доцент В.Н. Быкова, доцент Г.Д. Мефодьева, доцент Л.Я.
Мефодьева, д.т.н, профессор В.И. Сединин Инженерная и компьютерная
графика: Учебное пособие / СибГУТИ. Новосибирск, 2010 290 с
11. Горелик А. Г. Г68 Самоучитель 3ds Max 2016. — СПб.: БХВ-
Петербург, 2016. — 528 с.: ил. — (Самоучитель)
12. Тозик, В. Т. Т50 3ds Max. Трехмерное моделирование и анимация
на примерах / В. Т. Тозик, А. В. Меженин, К. А. Звягин. — СПб.: БХВ-
Петербург, 2008. — 880 с.: ил.
13. Тимофеев Сергей. 3ds Max 2014 БХВ-Петербург, 2013 - 512 с
14. Terry Norton Learning C# by Developing Games with Unity 3D- Packt
Publishing, 2013
15. Яцюк О. Основы графического дизайна на базе компьютерных
технологий. - СПб.: BHV, 2008 – 350с.

26